美文网首页
逻辑回归

逻辑回归

作者: Yiren_Hwang | 来源:发表于2018-10-24 15:54 被阅读0次

和感知机不同,逻辑回归在点到平面的距离基础上,通过逻辑函数,把距离值转换成一个(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}

相关文章

  • 机器学习day7-逻辑回归问题

    逻辑回归 逻辑回归,是最常见最基础的模型。 逻辑回归与线性回归 逻辑回归处理的是分类问题,线性回归处理回归问题。两...

  • ML03-逻辑回归(下部分)

    本文主题-逻辑回归(下部分):逻辑回归的应用背景逻辑回归的数学基础逻辑回归的模型与推导逻辑回归算法推导梯度下降算法...

  • ML02-逻辑回归(上部分)

    本文主题-逻辑回归(上部分):逻辑回归的应用背景逻辑回归的数学基础逻辑回归的模型与推导逻辑回归算法推导梯度下降算法...

  • 逻辑回归模型

    1.逻辑回归介绍2.机器学习中的逻辑回归3.逻辑回归面试总结4.逻辑回归算法原理推导5.逻辑回归(logistic...

  • Task 01|基于逻辑回归的分类预测

    知识背景 关于逻辑回归的几个问题 逻辑回归相比线性回归,有何异同? 逻辑回归和线性回归最大的不同点是逻辑回归解决的...

  • 11. 分类算法-逻辑回归

    逻辑回归 逻辑回归是解决二分类问题的利器 逻辑回归公式 sklearn逻辑回归的API sklearn.linea...

  • 机器学习100天-Day4-6逻辑回归

    逻辑回归(Logistic Regression) 什么是逻辑回归 逻辑回归被用于对不同问题进行分类。在这里,逻辑...

  • SKlearn_逻辑回归小练习

    逻辑回归 逻辑回归(Logistic regression 或logit regression),即逻辑模型(英语...

  • R glm

    R 逻辑回归 R 怎么做逻辑回归

  • 逻辑斯蒂回归在二分类中的应用

    逻辑回归简介 逻辑斯蒂回归(logistic regression,又称“对数几率回归”)是经典的分类方法。逻辑斯...

网友评论

      本文标题:逻辑回归

      本文链接:https://www.haomeiwen.com/subject/jpcxtqtx.html