原文:http://cs229.stanford.edu/notes/cs229-notes1.pdf
我們可以忽略y是離散值的事實來處理分類問題,並利用我們的線性迴歸算法來嘗試根據給定的x來預測y。但是,在這種方法性能很差的情況下,構造示例是很容易的。直觀地說,當我們知道y∈{0,1}時,取大於1或小於0的值也是沒有意義的。
爲了解決這個問題,讓我們改變假設的形式。我們將選擇
其中,
稱爲邏輯函數或Sigmoid函數。這是一個顯示g(z)的圖:
注意,z→∞時g(Z)趨向於1,而z→−∞時g(Z)趨向於0。此外,g(Z)和h(X),總是在0到1之間有界。和以前一樣,我們保留讓的約定,這樣。
從現在開始,我們把 gg 當作是給定的函數了。其它能夠從0到1之間光滑遞增的函數也可以被使用,但是這其中有一些原因我們以後會講到(當講到廣義線性模型GLMs和生成學習算法時),logistic 函數的選擇是十分合理自然的。在繼續我們的下一個話題前,這裏有一個關於 sigmoid 函數導數的重要推導,我們寫作 g′g′ :
那麼,在給定了 logistic 迴歸模型後,我們如何根據它來擬合 θθ 呢?我們之前已經講過了,在一系列假設的前提下,如何使用極大似然估計來推導出最小二乘迴歸。讓我們賦予我們的分類模型一系列的概率假設,接着通過極大似然來擬合參數:
讓我們假設:
P(y=1∣x;θ)=hθ(x)P(y=1∣x;θ)=hθ(x)
P(y=0∣x;θ)=1−hθ(x)P(y=0∣x;θ)=1−hθ(x)
注意,上面的式子可以改寫成一個更加簡潔的形式:
假定給定的 mm 個樣本之間都是相互獨立的,我們可以這樣寫參數的似然函數:
與前面線性迴歸章節的做法一樣,採用最大化對數似然的形式會簡單一些:
在上面的推導過程中,我們使用到了 g′(z)=g(z)(1−g(z))g′(z)=g(z)(1−g(z)) ,最終的隨機梯度上升規則爲:
如果拿上面的公式與LMS更新規則進行比較,我們會發現看起來居然完全一樣;但是他們並不是一樣的算法,因爲 hθ(x(i))hθ(x(i)) 現在被定義爲關於 θTx(i)θTx(i) 的一個非線性函數。儘管如此,我們在面對不同的算法和學習問題的時候,最終卻得到了同樣的更新規則,這實在讓人有點驚訝。這是一種巧合,還是有着更深層次的原因呢?當我們學習到GLM章節的時候,我們將一起來回答這一問題。