邏輯回歸——深度學習花書第五章(四)
來自專欄 AI機動隊
繼續花書第五章機器學習基礎部分總結,接下來是經典監督學習演算法,不過Ian對於邏輯回歸和支持向量機一筆帶過,解釋的不是很詳細,我準備結合Andrew Ng的cs229內容將邏輯回歸(logistic regression)與支持向量機(support vector machine)分兩篇詳細寫一下。
邏輯回歸
之前我們回顧了線性回歸問題(機器學習問題定義與線性回歸——深度學習花書第五章(一)),在回歸問題中,我們要預測目標y的具體的數值,如物品價格等,而邏輯回歸主要解決的是二元分類問題,即y只取0和1兩種值然後我們來推測取0或1的概率,例如檢測email是還是不是垃圾郵件。0又被稱作negative example, 1是positive example。
為了保證我們的概率分布在0至1之間,我們常常採用sigmoid函數將值限制在(0,1)區間內,表示為
其中 為sigmoid函數,其形式為 ,如下圖所示:
可以看出,當z趨向於正無窮時, 趨近於1,而當z趨向於負無窮時, 趨向於0。
邏輯回歸的數值解法
和線性回歸我們能夠比較容易的求解析解不同,對於邏輯回歸我們很難求解析解,我們需要利用例如梯度下降(梯度下降演算法——深度學習花書第四章數值計算)這種數值解法。
我們假設了
相應的,
我們也可以統一表示為
利用最大似然法,我們要求的 為
對於損失函數求導並簡化可得
所以其梯度下降的更新公式為
邏輯回歸的貝葉斯解釋
之前我們直接給出了sigmoid函數的形式 並未解釋為什麼會採取這樣的函數形式,我們可以簡單地用貝葉斯定理來解釋。
我們的y實際上是一種伯努利分布(隨機變數取0或1的分布,見川陀學者:概率論——深度學習花書第三章),而我們的輸入x相對於y可以假設為高斯分布,如下表示
即
根據貝葉斯定理有
將指數項用z來表示 , 則 我們就從貝葉斯定理推出了sigmoid 函數的形式。
至此,邏輯回歸總結完畢,邏輯回歸在經典監督學習領域的應用還是比較廣泛的,sigmoid函數在之後的深度神經網路的輸出層中也會用到。下一篇總結支持向量機(SVM)演算法。
推薦閱讀:
※機器學習之局部加權線性回歸、邏輯回歸演算法(附演算法程序)
※斯坦福大學機器學習課程(介紹和線性回歸)
※機器學習不僅僅是模型
※tensorflow數據的讀取