邏輯迴歸與決策邊界



一,分類問題  

  我們從二元的分類問題開始討論。我們將因變量(dependant variable)可能屬於的兩個類分別稱爲負向類(negative class)和正向類(positive class),則因變量y ∈{0,1},其中表示負向類,表示正向類。下圖以腫瘤的惡性良性舉例:


 如果我們要用線性迴歸算法來解決一個分類問題,對於分類,y 取值爲 0或者 1,但如果你使用的是線性迴歸,那麼假設函數的輸出值可能遠大於 1,或者遠小於 0,即使所有訓練樣本的標籤 y 都等於 0 或 1。儘管我們知道標籤應該取值 0或者 1,但是如果算法得到的值遠大於 1 或者遠小於 0 的話,就會感覺很奇怪。所以我們在接下來的要研究的算法就叫做邏輯迴歸算法,這個算法的性質是:它的輸出值永遠在0到 1之間。順便說一下,邏輯迴歸算法是分類算法,我們將它作爲分類算法使用。有時候可能因爲這個算法的名字中出現了「迴歸」使你感到困惑,但邏輯迴歸算法實際上是一種分類算法,它適用於標籤 y 取值離散的情況,如:1 0 0 1。

  回顧在一開始提到的乳腺癌分類問題,我們可以用線性迴歸的方法求出適合數據的一條直線:


  根據線性迴歸模型我們只能預測連續的值,然而對於分類問題,我們需要輸出 1,

  我們可以預測:

  當hθ大於等於 0.5 時,預測 y=1。

  當hθ小於 0.5 時,預測 y=0 對於上圖所示的數據,這樣的一個線性模型似乎能很好地完成分類任務。假使我們又觀測到一個非常大尺寸的惡性腫瘤,將其作爲實例加入到我們的訓練集中來,這將使得我們獲得一條新的直線。




爲什麼線性迴歸不適合做分類問題

 解答:這時,再使用 0.5 作爲閥值來預測腫瘤是良性還是惡性便不合適了。可以看出,線性迴歸模型,因爲其預測的值可以超越[0,1]的範圍,並不適合解決這樣的問題。我們引入一個新的模型,邏輯迴歸,該模型的輸出變量範圍始終在 0 和 1 之間。 

邏輯迴歸模型的假設是:hθ(x)=g(θTX)

其中:

X 代表特徵向量

g 代表邏輯函數(logistic function)是一個常用的邏輯函數爲 S 形函數(Sigmoid function)

公式爲:

該函數的圖像爲:




二,決策邊界

   現在講下決策邊界(decision boundary)的概念。這個概念能更好地幫助我們理解邏輯迴歸的假設函數在計算什麼。


在邏輯迴歸中,我們預測:

 當 hθ 大於等於 0.5 時,預測 y=1

 當 hθ 小於 0.5 時,預測 y=0

 根據上面繪製出的形函數圖像,我們知道當

 z=0 時 g(z)=0.5

 z>0 時 g(z)>0.5

 z<0 時 g(z)<0.5

  z=θTX,即:

 θTX 大於等於 0 時,預測 y=1

 θTX 小於 0 時,預測 y=0

 

現在假設我們有一個模型:


並且參數 θ 是向量[-3 1 1] 則當-3+x1+x2  大於等於 0,即 x1+x2 大於等於時,模型將預 y=1。我們可以繪製直線 x1+x2=3,這條線便是我們模型的分界線,將預測爲的區域和預測的區域分隔開。


假使我們的數據呈現這樣的分佈情況,怎樣的模型才能適合呢?


 因爲需要用曲線才能分隔 y=0 的區域和 y=1 的區域,我們需要二次方特徵: 假設參數: hØ(x) = g(Ø0 + Ø1x1 + Ø2x2 + Ø3x12 +Ø4x22 )是[-1 0 0 1 1],則我們得到的判定邊界恰好是圓點在原點且半徑爲的圓形。

 我們可以用非常複雜的模型來適應非常複雜形狀的判定邊界。

參考:https://blog.csdn.net/xinzhi8/article/details/67639031