逻辑回归

和感知机不同,逻辑回归在点到平面的距离基础上,通过逻辑函数,把距离值转换成一个(0,1) 的值,这个值称为P值(可能性)

logist函数

p = logist(x) = \frac{1}{1+e^{-out}} = \frac{1}{1+e^{-\sum{w_i*x_i}+b_0}}

通过这个函数可以看到:

  • 当 out 趋向于 -inf 的时候,p = 0
  • 当 out 趋向于 +inf 的时候,p = 1
  • out 相当于点到分类超平面的距离 out \approx \frac{1}{|W|}*|\sum{w_i*x_i}+b_0|

似然函数

已知当前我们有个任务,把一组样本分成两类,0 或者 1,设:

  • p(y_i=1|X_i) = p
  • p(y_i=0|X_i) = 1 - p

组合上面两个公式,则一个样本点 X_i 的分类密度函数可以表示为:

  • P = p^{y_i} * {(1-p) }^ {1- y_i}
    • 当 yi = 1 的时候,P = p
    • 当 yi = 0 的时候,P = 1-p

通过最大似然估计法,样本集的似然函数表示为:
L= \prod{P_i} = \prod{ p^{y_i} * (1-p)^ {1-y_i} }
ln(L) = \sum(y_i*ln(p) + (1-y_i)*ln(1-p))

损失函数

我们现在对模型定义一个损失函数 loss,使得 loss 最小的时候,L 最大;
loss = -\frac{1}{m}ln(L) = - \frac{1}{m}\sum(y_i*ln(p) + (1-y_i)*ln(1-p))

  • 其中 yi 是真实值,p 是预测值
  • 取负数,是为了让 loss 最小的时候,L 最大
  • \frac{1}{m} 取的是每轮训练中样本的损失平均值

损失函数求导

\begin{split} \frac{\partial loss}{\partial w_i} &= \frac{-1}{m}*\frac{\partial ln(L)}{\partial w_i} \\ &= \frac{-1}{m}*\frac{\partial \sum(y_i*ln(p) + (1-y_i)*ln(1-p))}{\partial w_i} \\ &= \frac{-1}{m}* \sum( y_i * \frac{1}{p} * \frac{\partial p}{\partial w_i} + (1-y_i) * \frac{1}{1-p} * (-1) * \frac{\partial p}{\partial w_i} ) \\ &= \frac{-1}{m} * \sum(y_i * \frac{1}{p}+ (y_i-1) * \frac{1}{1-p}) * \frac{\partial p}{\partial w_i} \\ &= \frac{-1}{m} * \sum(\frac{y_i}{p} + \frac{y_i}{1-p} - \frac{1}{1-p}) * \frac{\partial p}{\partial w_i} \\ &= \frac{-1}{m} * \sum( \frac{y_i(1-p)}{p(1-p)}+ \frac{p*y_i}{p*(1-p)} - \frac{p}{p*(1-p)}) * \frac{\partial p}{\partial w_i} \\ &= \frac{-1}{m} * \sum( \frac{y_i(1-p)+ p*y_i - p}{p*(1-p)}) * \frac{\partial p}{\partial w_i} \\ &= \frac{-1}{m} * \sum( \frac{y_i- p}{p*(1-p)}) * \frac{\partial p}{\partial w_i} \\ \end{split}

又有

\begin{split} \frac{\partial p}{\partial w_i} &= \frac{\partial (1+e^{-WX})^{-1}}{\partial w_i} \\ &=(-1)(1+e^{-WX})^{-2}e^{-WX}*(-1)\frac{\partial}{\partial w_i}(WX)\\ &=\frac{e^{-WX}}{(1+e^{-WX})^2}*x_i \\ &=\frac{1}{1+e^{-WX}}*\frac{e^{-WX}}{1+e^{-WX}}*x_i \\ &=p*(1-p)*x_i \\ \end{split}

得到:
\begin{split} \frac{\partial loss}{\partial w_i} &= \frac{-1}{m} * \sum( \frac{y_i- p}{p*(1-p)}) * \frac{\partial p}{\partial w_i} \\ &= \frac{-1}{m} * \sum( \frac{y_i- p}{p*(1-p)}) * p*(1-p)*x_i \\ &= \frac{-1}{m} * \sum((y_i- p)*x_i) \\ \end{split}

权重更新

\begin{split} w_i & = w_i - a * \frac{\partial loss}{\partial w_i} \\ & = w_i - a * \frac{-1}{m} * \sum((y_i- p)*x_i) \end{split}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容