1. 程式人生 > 其它 >邏輯迴歸學習筆記

邏輯迴歸學習筆記

邏輯迴歸

線性迴歸不適合處理分類問題,因為用連續型函式逼近離散型函式不太靠譜。因此考慮如何修改線性迴歸方法使其適用於分類問題。

現在給出\((x_1,y_1),(x_2,y_2)...(x_n,y_n),x_i \in R^k,y_i\in \{0,1\}\)

對於\(w\in R^k,b\in R,f(x)=w^Tx+b\),那麼怎麼把它的值域限制在0和1呢?構造\(g:R\to (0,1)\),例如\(g(x)=\frac{e^x}{1+e^x}=\frac{1}{1+e^{-x}}\),複合函式\(h(x)=g(f(x))=\frac{1}{1+e^{-(w^Tx+b)}}\)

引入概率論

如果把x和y都看作隨機變數,那麼就有了聯合分佈以及條件分佈的概念。\((x_i,y_i)\)滿足聯合分佈,現在想要學習的就是\(P(y|x)\)以及\(P(x,y)\)

\[P(y=1|x)=\frac{1}{1+e^{-(w^Tx+b)}}\\ P(y=0|x)=\frac{e^{-(w^Tx+b)}}{1+e^{-(w^Tx+b)}} \]

簡化記號:\(x=(1,x),w = (b, w)\)。則有:

\[P(y=1|x)=\frac{1}{1+e^{-(w^Tx)}}\\ P(y=0|x)=\frac{e^{-w^Tx}}{1+e^{-(w^Tx)}} \]

對於一個點而言,設其到超平面的距離為\(l\)

,則\(l=\frac{w^Tx}{||w||}\)\(P(y=1|x)\)有三種取值:

\[P(y=1|x)=\left\{\begin{matrix}~1,w^Tx>>0\\ \frac{1}{2},w^Tx=0 \\ ~0,x^Tx<<0 \end{matrix}\right. \]

極大似然估計,設\((x_i,y_i)\)獨立同分布,\(P(x_i,y_i)=P(y_i|x_i)P(x_i)=P(y_i=1|x_i)^{y_i}P(y_i=0|x_i)^{1-y_i}P(x_i)\)。注意上面的前兩項最終只會取一項。

似然函式可以寫為:\(\Pi_{i=1}^nP(x_i,y_i)=\Pi_{i=1}^n[P(y_i=1|x_i)^{y_i}P(y_i=0|x_i)^{1-y_i}]·\Pi_{i=1}^nP(x_i)\)

變成求解\(argmax_w\Pi_{i=1}^n[P(y_i=1|x_i)^{y_i}P(y_i=0|x_i)^{1-y_i}]=argmax_w[\Pi_{y_i=1}\frac{1}{1+e^{-w^Tx_i}}][\Pi_{y_j=0}\frac{e^{-w^Tx_j}}{1+e^{-w^Tx_j}}]\)

取對數可以讓乘積變成求和,等價於\(argmax_w\Sigma_{y_i=1}log(\frac{1}{1+e^{-w^Tx_i}})+\Sigma_{y_i=0}log(\frac{e^{-w^Tx_j}}{1+e^{-w^Tx_j}})=argmin_w -\Sigma_{y_i=1}log(\frac{1}{1+e^{-w^Tx_i}})-\Sigma_{y_i=0}log(\frac{e^{-w^Tx_j}}{1+e^{-w^Tx_j}})\)

損失函式:\(l(w)= -\Sigma_{y_i=1}log(\frac{1}{1+e^{-w^Tx_i}})-\Sigma_{y_i=0}log(\frac{e^{-w^Tx_j}}{1+e^{-w^Tx_j}})\)

此時閉形式解是不存在的,只能使用數值解法。

梯度下降

一般來說,\(f:R^k\to R,\nabla f\)

\(x_{n+1}=x_n-\eta \nabla f(x_n)\)

對於若干個點的二分類問題,如果其完全可分,則可以用感知機進行求解,如果不完全可分,則可以用線性規劃。現在則可以使用邏輯迴歸。

如果對於\(w\in R^k,A=\{x_i|y_i(w^Tx_i)<0\},l(w)=|A|\),去找到\(w\)滿足\(l(w)\)最小的話,最終結果可能非常不穩定。

推廣

多元分類怎麼辦?

給出\((x_i,y_i),y_i\in \{0,1,...m-1\}\)

目標:\(w_1,w_2...w_{m-1}\)

\(P(y_i=k|x_i)=\frac{e^{w_k^Tx_i}}{1+\Sigma_{k=1}e^{w_k^Tx_i}},k\neq0\)

\(P(y_i=0|x_i)=\frac{1}{1+\Sigma_{k=1}e^{w_k^Tx_i}}\)

引入非線性

如果是二維空間中線性不可分,則可以嘗試進行升維:

\((x_1,x_2)\to (x_1,x_2,x_1^2,x_2^2,x_1x_2)\in R^5\)

注意上面的引數都是線性的。

對於感知機、線性規劃、線性迴歸、邏輯迴歸都可以引入非線性項。