天天看點

機器學習-邏輯回歸-分類

監督學習中另一個問題為分類問題,常見的分類問題例子有

郵件是否是垃圾郵件,0表示垃圾郵件,1表示正常郵件

線上交易是否會欺騙使用者,0表示會欺騙,1表示不會

患惡性良性腫瘤患者是良性還是惡性,0表示惡性,1表示良性

這些問題,可以歸之于<code>二分類問題</code>,y表示因變量,取值0和1,可以定義如下

機器學習-邏輯回歸-分類

其中0表示負例,1表示正例 同理,對于多分類問題來說,因變量y的值可以取{0,1,2,3 ... n}

我們先從<code>二分類問題</code>入手,了解什麼是邏輯回歸模型

邏輯回歸(Logistic Regression)是一種用于解決二分類問題(0 or 1)的機器學習模型 邏輯回歸(Logistic Regression)與線性回歸(Linear Regression)都是一種廣義線性模型(generalized linear model)邏輯回歸假設因變量y 服從<code>伯努利分布</code>,而線性回歸假設因變量y服從<code>高斯分布</code>

邏輯回歸雖然帶有"回歸"2個,但是卻是一個實實在在的分類算法

線性回歸模型中,假設函數h(x)預測的值是連續的,預測值在<code>[負無窮, 正無窮]</code>

對于二分類問題來說最終的預測值是{0,1}離散集合,我們需要找出一個預測函數模型,使其值的輸出在 [0, 1] 之間。然後我們選擇一個閥值d,比如 0.5 ,如果預測值算出來大于 0.5 就認為分類結果為1,反之則認為分類結果為0.

是以我們引入了函數g, 同時假設邏輯回歸模型的假設函數h(x)如下

機器學習-邏輯回歸-分類

這個函數稱為Sigmoid函數,也稱為邏輯函數(Logistic function) 函數曲線如下

機器學習-邏輯回歸-分類

線性回歸模型假設函數h(x) = (theta^T * x), (theta^T * x)值域在<code>[負無窮, 正無窮]</code>,函數h(x) = g(theta^T * x)預測值在[0, 1]之間

我們可以設定一個門檻值d,當h(x) &lt; d的時候預測分類結果為0,當h(x) &gt;= d的時候預測分類結果為1

假設閥值d = 0.5

當h(x) &gt;= 0.5的時候,則預測分類結果為1

當h(x) &lt; 0.5的時候,則預測分類結果為0

是以函數h(x)的輸出可以解釋為<code>分類結果為1時的機率</code>

機器學習-邏輯回歸-分類

假設閥值d=0.5, 當h(x) &gt;= 0.5的時候,預測分類結果為1

從邏輯函數的曲線圖可知,對于函數h(x) = g(theta^T * x) &gt;= 0.5 等價于theta^T * x &gt;= 0

我們稱 <code>theta^T * x = 0</code> 是模型的<code>決策邊界</code>,大于0的時候預測分類結果為1,小于0的時候預測分類結果為0.

舉個例子 假設h(x) = g(theta0 + theta1x1 + theta2x2),theta0, theta1, theta2 分别取-3, 1, 1 由上可知,決策邊界 <code>-3 + x1 + x2 = 0</code> 是一個線性的方程,如下圖所示

機器學習-邏輯回歸-分類

當h(x)更加複雜的時候,決策邊界可能是一個非線性的方程

機器學習-邏輯回歸-分類
機器學習-邏輯回歸-分類

<a target="_blank" href="https://camo.githubusercontent.com/43fbb864ea60f91f7a52e3e677eab241a8ad198d/687474703a2f2f35326f70656e636f757273652e636f6d2f3f71613d626c6f622671615f626c6f6269643d3134383534353535333937373334303537343639"></a>

繼續閱讀