本文參考了bin的專欄和李航《統計學習方法》。線性回歸因為它的簡單,易用,且可以求出閉合解,被廣泛地運用在各種機器學習應用中。事實上,除了單獨使用,線性回歸也是很多其他演算法的組成部分。線性回歸的缺點也是很明顯的,因為線性回歸是輸入到輸出的線性變換,擬合能力有限;另外,線性回歸的目標值是(−∞,+∞),而有的時候,目標值的範圍是[0,1](可以表示概率值),那麼就不方便了。
典型的邏輯回歸是一種二分類模型,由條件概率p(
y|x)
表示。隨機變數
x 取值為實數,隨機變數
y取值為1或0.
有乙個樣本輸入x∈
rn,輸出是y∈
,條件概率:p(
y=1|
x)=e
xp(w
tx+b
)1+e
xp(w
tx+b
)=11
+exp
(−(w
tx+b
)), 是乙個sigmoid函式的形式,取值在(0,1)之間,可以理解為乙個概率的取值。
把權值向量
w 和輸入向量
x加以擴充,即w=
(w(1
),w(
2),.
..,w
(n),
b)t,
x=(x
(1),
x(2)
,...
,x(n
),1)
. 這時,邏輯回歸模型如下:p(
y=1|
x)=1
1+ex
p(−w
tx)
也就是說,如果有乙個對輸入
x 進行分類的線性函式wt
x,其值域為實數域(這裡x∈
rn+1
,w∈r
n+1 )。而邏輯回歸模型可以將這個線性函式轉換為概率。這時線性函式的值越接近正無窮,概率值越接近1;線性函式的值越接近負無窮,概率值越接近0.
給定訓練集t=
(x1,
y1),
(x2,
y2),
...,
(xn,
yn) , 其中xi
∈rn,
yi∈ . 我們用極大似然估計法估計模型引數。設:h
w(x)
=p(y
=1|x
),1−
hw(x
)=p(
y=0|
x)似然函式:∏i
=1n[
hw(x
i)]y
i[1−
hw(x
i)]1
−yi
兩邊取對數,對數似然函式:l(
w)=∑
i=1n
[yil
oghw
(xi)
+(1−
yi)l
og(1
−hw(
xi))
]=∑i
=1n[
yi(w
txi)
−log
(1+e
xp(w
txi)
)]對l
(w) 求極大值,可以轉化為求−l
(w) 的極小值,同時為了防止數值本身過大,用平均形式:w∗
=arg
minw[−
1nl(
w)]
. 也就是說,這個−1
nl(w
)就是我們要優化的損失函式,記作lo
ss(w
)。如何優化呢?可以採用標準的梯度下降法:
通過梯度下降我們可以求出
w , 最後學到的模型是p(
y=1|
x)=1
1+ex
p(−w
tx), 給定輸入
x , 即可求出
x屬於類別1的概率,大於0.5就認為屬於類別1.
機器學習 邏輯回歸
邏輯回歸 線性回歸的式子,作為邏輯回歸的輸入 適用場景 二分類 線性回歸的輸入 sigmoid函式 分類 0,1 概率值 計算公式 當目標值為1時 損失函式的變化 當目標值為0時 損失函式的變化 下面用乙個例項來說明邏輯回歸的用法 癌症概率 部分資料的截圖如下 資料描述 699條樣本,供11列資料,...
機器學習 邏輯回歸
coding utf 8 import pandas as pd import seaborn as sns from sklearn.model selection import train test split import matplotlib.pyplot as plt 用於畫圖 from ...
機器學習 邏輯回歸
lr指的是logistic regression,邏輯回歸。而不是linear regression,線性回歸,不要問為什麼,記住它就好了,haha。它是一種監督學習分類演算法,不是回歸演算法!這裡千萬要注意啦。lr常用於二分類問題,0或者1 假如我們有一堆二維資料,也就是這堆資料有2個特徵x1和x...