iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
AI & Data

人類學習機器學習的學習筆記 with Python系列 第 16

Day16 分類(Classification)(4)-- 線性判別分析( Linear Discriminant Analysis)

  • 分享至 

  • xImage
  •  

前言與介紹

在分類問題中除了邏輯斯迴歸模型外,還有另一種常用的方法為線性判別分析(Linear discriminant analysis, LDA),主要概念是利用貝氏定理(Bayes theorem)的想法來進行分類。假設總共有K個類別,例如以下的式子:
https://ithelp.ithome.com.tw/upload/images/20220924/20151276chinlH8cMR.png

  • https://chart.googleapis.com/chart?cht=tx&chl=P(G%3Dk%7CX%3Dx)為後驗機率(posterior probability)
  • https://chart.googleapis.com/chart?cht=tx&chl=f_k(x)為解釋變數X在第k類中的機率密度函數(pdf)
  • https://chart.googleapis.com/chart?cht=tx&chl=%5Cpi_k為第k類的先驗機率(prior probability)
  • https://chart.googleapis.com/chart?cht=tx&chl=%5Csum_%7Bk%3D1%7D%5EK%20%5Cpi_k%20%3D%201
    利用此定義下的貝氏定理來分類的方法還有Quadractic discriminant analysis (QDA)與Naive Bayes model等,這些方法在於對機率密度函數(pdf)的假設不同。

線性判別分析(Linear Discriminant Analysis)

在LDA中假設機率密度函數(pdf)服從多維度常態分佈(multivariate normal distribution, MVN),也就是假設每個類別中的解釋變數服從MVN,且要求每類之間的共變異數(covariace)一樣:
https://ithelp.ithome.com.tw/upload/images/20220924/20151276YmBfqkUXAX.png
https://ithelp.ithome.com.tw/upload/images/20220924/20151276GJ3mG32q3C.png
由這兩個假設後,可以比較特定兩個類別k, l的情況:
https://ithelp.ithome.com.tw/upload/images/20220924/20151276HM7s9GlJ4C.png
可以由大於0或小於0來判斷哪一個類別可能性較大,其判斷式為x的線性函數


結語

LDA的判斷式與邏輯斯迴歸模型的形式非常相似,不過LDA針對每一類資料多了多維度常態分佈的假設。當每個類別資料經檢查或檢定後與常態相似且樣本數較小時,LDA表現會比邏輯斯迴歸更好,但一般來說邏輯斯迴歸模型因為假設較少,因此可能會更符合一般的情況。當決策邊界(用以分割資料來分類的邊線)為線性時,LDA與邏輯斯迴歸模型表現會不錯。決策邊界非線性時,QDA與Naive Bayes表現較好。然而,若決策邊界較複雜時,無母數(nonparametric)的KNN會有較佳的表現。


上一篇
Day15 分類(Classification)(3)-- Python建立邏輯斯迴歸模型
下一篇
Day17 分類(Classification)(5)-- Python建立線性判別分析(LDA)模型
系列文
人類學習機器學習的學習筆記 with Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言