初級演算法班(2) 邏輯回歸

2021-09-14 07:33:47 字數 1765 閱讀 8024

寫在前面:由於昨天實驗室畢業聚餐,和老師師兄們喝酒耽誤了一天,所以沒有太多的時間仔細梳理一下邏輯回歸,這裡就把我以前的筆記 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 ...