寫在前面:由於昨天實驗室畢業聚餐,和老師師兄們喝酒耽誤了一天,所以沒有太多的時間仔細梳理一下邏輯回歸,這裡就把我以前的筆記 po 出來,由於時間不夠,所以公式就沒有自己手打,全是,等後期有時間後再來優化這篇部落格,按自己的理解梳理整個演算法,並把公式全部打出來。
3. 優化演算法
4. 邏輯回歸和線性回歸的聯絡和區別
5. 邏輯回歸的優缺點
6. 正則化和模型評估
7.樣本不均衡問題解決辦法
和前面線性回歸一樣,從模型,代價函式和優化演算法三個方面來描述邏輯回歸演算法
邏輯回歸不是連續的,所以線性回歸損失函式定義的經驗就用不上了。不過我們仍然可以用最大似然法來推導出我們的損失函式。邏輯回歸的代價函式為交叉熵函式:
其中:
梯度下降法
(1)都屬於廣義線性回歸模型
(2)輸出值都是乙個連續變數,分類問題可以視為某類的概率
(3)都用梯度下降法作為優化演算法
(1)二者的本質區別是邏輯回歸是分類問題,線性回歸是回歸問題
(2)二者的損失函式不同,線性回歸是平方誤差損失函式,邏輯回歸是交叉熵損失函式
(3)線性回歸要求變數滿足正態分佈,自變數和因變數之間是線性關係;邏輯回歸對自變數分布沒有要求,也不要求自變數和因變數滿足線性關係,但要求因變數是分型別變數,本質上是分析因變數取哪個值的概率與自變數的關係
(4)邏輯回歸對異常值有更好的穩定性
(1) 當損失過於小的時候,也就是模型能夠擬合絕大部分的資料,這時候就容易出現過擬合。為了防止過擬合,我們會引入正則化
(2)l1 正則化: lasso 回歸,相當於為模型新增了這樣乙個先驗知識,即 服從零均值拉普拉斯分布
其中μ,b為常數,且μ>0。
下面證明這一點,由於引入了先驗知識,所以似然函式這樣寫:
取log再取負,得到目標函式:
等價於原始的cross−entropy後面加上了l1正則,因此l1正則的本質其實是為模型增加了「模型引數服從零均值拉普拉斯分布」這一先驗知識
(3)l2 正則化: 相當於為模型新增了這樣乙個先驗知識: 服從零均值正態分佈
正態分佈公式:
由於引入了先驗知識,所以似然函式這樣寫:
取log再取負,得到目標函式:
等價於原始的cross−entropy後面加上了l2正則,因此l2正則的本質其實是為模型增加了「模型引數服從零均值正態分佈」這一先驗知識
由於時間原因還未在 pycharm 上跑邏輯回歸的**,所以目前關於sklearn引數這一塊暫時就不寫了,等後期實操後再補充上
初級演算法梳理 邏輯回歸
1 邏輯回歸與線性回歸的聯絡與區別 線性回歸模型產生的 值是實值y hat,而考慮二分類問題,輸出標記y 可以把線性回歸產生的 值y hat轉化成0 1值,找到乙個單調可微函式將分類任務的 值y hat轉化成0和1。2 邏輯回歸的原理 線性回歸模型產生的 值是實值y hat,而考慮二分類問題,輸出標...
2 邏輯回歸
邏輯回歸函式模型 1 訓練資料繪圖 cd d study ai data ex2 data load ex2data1.txt x data 1,2 y data 3 pos find y 1 y取1的所有行 plot x pos,1 x pos,2 k linewidth 2,markersize...
2 邏輯回歸
coding utf 8 import torch import torch.nn as nn import matplotlib.pyplot as plt import numpy as np torch.manual seed 10 step 1 5 生成資料 sample nums 100 ...