Logistic Regression
文章目录
L o g i s t i c Logistic Logistic回归
L o g i s t i c Logistic Logistic回归是一种常见的用于处理二分类问题的线性分类模型。
所谓线性分类模型:决策边界为线性超平面
模型:
y
^
=
σ
(
w
x
+
b
)
\hat{y} = \sigma(wx+b)
y^=σ(wx+b)
- σ ( ) \sigma() σ()为激活函数,作用是将线性函数的值域从实数区间“挤压”到 ( 0 , 1 ) (0,1) (0,1)之间,可用来表示概率。 σ = 1 1 + e − z \sigma = \frac{1}{1+e^{-z}} σ=1+e−z1
- y ^ \hat{y} y^的意义为 p ( y = 1 ∣ x , w ) p(y=1|x,w) p(y=1∣x,w)即给定 x x x和参数 w w w时 y = 1 y=1 y=1的估计概率。
- 若 y ^ > 0.5 \hat{y}>0.5 y^>0.5,即 w x + b > 0 wx+b>0 wx+b>0,得出分类 y = 1 y=1 y=1。
参考线性回归损失函数:
损失函数
l
o
s
s
=
(
y
^
−
y
)
2
代价函数
c
o
s
t
=
1
N
∑
n
=
1
N
(
y
n
^
−
y
n
)
2
损失函数 loss = (\hat{y} - y)^2 \\ 代价函数 cost = \frac{1}{N}\sum_{n=1}^N(\hat{y_n}-y_n)^2
损失函数loss=(y^−y)2代价函数cost=N1n=1∑N(yn^−yn)2
L o g i s t i c Logistic Logistic的损失函数是什么?如何拟合 L o g i s t i c Logistic Logistic的参数 w w w?
L o g i s t i c Logistic Logistic回归采用交叉熵 ( B C E l o s s ) (BCE\ loss) (BCE loss)作为损失函数,并使用梯度下降法对参数进行优化
最大似然估计角度解释
似然函数 L ( θ ) L(\theta) L(θ)是描述不同 θ \theta θ,出现这个样本点 y → ∣ x \overrightarrow{y}|x y∣x的概率。故要求使 L ( θ ) L(\theta) L(θ)最大的 θ \theta θ(即拟合参数 θ \theta θ的过程)
交叉熵角度解释
KL散度是衡量两个概率分布的差异
对于 L o g i s t i c Logistic Logistic回归,假设真实的 l a b e l label label概率分布为 P ( x ) P(x) P(x),模型预测的为 Q ( x ) Q(x) Q(x),那么就可以用KL散度衡量预测值与真实值概率模型之间的差异;
KL散度公式:
D K L ( P ∣ ∣ Q ) = ∑ i = 1 m p i ( ( − l o g q i ) − ( − l o g p i ) ) = ∑ i = 1 m p i ( − l o g q i ) − ∑ i = 1 m p i ( − l o g p i ) = H ( P , Q ) − H ( P ) D_{KL}(P||Q) = \sum_{i=1}^m p_i((-logq_i) - (-logp_i))\\ =\sum_{i=1}^m p_i(-logq_i) - \sum_{i=1}^m p_i(-logp_i) = H(P,Q) - H(P) DKL(P∣∣Q)=i=1∑mpi((−logqi)−(−logpi))=i=1∑mpi(−logqi)−i=1∑mpi(−logpi)=H(P,Q)−H(P)
然后 H ( P ) H(P) H(P)(真实值的熵)为固定值,所以 H ( P , Q ) H(P,Q) H(P,Q)交叉熵越小,KL散度越大,预测值与真实值之间差异越大,故选取交叉熵作为 l o g i s t i c logistic logistic回归的损失函数。
交叉熵公式:
H ( P , Q ) = − ∑ i = 1 m p i l o g q i H(P,Q) = -\sum_{i=1}^m p_i\ logq_i H(P,Q)=−i=1∑mpi logqi
l
o
g
i
s
t
i
c
logistic
logistic回归中
m
=
2
m=2
m=2,得到二元交叉熵:
H
(
P
,
Q
)
=
−
(
p
1
(
l
o
g
q
1
)
+
p
2
(
l
o
g
q
2
)
)
=
−
(
p
1
(
l
o
g
q
1
)
+
(
1
−
p
1
)
(
l
o
g
(
1
−
q
2
)
)
)
=
−
(
y
l
o
g
(
h
θ
(
x
)
)
+
(
1
−
y
)
l
o
g
(
1
−
h
θ
(
x
)
)
)
H(P,Q) = -( p_1(logq_1) + p_2(logq_2) )\\ = -( p_1(logq_1) + (1-p_1)(log(1-q_2)))\\ = -(ylog(h_\theta (x)) + (1-y)log(1-h_\theta (x)))
H(P,Q)=−(p1(logq1)+p2(logq2))=−(p1(logq1)+(1−p1)(log(1−q2)))=−(ylog(hθ(x))+(1−y)log(1−hθ(x)))
综上:
Logistic交叉熵损失函数如下
B
C
E
l
o
s
s
BCEloss
BCEloss:
损失函数
l
o
s
s
=
−
(
y
l
o
g
(
y
^
)
+
(
1
−
y
)
l
o
g
(
1
−
y
^
)
)
损失函数 loss = -(ylog(\hat{y}) + (1-y)log(1-\hat{y}))
损失函数loss=−(ylog(y^)+(1−y)log(1−y^))
代价函数 c o s t = − 1 N ∑ n = 1 N y n l o g ( y n ^ ) + ( 1 − y n ) l o g ( 1 − y n ^ ) 代价函数 cost = -\frac{1}{N} \sum_{n=1}^N y_nlog(\hat{y_n}) + (1-y_n)log(1-\hat{y_n}) 代价函数cost=−N1n=1∑Nynlog(yn^)+(1−yn)log(1−yn^)
∂ c o s t ∂ w = − 1 N ∑ n = 1 N x n ( y n − y n ^ ) \frac{\partial cost}{\partial w} = -\frac{1}{N}\sum_{n=1}^N x_n(y_n-\hat{y_n}) ∂w∂cost=−N1n=1∑Nxn(yn−yn^)
然后利用梯度下降法进行迭代更新参数:
w
=
w
−
α
∂
c
o
s
t
∂
w
w = w -\alpha \frac{\partial cost}{\partial w}
w=w−α∂w∂cost