還記得咱們原來在線性迴歸中學過的代價函數嗎?算法
咱們把黃色部分用函數的形式來表示:微信
若是咱們在邏輯迴歸中也用這個代價函數去擬合參數行不行呢?答案是不行。由於這個代價函數在邏輯迴歸中的圖像是這個樣子的:app
這是一個非凸函數,有多個局部最優解,運用梯度降低算法並不會收斂到它的全局最優解,這樣就達不到咱們預期的效果。那該怎麼辦呢?讓咱們來學習邏輯迴歸中的代價函數吧。機器學習
邏輯迴歸的代價函數是這樣的:函數
讓咱們具體的看一下它的工做原理。學習
當 y = 1 時,Cost(hθ(x), y) 函數的圖像是一個對數函數,以下:spa
其中 hθ (x) 是咱們預測的值,它的範圍在 [0, 1] 區間。當咱們預測值 hθ (x) =1 時,此時與真實值 y 相同,預測正確,那麼它的代價值就爲 0;當咱們預測值 hθ (x) = 0 時,此時與真實值 y = 1 偏偏相反,預測錯誤,那麼這個代價就是無窮大的(是否是很直觀形象呢)。3d
當 y = 0 時 Cost(hθ (x), y) 的圖像以下,其工做原理與 y = 1 相同。能夠本身思考一遍這個過程。cdn
上面代價函數的書寫形式是一個分段函數,咱們能夠簡化一下這個代價函數:blog
這個形式與上面那個等價。
咱們如何自動地去擬合參數 θ 呢?你是否是想到了咱們以前在線性迴歸中學到的減少代價函數去擬合參數 θ 的方法——梯度降低。在邏輯迴歸中,咱們依然能夠運用這個方法。
與以前線性迴歸不一樣的是,這裏的 hθ (x) 變成了邏輯迴歸算法的假設函數 hθ (x) 。
ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。若是想要一塊兒學習機器學習,能夠關注微信公衆號「SuperFeng」,期待與你的相遇。