引言:
今天我們學習邏輯迴歸。我們都知道線性迴歸模型是,我們對他進行變形,得到,這就是“對數線性迴歸”(logit linear regression),就是我們所說的邏輯迴歸。再變形,一般地,把形式,叫做廣義線性模型。
一、數學原理
因爲X是連續的,所以的結果也是連續的,爲了能做二分類問題,我們借鑑單位階躍函數。如下圖:
我們引入sigmoid 函數,邏輯迴歸形式是。我們令y≥閾值,結果爲正例,反之,爲負例(閾值一般爲1/2)。
注:邏輯迴歸借鑑了概率思維,但不是真正的概率,所以和貝葉斯算法有區別。
損失函數:,我們在尋找最優的邏輯迴歸模型時,就是找到一組參數θ,使得損失函數J(θ)達到最小值。
二、代碼實現
1、手工代碼實現
實現過程:
①、定義sigmoid方法,使用sigmoid方法生成邏輯迴歸模型;
②、定義損失函數,並使用梯度下降法得到參數;
③、將參數代入到邏輯迴歸模型中,得到概率;
④、將概率轉化爲分類。
在這裏插入代碼片
2、sklearn實現
上一篇文章,我們學習了正則化,可以提高模型的泛化能力。sklearn的邏輯迴歸算法是直接加入正則化的,參數是penalty,默認是L2。另外新增一個超參數C。即損失函數形式是
參考文獻:《機器學習 周志華著》第3章線性模型 3.2節、3.3節
參考文章:
https://mp.weixin.qq.com/s/xfteESh2bs1PTuO2q39tbQ
https://mp.weixin.qq.com/s/nZoDjhqYcS4w2uGDtD1HFQ
https://mp.weixin.qq.com/s/ex7PXW9ihr9fLOjlo3ks4w
https://mp.weixin.qq.com/s/97CA-3KlOofJGaw9ukVq1A
https://mp.weixin.qq.com/s/BUDdj4najgR0QAHhtu8X9A