美文网首页
逻辑回归

逻辑回归

作者: 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}

    相关文章

      网友评论

          本文标题:逻辑回归

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