吳恩達機器學習筆記(2)

一.邏輯回歸

1.什么是邏輯回歸?

邏輯回歸是一種預測變量y為離散值0或1情況下的分類問題,在邏輯回歸中,假設函數0\leq h_\theta(x)\leq1。

2.模型描述

\begin{cases} 假設函數(hypothesis):h_\theta(x)=g(\theta^Tx)=\frac{1}{1+e^{-\theta^Tx}}.\\ 參數(parameters):\theta_0,\theta_1,...,\theta_n\\ 損失函數(cost function):J(\theta)=-\frac{1}{m}[\sum_{i=1}^{m}y^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)})]\\ 目標(goal):min_{\theta} J(\theta) \end{cases}在假設函數中,g(z)=\frac{1}{1+e^{-z}},z為實數,g(z)為Sigmoid函數,也叫Logistic函數。
模型解釋:h_\theta(x)=p(y=1|x;\theta),即就是對一個輸入x,y=1的概率估計。
損失函數的理解:所謂最大似然估計,就是我們想知道哪套參數組合對應的曲線最可能擬合我們觀測到的數據,也就是該套參數擬合出觀測數據的概率最大,而損失函數的要求是預測結果與真實結果越相近,函數值越小,也就是參數越能更好的擬合數據,損失函數的值越小,所以損失函數即就是最大似然函數的相反數。具體損失函數的推導可以參考鏈接。

3.決策邊界

已知h_\theta(x)表示的是對于一個輸入x,y=1的概率估計,則當h_\theta(x)\geq0.5時,y=1的可能性更大;當h_\theta(x)<0.5時,y=0的可能性更大。

邏輯回歸假設函數圖像

如上圖所示,z\geq0時,g(z)\geq0.5;z<0時,g(z)<0.5。即h_\theta(x)=g(\theta^Tx),\theta^Tx\geq0時,h_\theta(x)\geq0.5,則y=1;\theta^Tx<0時,h_\theta(x)<0.5,則y=0。
我們把\theta^Tx=0叫做決策邊界,它是假設函數的屬性,決定于參數\theta,有明確的\theta,即可確定決策邊界,不需要繪制訓練集來確定邊界。

4.邏輯回歸的梯度下降法

更新公式:\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta)=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}}
具體推導過程如下:

更新公式推導

5.高級優(yōu)化

除梯度下降法外,還有一些比梯度下降更快的高級優(yōu)化算法,比如共軛梯度法、BFGS、L-BFGS等,這些方法不需要手動選擇學習率,并且收斂速度較快。具體算法流程在此不具體展開,可自行學習。

6.多元分類

當預測變量y不只兩類時,例如:y=1,y=2,y=3,可將其分成三個獨立的二分類問題,創(chuàng)建三個偽訓練集,擬合出三個分類器h_\theta^{(i)}(x)=P(y=i|x;\theta),(i=1,2,3),然后給一個新的輸入值x,則其應屬于max_ih_\theta^{(i)}(x)的第i類。

二.正則化

1.過擬合問題

什么是過擬合問題?
算法具有“高方差”。如果擬合一個高階多項式,假設函數能擬合幾乎所有數據,無法泛化到新的樣本中,則稱該模型過擬合。(泛化:一個假設模型應用到新樣本的能力)
過擬合發(fā)生時,怎樣解決?
(1)盡量減少選取變量的數量:人工檢查變量清單,確定哪些變量保留,哪些變量舍棄;算法自動選擇哪些變量保留,哪些變量舍棄。缺點是會丟失一部分信息。
(2)正則化:保留全部特征變量,但減少量級或參數\theta_j的大小。

2.正則化損失函數

正則化損失函數是給原本的損失函數加一個懲罰項,相當于簡化模型,使參數盡量小。

3.線性回歸的正則化

損失函數:J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})^2}+\lambda\sum_{j=1}^{n}{\theta_j^2}]
其中\lambda叫做正則化參數,它的作用是更好地擬合數據和保持參數盡量小。
梯度下降更新公式:\theta_0:=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}}
\theta_j:=\theta_j(1-\alpha\frac{\lambda}{m})-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}}(j=1,2,...,n)
正規(guī)方程:如果\lambda>0,則\theta=(X^TX+\lambda\left[ \begin{matrix} 0 & 0 & 0 & ... & 0 \\ 0 & 1 & 0 & ... & 0 \\ 0 & 0 & 1 & ... & 0 \\ ... & ... & ... & ... & ...\\ 0 & 0 & 0 & ... & 1 \end{matrix} \right])^{-1}X^Ty,該方程可以解決X^TX不可逆的問題。

4.邏輯回歸的正則化

損失函數:J(\theta)=-\frac{1}{m}[\sum_{i=1}^{m}y^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)})]+\frac{\lambda}{2m}\sum_{j=1}^{n}{\theta_j^2}
梯度下降更新公式:\theta_0:=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}}
\theta_j:=\theta_j(1-\alpha\frac{\lambda}{m})-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}}(j=1,2,...,n)

三.總結

這兩周學習了吳恩達機器學習的邏輯回歸和正則化部分的內容,整體比較簡單,主要理解了一下邏輯回歸的損失函數以及梯度下降法更新公式的推導。感覺把統計和機器學習結合起來,更容易理解學習的內容。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉變要...
    余生動聽閱讀 10,798評論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,452評論 1 3
  • 表情是什么,我認為表情就是表現出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,445評論 2 7

友情鏈接更多精彩內容