【Machine Learning, Coursera】機器學習Week3 Logistic Regression

Logistic Regression

Logistic regression is a method for classifying data into discrete outcomes.
邏輯迴歸將數據歸類爲離散的結果並輸出


Example: Predict whether a tumor is malignant or not.
Training set { ( x ( 1 ) , y ( 1 ) ) , ( x ( 2 ) , y ( 2 ) ) , . . . , ( x ( m ) , y ( m ) ) }
x=Tumor size
y=Malignant tumor or benign tumor( y { 0 , 1 } )


1. Classification

邏輯迴歸雖然名爲「迴歸」,但它解決的其實是分類問題。以下面的三個場景爲例,它們均屬於二分類問題,習慣上把我們關注的某一現象的存在歸爲y=1(如垃圾郵件、惡性腫瘤細胞),反之則爲y=0.
此外,還有多分類問題,詳見本節第六部分。
這裏寫圖片描述

我們可以嘗試用線性迴歸的方法解決根據腫瘤大小判斷是否爲惡性腫瘤這一分類問題。顯然,一個直觀的想法是,以 h θ ( x ) = 0.5 爲閾值,當 h θ ( x ) > 0.5 時,認爲腫瘤是惡性腫瘤的機率更大,預測y=1,反之,爲良性腫瘤,預測y=0。
這裏寫圖片描述
可以看到,在只有左側八個觀測點的原始迴歸中,我們可以近似得到如圖所示的一條迴歸線,以 h θ ( x ) = 0.5 爲界,可對訓練樣本中的腫瘤細胞進行正確的歸類。這似乎說明線性迴歸法是可行的。
但是,當新增一個觀測點時,線性迴歸結果就不甚樂觀了。新觀測點會吸引迴歸線向自己靠近,由此增大了 h θ ( x ) = 0.5 時的x值。在新的迴歸下,左側兩個惡性腫瘤觀測點會被錯誤地歸類爲良性腫瘤。
此外,在二分類的歸類問題中,y只有0或1兩個離散的取值,而線性迴歸得到的「概率」 h θ ( x ) 取值範圍大,可能大於1,也可能小於0,這不符合我們對概率(介於0~1之間)的認知。
因此,線性迴歸並不是一個解決歸類問題的好辦法。我們需要構造一個新的模型來解決分類問題。

2. Sigmoid Function

Sigmoid Function:

g ( z ) = 1 1 + e z

這裏寫圖片描述
Sigmoid函數又稱S型函數或邏輯函數,其取值範圍在(0,1)之間,是一種理想的分類問題假設函數表達形式。將z替換成x和θ的函數 θ T x (不一定爲線性形式,需根據具體的問題來確定),即可得到假設函數
h θ ( x ) = g ( θ T x ) = 1 1 + e θ T x

對於上述腫瘤分類問題,當輸出結果 h θ ( x ) = 0.7 時,可以解釋爲

對於一個腫瘤大小爲x的患者,該腫瘤爲惡性腫瘤的可能性爲0.7

h θ ( x ) 的含義爲給定x和θ時y=1的概率, h θ ( x ) = P ( y = 1 | x ; θ )

3. Decision Boundary

在第二部分提到,用於替換z的函數需要根據具體的問題來確定。如對於左圖的分類問題,替換成線性函數是合適的;而對於右圖中的問題,替換成圓的一般方程的形式更合適。
替換z的函數在參數θ確定後,以特徵x爲軸作圖(n=2 or 3)可得到一條決策邊界(Decision Boundary),這一概念能更好地幫助我們理解邏輯迴歸的假設函數。
這裏寫圖片描述
以左圖爲例, z = θ T x .
對於該二分類問題,我們有

P r e d i c t   y = 1   i f   h θ ( x ) 0.5 P r e d i c t   y = 0   i f   h θ ( x ) < 0.5

由Sigmoid圖像可以知道,這其實等價於
P r e d i c t   y = 1   i f   z = θ T x 0 P r e d i c t   y = 0   i f   z = θ T x < 0

θ T x = 0 即爲該分類問題的決策邊界,在邊界右上方的區域y=1,邊界左下方的區域y=0。邏輯迴歸其實就是要找到最佳的參數θ,使得決策邊界能儘可能地將不同類別的樣本區分開來。

4. Cost Function

回顧線性迴歸的代價函數

J ( θ ) = 1 m i = 1 m 1 2 ( h θ ( x ( i ) ) y ( i ) ) 2

可以看到,線性迴歸的代價函數有明顯的實際意義(表示平方損失),如果邏輯迴歸也採用這種形式的代價函數,我們不僅無法直觀地解釋其含義,還會面臨存在多個局部最優解的問題,因爲邏輯迴歸的 h θ ( x ) 是非線性的,這樣構造的 J ( θ ) 很可能爲非凸函數(non-convex)。
因此,我們希望構造一個可解釋的凸函數,作爲邏輯迴歸的代價函數:

J ( θ ) = 1 m i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) )

在邏輯迴歸中,Cost函數的表達式爲

C o s t ( h θ ( x ) , y ) = { l o g ( h θ ( x ) ) i f   y = 1 l o g ( 1 h θ ( x ) ) i f   y = 0

它等價於

C o s t ( h θ ( x ) , y ) = y l o g ( h θ ( x ) ) ( 1 y ) l o g ( 1 h θ ( x ) )

作圖可以幫助我們更直觀地理解Cost函數。我們的直覺是,當分類完全正確時,Cost應該爲0,而當分類錯誤非常離譜,如 h θ ( x ) = 0 而實際上y=1,或者 h θ ( x ) = 1 而實際上y=0時,應當用一個很大的Cost來懲罰算法。
這裏寫圖片描述

將簡化的Cost表達式帶入J(θ),有

相關文章
相關標籤/搜索