1. 程式人生 > >機器學習 | 吳恩達機器學習第三週學習筆記

機器學習 | 吳恩達機器學習第三週學習筆記

第三週PPT彙總下載連結:https://pan.baidu.com/s/101uY5KV_2i3Ey516DYma_A  密碼:8o4e

上一篇部落格主要介紹了第二週的課程的內容,包括多變數線性迴歸,使用梯度下降法求解多變數線性迴歸的實用技巧,特徵縮放與模型特徵選擇並介紹了多項式迴歸,最後引入一種線性迴歸的解析解法並與梯度下降法進行比較。本篇部落格將系統的介紹第三週的內容,本週主要講解分類問題,引入了邏輯迴歸模型來解決分類問題,並詳細的介紹了邏輯迴歸模型的細節,包括假設函式,代價函式,優化求解方法包括之前學習的梯度下降法和更高階的優化方法,以及多分類問題的探討,最後介紹了過擬合問題,並以線性迴歸和邏輯迴歸為例講解該問題的解決方法(正則化)。本章探討的邏輯迴歸模型,是解決分類問題最基礎但使用最廣泛的方法,必須熟練掌握,之後還會介紹一些更強大的分類模型,所以本章內容尤為重要。

一、分類和表示

1.分類問題

(1)分類問題的例子

  • 判斷一個郵件是否是垃圾郵件
  • 判斷一個線上交易是否為詐騙
  • 判斷腫瘤是良性的還是惡性的

以上的這三個例子都是一個二分類的問題,他們的輸出變數y只有兩個取值:

                                                y\in \left \{ 0,1 \right \}

其中0代表負類(比如惡性腫瘤),1代表正類(比如良性腫瘤)。

在之後的學習中,我們還會介紹多分類問題,所謂多分類就是輸出變數y有多個取值。比如一個四分類問題: 

                                                y=\left \{ 0,1,2,3 \right \}

(2) 如何求解分類問題

假設我們現在有一個二分類的資料集,判斷一個腫瘤是否為惡性的。我們將該訓練集視覺化,得到下圖:

其中橫軸為輸入變數腫瘤大小,縱軸是輸出變數,1代表為惡性腫瘤,0代表是良性。

最直觀的做法,我們可能會採用之前學習的線性迴歸方法,比如用下圖的這條洋紅色直線來擬合該資料集:

並且我們為該分類器的輸出設定一個閾值0.5:

 當h_{\Theta }(x)>0.5時,預測為正類,即y=1,是惡性腫瘤;

h_{\Theta }(x)<0.5時,預測為正類,即y=0,是良性腫瘤。

此時我們將於閾值0.5在圖上標出,它與直線有一個交點,該交點在x軸上有一個投影,對應一個腫瘤大小值。也就是說當腫瘤大小大於該值時,認為是惡性腫瘤;反之是良性的。

從上圖的分類效果來看,用線性迴歸貌似取得了不錯的分類效果。那麼使用線性迴歸解決分類問題真的可行嗎?我們接下來改變一個這個資料集,增加一個額外的樣本,如下圖右上方所示。此時由於該樣本的存在,使用線性迴歸擬合該資料集,可能會得到下圖中藍色的線:

很顯然,此時用線性迴歸來解決該分類問題是非常不合理的。所以用線性迴歸解決分類問題通常不是一個好的做法。

此外,如果我們使用線性迴歸解決分類問題還有一個有趣的事情。對於二分類問題,我們知道輸出變數y的取值只有兩個0和1。但是當你使用線性迴歸時,h_{\Theta }(x)的輸出可能遠大於1,即使你的訓練樣本的標籤全為0;或者h_{\Theta }(x)的輸出可能小於0,即使你的訓練樣本的標籤全為1。

所以接下來我們會介紹邏輯迴歸演算法,該演算法會使假設函式h_{\Theta }(x)的輸出介於0和1之間,輸出值既不會遠大於1也不會遠小於0.

注意邏輯迴歸演算法,雖然叫“迴歸”,但它是一個分類演算法,不要混淆。

2.邏輯迴歸假設函式表示式

解決分類問題我們不能忽略其輸出變數y的取值是離散的,因此我們用線性迴歸來擬合數據集,給定x預測y,通常效果非常差;而且線性迴歸中的h_{\Theta }(x)遠大於1或遠小於0是沒有意義的,因為我們知道輸出變數y\in \left \{ 0,1 \right \}

因此,為了修正這個問題,我們需要改變假設函式h_{\Theta }(x),使其值介於0和1之間。我們可以引入sigmoid函式,將\Theta ^{T}\cdot x對映到0和1之間。

邏輯迴歸演算法的假設函式表示式:

其中g(z)sigmoid函式,也叫logistic函式,其影象如下圖所示:

g(z)\in [0,1],且當z\rightarrow \propto時,g(z)\rightarrow 1;且當z\rightarrow -\propto時,g(z)\rightarrow 0

對於假設函式h_{\Theta }(x)輸出值的解釋:

h_{\Theta }(x) = 在給定輸入變數x和引數\Theta的情況下,預測輸出變數y=1的概率。

比如:輸入變數x=[x_{0},x_{1}]=[1,tumorSize]      假設函式h_{\Theta }(x)=0.7;那麼這種情況下,我們會告訴病人有70%的可能性認為該腫瘤是惡性的。

更正式的寫法:

                                   h_{\Theta }(x)=P(y=1|x;\Theta )

那麼y=0的概率可以由以下公式得到:

                                   P(y=0;x,\Theta )+P(y=1|x;\Theta )=1

                                   P(y=0;x,\Theta )=1-P(y=1|x;\Theta)

3.決策邊界

我們接下來探討一下邏輯迴歸演算法的輸出到底是什麼,以及我們在何種情況下可以預測“y=1

邏輯迴歸假設函式:

                                    h_{\Theta }(x)=g(\Theta ^{T}\cdot x)=1/(1+e^{-\Theta ^{T}\cdot x})

我們認為:

                                    當h_{\Theta }(x)=g(\Theta ^{T}\cdot x)\geqslant 0.5,\Theta ^{T}\cdot x\geqslant 0時,預測y=1

                                    當h_{\Theta }(x)=g(\Theta ^{T}\cdot x)< 0.5,\Theta ^{T}\cdot x< 0時,預測y=0。   

  • 考慮下圖所示的資料集:

其假設函式如下:

                                       h_{\Theta }(x)=g(\Theta _{0}+\Theta _{1}x_{1}+\Theta _{2}x_{2})

並且我們假設模型引數\Theta已經通過該訓練集求出(具體的求解方法之後會講),\Theta=[-3,1,1]

由之前的推導可知:

                                       當-3+x_{1}+x_{2}\geq 0,x_{1}+x_{2}\geq 3時,預測y=1

                                       當-3+x_{1}+x_{2}< 0,x_{1}+x_{2}< 3時,預測y=0

那麼,我們將x_{1}+x_{2}=3這條直線畫入上圖,得:

位於該直線上方的將會預測為1,位於下方的將會預測為0,這條直線我們稱之為“決策邊界"。

  • 考慮下圖所示的複雜資料集

在之前線性迴歸和多項式迴歸中我們曾經討論過,對於這種複雜資料集,我們可以在原有特徵的基礎上創造新的特徵,增加高次項進行擬合;在邏輯迴歸中同樣適用。

假設我們的假設函式為:

                                            h_{\Theta }(x)=g(\Theta _{0}+\Theta _{1}x_{1}+\Theta _{2}x_{2}+\Theta _{3}x_{1}^{2}+\Theta _{4}x_{2}^{2})

並且我們假設模型引數\Theta已經通過該訓練集求出(具體的求解方法之後會講),\Theta=[-1,0,0,1,1]

由之前的推導可知:

                                       當-1+x_{1}^{2}+x_{2}^{2}\geq 0,x_{1}^{2}+x_{2}^{2}\geq 1時,預測y=1

                                       當-1+x_{1}^{2}+x_{2}^{2}< 0,x_{1}^{2}+x_{2}^{2}< 1時,預測y=0

通過上例我們知道,x_{1}^{2}+x_{2}^{2}=1為決策邊界,與之前不同,該邊界時非線性邊界,我們將該邊界添入上圖:

  • 考慮更復雜的例子

假設我們的假設函式為:

                     h_{\Theta }(x)=g(\Theta _{0}+\Theta _{1}x_{1}+\Theta _{2}x_{2}+\Theta _{3}x_{1}^{2}+\Theta _{4}x_{2}^{2}+\Theta _{5}x_{1}^{2}x_{2}^{2}+\Theta _{6}x_{1}^{3}x_{2}+...)

當我們的特徵變數次數更高更復雜時,我們會得到更加複雜的決策邊界,可能如下圖所示: