Logistic回归 - 损失函数推导(最大似然&交叉熵)

Logistic Regression

文章目录

  • Logistic Regression
    • L o g i s t i c Logistic Logistic回归
      • 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回归

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+ez1
  • 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=1N(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 θ的过程)

Logistic回归 - 损失函数推导(最大似然&交叉熵)_第1张图片


交叉熵角度解释

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=1mpi((logqi)(logpi))=i=1mpi(logqi)i=1mpi(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=1mpi 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)+(1p1)(log(1q2)))=(ylog(hθ(x))+(1y)log(1hθ(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^)+(1y)log(1y^))

代价函数 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=1Nynlog(yn^)+(1yn)log(1yn^)

∂ 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}) wcost=N1n=1Nxn(ynyn^)

然后利用梯度下降法进行迭代更新参数:
w = w − α ∂ c o s t ∂ w w = w -\alpha \frac{\partial cost}{\partial w} w=wαwcost

你可能感兴趣的:(AI,回归,机器学习,逻辑回归)