1. 程式人生 > >吳恩達機器學習(第七章)---邏輯迴歸

吳恩達機器學習(第七章)---邏輯迴歸

一、邏輯迴歸

邏輯迴歸通俗的理解就是,對已知類別的資料進行學習之後,對新得到的資料判斷其是屬於哪一類的。

eg:對垃圾郵件和非垃圾郵件進行分類,腫瘤是惡性還是良性等等。

1.為什麼要用邏輯迴歸:

對於腫瘤的例子:

 在外面不考慮最右邊的樣本的時候我們擬合的線性迴歸的函式(紅色)的閾值可以用,在0.5左右,但是當包含最右邊樣本的時候,所擬合的函式(藍色)出現較大偏差。所以像這樣的問題就不適合用線性迴歸而要用邏輯迴歸。

2.假設函式

 h(x)=g(z)---(2)

g(z)=\frac{1}{1+e^{-z}}-----(3)

z=\theta^Tx----(4) 

式(3)

當z很大時,g(z)就接近1;z很小時,就接近0.這就對應兩種分類,屬於該類(p)和不屬於該類 (1-p)。

3.決策邊界

 決策邊界通俗點就是兩種類別的分界線。看圖:

eg:

洋紅色和藍色的線都是決策邊界。而表示他們的函式就是式(4)z=\theta^Tx

4.代價函式 

 和線性迴歸一樣,邏輯迴歸也有代價函式,也就是要優化的目標

 加上log主要是為了使他成為凸函式,可以防止由多個區域性最優解。

但是這裡有兩個式子算起來就不方便,所以合併之後就是最終的代價函式。

cost(h(x),y)=-ylog(h(x))-(1-y)log(1-h(x))---(5)

式(5)式單個數據的代價,那所有的呢?即求和在求平均值。

J(\theta)=\frac{1}{m}\sum_{i=1}^{m}{cost}----(6)

5.梯度下降 

梯度下降也是類似的

\theta_j=\theta_j-\alpha\frac{\partial }{\partial \theta_j}J(\theta)---(7)

重複執行,到他收斂,就是我們要求的向量θ 

雖然代價函式很複雜,但是其求梯度下降的方式和線性迴歸一樣的。

\theta_j=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^{m}{(h(x^i)-y^i)x^i}---(8)

二、多元分類問題

多種類別分類問題其實就是把每一類當作y=1的類別,剩餘的都是=0。