感知機、logistic回歸 損失函數對比探討
感知機
假如數據集是線性可分的,感知機學習的目標是求得一個能夠將正負樣本完全分開的分隔超平面 \(wx+b=0\) 。其學習策略為,定義(經驗)損失函數並將損失函數最小化。通常,定義損失函數的策略是:誤分類點到分隔超平面的總距離。【李航,2.2節】
- 如果沒有誤分點,則損失函數值是0.
- 感知機學習算法若采用不用的初始值或選取不同的誤分類點,得到的分隔超平面可不同。
logistic回歸(對數幾率回歸):
邏輯回歸和感知機一樣,定義一個決策面(分隔面)來區分正負兩類樣本。但是其學習策略為:
定義:\(z=\theta x=ln \dfrac{p}{1-p}\),其中 \(z\in R\),\(p=P(y=1\mid x ;\theta)\),\(p\in (0,1)\),即樣本點為1的概率。此時 \(z = \theta x=0\)為分類決策面,\(p=g(z)=\dfrac{1}{1+e^{-z}}\),其實可發現:
當 \(\theta^TX\gt0\),則有 \(p\gt0.5\);若 \(\theta^TX\to+\infty\),則 \(p\to1\),即 y 為 1 類;
當 \(\theta^TX\lt0\),則有 \(p\lt0.5\);若 \(\theta^TX\to-\infty\),則 \(p\to0\),即 y 為 0 類。
所以,通過以上分析,可得訓練樣本到決策面的距離為:\(y\) 為1類的對數幾率比(幾率比:1類的概率/0類的概率)。
於是整個模型的公式為:
\[P(y=1\mid x ;\theta)=h_\theta (x)=g(\theta x)=\dfrac{1}{1+e^{-\theta x}}$$,其中 $z=\theta x=ln \dfrac{p}{1-p}$,幾何意義為樣本點到決策面的“距離”,實際意義為:$y$ 為1類的對數幾率比。注意,“距離” $z$ 范圍為$(-\infty , +\infty )$。 > 這樣做的好處是【周志華 P58】: > > 1. 直接對分類可能性進行建模,無需事先假設數據分布,這樣就避免了假設分布不准確所帶來的問題(無需事先知道樣本數據的分布)。 > 2. 不僅預測出類別,通過 sigmoid 函數的壓縮,對樣本點到局側面的“距離”——對數幾率比值 $z(z\in R)$,壓縮到 $(0, 1)$, 還且給出具體的概率預測值。 > 3. 對數幾率函數是熱一節課到的凸函數,有很好的數學性質,現有的許多數值優化算法都可直接用於求取最優解。 **那重點來了:logistic回歸的的損失函數,還會跟感知機或者下面即將提到的 SVM 一樣,能根據樣本點到決策面的距離來定義損失函數嗎?** 答曰:不可以滴。剛才講了,邏輯回歸中的距離,是“ $y$ 為1類的對數幾率比”,這個距離既不是最大就好,也不是最小就好。所有這里的“距離”不能直接作為損失函數。 但是,我們可以直觀的理解為:**Logistic回歸就是要學習得到 $\theta$,使得所有正例的距離遠大於0,所有負例的距離遠小於0,並強調在全部訓練樣本上達到這個目標**。 若還是以“距離”最大化為我們的指導思想,可以用分段函數來表達,來寫出我們的優化目標(注意這里的“距離”不是指 $z$): 當 $y=1$ 時候,我們讓正樣本到決策面的距離變大,即“$y$為1的對數幾率比值”$z$大,而 $z=ln \dfrac{p}{1-p}$又是單調遞增函數,因此,距離 $d(y=1) \propto p \propto logp$;同理,當 $y=0$ 時候,我們讓負樣本到決策面的距離變大,即“$y$為0的對數幾率比值”$z$大,而 $z=ln \dfrac{1-p}{p}$又是單調遞減函數,因此,距離 $d(y=0) \propto 1-p \propto log(1-p)$。 將與“距離”成正比的函數 $D(y|x;\theta)$ 可簡化為一個式子: $$D(y|x;\theta)=ylogp+(1-y)log(1-p),y=\{0,1\}\]
對於所有樣本點的距離之和:
\[D(\theta)=\sum _{ i=1 }^{ m }{ y^{(i)}logh_\theta (x^{(i)})+(1-y^{(i)})log(1-h_\theta (x^{(i)})) } \]
最大化到分割面之和可作為我們的優化目標。
若根據 Ng 所講,一定要寫數損失函數,如果以真實值和預測值的誤差平方和來作為損失函數,理論上來講可行,但是,這樣后我們的損失函數
\[\sum _{ i=1 }^{ m }{ ({h_\theta(x^{(i)})}- y^{(i)})^2 },其中h_\theta(x)=\frac{1}{1+e^{-\theta x}}$$是非凸的(non-convex function)。 但是,我們可以根據模型特點來設置損失函數,取對數損失函數【李航P7】: $$Cost(h_\theta(x))=\begin{cases} -log(h_\theta(x)), & y=1 \\ -log(1-h_\theta(x)),& y=0 \end{cases}\]
最后通過最小化所有損失函數作為優化目標,會發現我們的優化目標的函數形式其實是一樣的。
總結:
同樣是選擇決策面,邏輯回歸選擇策略是所有點到決策面的距離之和最大。這樣有個弊端是,會決策面靠近一些點,來換取另外一部分點更加遠離分割面。