邏輯回歸在機器學習中屬于比較常見的模型,它由感知機模型發(fā)展而來况毅。剛學習機器學習的時候尔许,看到感知機這個名字好奇怪,為什么就叫感知機呢午磁?不就用一個超平面來分割所有的樣本并且使得損失函數最小嘛,叫一個這么深奧的名字嚇唬人啊昧辽。后來學習神經網絡時候也看到了這個名字登颓,才發(fā)現這個名字來源于神經網絡。就是單層的神經網絡嘛咕痛。所以很多時候我們學習一個東西的時候可能暫時不明白喇嘱,我們可以先跳過去,不必在哪里死磕腔丧。
一作烟、感知機模型
先給出感知機模型的定義(公式不好編輯拿撩,就復制粘貼了):
機器學習三要素:模型、策略影暴、算法探赫,既然模型給出來了,我們用什么策略和什么算法來學習這個模型呢早歇。學習策略就是所有的誤樣本點到上面我們定義的超平面的距離最小讨勤。算法就用常規(guī)的梯度下降法潭千。李航的《統(tǒng)計學習方法》中有明確的推導和例子。這里不再贅述刨晴。本文重點記錄的邏輯回歸的推導路翻。
二茄靠、為什么要有邏輯回歸
對于線性可分的分類問題,有了感知機為什么還要邏輯回歸呢掉冶?比如我們給感知機模型輸入一個樣本脐雪,模型輸出為0.00001>0, 那么我們就把這個樣本劃分到正分類中战秋,我像這里很難有說服力吧,畢竟你就比0大那么一丟丟啊癣蟋。這是應為我們用到了sign函數吉嚣,這是一個跳躍函數蹬铺。在0附近是不連續(xù)的,在數學上連續(xù)可導可是一件很重要的事情秋泄。所以我們就像是不是有其他的函數來替代這個調試函數规阀。于是申請的sigmod函數就出現了。
sigmod函數表達式:
![image](http://upload-images.jianshu.io/upload_images/8596800-809302232a98649c?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
圖像如下:
函數性質:
1、連續(xù)可導
2厉碟、輸入區(qū)間在負無窮到正無窮箍鼓,值域在(0,1)之間
完全滿足我們概率上的要求,給sigmod函數輸入一個樣本何暮,如果輸出大于0.5,那么就可以判為正例跨新,如果輸出小于0.5就可以判為負列贰军。如果等于0.5就看心情了,隨便了俯树。
所以我們可以定義如下模型來解決二分類問題:
為了方便
可以變換為(第一個向量最后一個數為b,x向量最后一個數為1即可)
所以最后的模型可以簡寫為:
三陋率、邏輯回歸模型推導
對于給定的訓練數據集
瓦糟,其中
令:
下面用極大似然函數估計模型參數
上面的推導就是用梯度下降法來求似然函數的最大值,有的同學可能會問劲蜻,直接令偏導等于0不就可以求出極值點了嘛考余。在某些情況下確實是可以的,比如線性回歸在某些情況下是可以求出極值點的疫蔓。但是很多情況下是得不到極值點的具體表達式的身冬。所以就出現了像梯度下降法、牛頓法等估計參數的方法拗小。
邏輯回歸在機器學習中是比較簡單的模型樱哼,很多庫中都有現成的函數可以調用剿配,所以這里就重新實現了呼胚。重點在思想息裸、思想、思想