基于自己理解与ng老师的课程总结出来的LR
http://mooc.study.163.com/learn/2001281002?tid=2001392029#/learn/content?type=detail&id=2001702014&cid=2001693016
逻辑回归原理
我们知道,线性回归模型是 y^=θx y ^ = θ x
但是线性回归无法用于分类,为了解决这个问题
逻辑回归利用sigmoid函数对 y^ y ^ 进行了改造
PS: sigmoid函数是 σ(z)=11+e−z σ ( z ) = 1 1 + e − z
也就是说将线性回归输出的 y^ y ^ 对应到了sigmoid函数中的 z z 将原本的连续输出变成了分类
z趋向于正无穷时,sigmoid趋向于1
z趋向于负无穷时,sigmoid趋向于0
sigmoid函数输出大于0.5,即输入 大于0 则y = 1
sigmoid函数输出小于0.5,即输入 xθ x θ 小于0 则y = 0
并且越靠近临界点,分类的准确性会越低
逻辑回归使用对数似然损失函数
逻辑回归的目标函数
y^=θx+b y ^ = θ x + b , a=σ(y^) a = σ ( y ^ )
目标函数为: L(a,y)=−(ylog(a)+(1−y)log(1−a)) L ( a , y ) = − ( y l o g ( a ) + ( 1 − y ) l o g ( 1 − a ) )
a是预测值,y是真实标签的label
逻辑回归的迭代过程
首先对 L(a,y) L ( a , y ) 进行求a的偏导 dL(a,y)da=−ya+1−y