機器學習:如何理解機器學習中的邏輯迴歸

邏輯迴歸也可以說是一個分類器。在二分類器中,輸出要麼是0,要麼是1。所以對於一組輸入來說,我們要做的就是通過這個輸入的數據,經過假設函數的處理之後,輸出結果是1的概率。也就是說,輸出是一個概率值。所以現在要轉成邏輯函數:

hθ(x)=11+eθTx

如何理解這個邏輯函數呢?
這個函數就是爲了評估輸入爲x時,輸出的結果剛好是y=1的概率。所以如果我們有一組數據(x(i),y(i)=1) 那麼
hθ(x(i))=11+eθTx(i)
的結果應該儘可能使得hθ(x(i)) 的結果接近於1(通過調整θ )。

那麼,當我們有m組數據時,哪一組θ 是擬合得最好(效果最好)的呢?擬合得最好的那組θ 就是我們想要的。所以我們可以定義代價函數爲:

Cost(hθ(x),y)={log(hθ(x))if  y=1log(1hθ(x))if  y=0

爲什麼這麼定義呢?
我們可以畫出log(hθ(x)) 的圖形:
這裏寫圖片描述

從圖中我們可以看到,當hθ(x) 趨向於1的時候,說明有更高的概率y=1,而這個函數也是當y=1的時候的函數形式。y=1時,hθ(x) 趨向於1,log(hθ(x)) 的值越小,也就是代價越小。同理,當y=0時,log(1hθ(x)) 也是這種趨勢。

因爲y要麼是1,要麼是0,所以代價函數可以寫爲:

Cost(hθ(x),y)=y log(hθ(x))(1y)log(1hθ(x))

所以:
J(θ)=1mi=1mCost(hθ(x(i)),y(i))=1m[i=1my(i)log(hθ(x))+(1y(i))log(1hθ(x(i)))]

我們的目標就是獲得J(θ) 最小值時的那組θ 值。

事實上,我們也可以使用平方差來作爲代價函數:

Cost(hθ(x),y)=(hθ(x(i))y(i))2

雖然它們在形式上不一樣,但是它們的意義是一樣。都是刻畫了每一組輸入x與對應的y之間的差距。我們的目標都是爲了找到一組θ 來最小化這個差距。寫成這種形式之後,又可以使用梯度下降算法來擬合參數了。關於梯度下降算法可以參考我的上一篇博文
發佈了42 篇原創文章 · 獲贊 185 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章