手写逻辑回归算法
Posted xiaoma927
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手写逻辑回归算法相关的知识,希望对你有一定的参考价值。
1. 模型
逻辑回归的Model为:$ h_ heta(x)=frac 1 {1+e^{-( heta^Tx+b)}} $
2.代价函数
针对一个样本的代价函数为:
if y = 1 : $ cost(x)= -log(h_ heta(x))$
if y = 0 : $ cost(x)= -log(1-h_ heta(x)) $
上述代价函数可以写成一个式子:即$ cost(x)=-ylog(h_ heta(x))-(1-y)log(1-h_ heta(x)) $
3. 损失函数
损失函数可以看成是针对所有样本的代价函数的平均值,即:
$ J_ heta(x)=frac 1 m displaystylesum_{i=1}^m(cost(x^{(i)})) = -frac 1 m displaystylesum_{i=1}^m(y^{(i)}log(h_ heta(x^{(i)}))+(1-y^{(i)})log(1-h_ heta(x^{(i)})))$
4.对损失函数求偏导
对参数( heta)求导:
$ frac partial {partial heta_j} J_ heta(x)= frac 1 m displaystylesum_{i=1}^m(h_ heta(x^{(i)})-y^{(i)})x_j^{(i)} $
对参数(b)求导:
$ frac partial {partial b} J_ heta(x)= frac 1 m displaystylesum_{i=1}^m(h_ heta(x^{(i)})-y^{(i)}) $
5.运用梯度下降法更新参数( heta)和(b)
$ heta_j := heta_j - alpha frac partial {partial heta_j} J_ heta(x) = heta_j - alpha frac 1 m displaystylesum_{i=1}^m(h_ heta(x^{(i)})-y^{(i)})x_j^{(i)} $
$b := b - alpha frac partial {partial b} J_ heta(x) = b - alpha frac 1 m displaystylesum_{i=1}^m(h_ heta(x^{(i)})-y^{(i)}) $
以上是关于手写逻辑回归算法的主要内容,如果未能解决你的问题,请参考以下文章