1. 程式人生 > >吳恩達機器學習——邏輯迴歸和分類演算法

吳恩達機器學習——邏輯迴歸和分類演算法

高效使用軟體

如下所示,是一個函式,這是一個求theta和x的積的和的公式,這個問題我們可以輕鬆地通過矩陣的方式解決。

將theta和x以如下形式表示,theta和x的矩陣的積就是這個函式的結果。

求解theta的值

進行邏輯分解:

Theta(i) = theta(i) – aβ

β =

然後進行進一步分解:

這個部分可以看做是兩個矩陣的積: 矩陣的積

依次這樣慢慢劃分,就能夠實現這個theta的求解。

分類演算法

Y = {0,1}

0表示負類,負類表示缺少某種東西

1表示正類,正類表示永遠某種東西

我們現在只研究劃分成兩個類的問題(即二元分類問題)

這是一個簡單的例子,腫瘤大小與是否為良性的關係,我們可以進行簡單的分類

如上所示,x表示腫瘤的大小,x經過h運算後大於0.5的是惡性腫瘤,這個是一個比較簡單的劃分。

接下來,進行一下小小的擴充套件:

如果在右邊很遠處,有一個惡性腫瘤,如果安裝原來的想法,我們不能正確的劃分最右邊的那個腫瘤為惡性腫瘤,因此線性迴歸可能不太適用於這個資料集。因為適用線性迴歸滿足上式的線性迴歸會讓絕大部分的腫瘤都輸入惡性腫瘤,而不滿足實際生活。

邏輯迴歸

解決用什麼樣的函式進行分類的問題

首先我們規定,目標函式的值的範圍在0和1之間,我們目標函式的值來表示概率

 

我們約定g(z) = 1/(1+e^(-Z))

這個g(z)它永遠滿足其值為(0,1)之間

令z =

聯立上面幾個式子,可以得到:

大概繪製函式影象如下(基本滿足實際腫瘤分類):

首先我們簡單梳理一下:

P(腫瘤是良性的)=p(0)

P(腫瘤是惡性的)=p(1)

P(0)+p(1)=1根據概率可知

而h(x)則是得惡性腫瘤的概率

因此h(x) = 1-p(0)

我們規定當g(z)≥0.5時為惡性腫瘤,而當g(z)<0.5時為良性腫瘤

同時,我們讓:θ的轉置*X=Z(θ即引數)

因此Z>0就是:θ的轉置*X>0

同時,由於函式g特殊性,當z>0時,g(z)>0.5,當z小於0時,g(z)小於0.5。因此我們可以通過判斷z的值,即

的值來進行分類。

假設這是我們的一個訓練集,這是它的邏輯迴歸函式

假如我們已經算出了各個θ的值,具體如何計算出θ的值,將在後續課程進行講解。

在這個例項中,當 >0,則該樣本劃分為1,當 <0時,該樣本劃分為0;

在這個例項中,θ0 = -3 ; θ1 = 1 ; θ2 = 1;

因此化簡後:-3+x1+x2≥0時,樣本屬於1,反之,則屬於0。

通過這個式子,我們得到一條直線(如下圖)

直線左邊的樣本都屬於0,直線右邊的樣本都屬於1,這條直線被稱為決策邊界

例項2

假設我們設定的函式如下

根據

θ0 = -1

θ1 = 0

θ2 = 0

θ3 = 1

θ4 = 1

我們可以設定 θ = [ -1 0 0 1 1]

同時,我們將x1和x2兩個變數帶入化簡得到關係式如下:

如果這個關係式大於0則該樣本屬於1,反之則屬於0

通過訓練集計算引數θ的值

首先,我們需要設定一個新的關於θ的代價函式

按照原來的思路,我們得到的代價函式如下:

如上圖,由於hθ(x)函式測特殊性,會導致代價函式畫出來的圖形為一個非凸圖形(如下)

因此,首先我們要用不同的代價函式,讓代價函式的他圖形不為一個非凸圖形,儘可能表現為下圖所示:

我們畫出的代價函式和邏輯迴歸函式的關係如上圖

這個代價函式的性質:

1、當h(x) = 1時,y = 1, 代價函式的值為0

2、當h(x)趨近於0時,代價函式趨近於無窮大

解釋為儘管h(x)已經非常接近於0了,腫瘤為惡性腫瘤的可能性為0,但是腫瘤確實為惡性腫瘤。

如果y = 0,則h(x)≤0.5,則代價函式的值為

代價函式和邏輯迴歸函式的值的關係如上圖

我們為了避免代價函式有兩個,所以我們需要用一個方法將代價函式合併成一個

我們根據y只為0或1的前提,通過將y帶入這個式子,來形成一個新的代價函式,其效果等同於上面的關係式

因此代價函式如下:

在這個式子中,我們要找到一個θ,滿足上式,使代價函式的值儘可能最小

通過梯度下降的基本公式

我們求出偏導數,然後得到求θ的式子如下: