為什麼機器學習的分類器用logistic模型?
能不能從數學的角度去解釋why....或者只要能理解就行
不是非得用 Logistic 函數,其它從 0 到 1 光滑單調遞增的函數也可以用。但為什麼都在用 Logistic 呢?
簡單地說,這是由廣義線性模型推導出來的函數。題主只看到分類器用了 Logistic 模型來解決問題,忽視了這背後的概率假設,所以會有這種困惑。先確定下,這裡的分類器為二分類器,如果是多分類器,概率分布就不一樣了。這裡二分類器的假設是,給定 x 後,y 是符合伯努利分布的。對於不同的 x 值,y 就符合不同均值的伯努利分布。
舉一個郵件分類的例子,要將郵件分為垃圾郵件和非垃圾郵件,當檢測到郵件中包含的字詞時,即確定了 x,那麼這郵件是垃圾的概率是多少,即 y 為 1 的概率是多少,這時 y 就是一個由 x 決定的伯努利分布。這個概率就是 y 的伯努利分布的均值。伯努利分布的唯一參數是 ,也是期望。p(y;)=
說 x 決定 y 的伯努利分布,其實 x 就是通過 來決定 y 的分布的。如何把 x 映射到 ,什麼樣的 x 對應什麼樣的 ,這是需要通過訓練集來學習的,學習到的參數記作 。那麼,、 和 x 的函數關係是什麼呢?先給答案再解釋。
這就是所謂的 Logistic 模型。
這個模型怎麼來的?簡單地說,就是套用廣義線性模型得來的。(至於為什麼伯努利模型要套用到廣義線性模型中,是因為廣義線性模型有許多優良的屬性,如易學習性,而且廣義線性模型使我們可以導出許多優雅的學習演算法類,對建模許多不同的分布都非常有效,如多項式分布、泊松分布、伽馬分布、指數分布、貝塔分布和 Dirichlet 分布等)廣義線性模型要求概率分布屬於指數分布簇,伯努利模型屬於指數分布簇,凡是概率能寫成以下形式的都是指數分布簇。
把上面的伯努利概率模型修改成這種形式,可得:
其中:
可以看到 的定義就是個 Logistic 函數了。
在廣義線性模型中,,可得前面 的 Logistic 公式。想深入了解 Logistic 模型,務必要了解廣義線性模型。
參考資料:1、http://cs229.stanford.edu/notes/cs229-notes1.pdf
本人做分類預測模型就極度喜歡使用logistic模型。我感覺logistic模型的優點有如下:1)logistic是線性模型,在相同的條件下線性模型的穩定要優於非線性模型;2)logistic模型的效果評價除了驗證數據集外,還有統計學的驗證,感覺更嚴謹;3)logistic是基於統計學原理的,更容易讓統計和數學背景的人接受;4)模型參數的解釋更科學,比如某變數的影響直接用發生比就能解釋;5)計算量可以接受,且代碼到處都能找到。
線性回歸擬合的是輸出,logistic擬合的是概率,線性回歸輸出可以是負無窮到正無窮,但是概率只能是0~1,所以要加歸一化的sigmoid。
把我另外一個回答搬過來了。logistic這個奇葩函數不是YY出來的,主要還是假設sample服從伯努利分布,最大化log likelihood函數(對其求導)後推到出的假設函數。具體推倒過程請參考http://cs229.stanford.edu/notes/cs229-notes1.pdf
感覺 @午後陽光 說得很好了,補充一下自己的觀點,如果不對請指正
Logisticfunction
(a) 很優美。這個函數不但能把輸入映射到0-1之間,而且這種中間陡峭的性質使得只有少數樣本在0附近。(b) 便於求導
這樣使得模型的求解和實現更加方便上面的人解釋過了,就是要找個函數,把線性模型的負無窮到正無窮輸出映射到0-1上。
為何要採用logistic sigmoid來映射?有個簡單的解釋:定義a為:
分類1的likelihood乘先驗概率,比上分類2的likelihood乘先驗概率,比完之後再求對數。(為啥要求對數?這畢竟是個比值嘛,求對數是很正常的思路)則分類1的後驗概率就是sigmoid(a)如下圖(來自PRML)推薦閱讀:
※信息熵是什麼?
※微博數據分析,已經有了JSON格式的爬蟲數據,如何做數據分析呢?
※醫療大數據的分析和挖掘發展現狀如何?未來會有什麼樣的應用前景?
※機器學習模型中的分類變數最多可以有多少個值?
※你遇到過什麼,讓你一瞬間覺得數據如此有趣美妙,又有價值?
TAG:數據挖掘 | 數學 | 機器學習 | 概率 | Logistic回歸 |