回归算法 LR算法
二分类(Logistic Regression 逻辑斯谛回归 简称LR):model -> 0/1
多分类(Softmax):model -> 0/1/2…
一、Sigmoid函数——逻辑回归的实现
1.

2.用sigmoid原因:
- 简单来讲,可以将(-∞, +∞)的输入变量映射到(0,1),作为后验概率
- 在某个临界点左右两端变化较大,比较容易进行分类

二、基本公式推导
1.对sigmoid求w偏导:
η(t)=1+e−t1 转换为 η(wx)=1+e−wx1
偏导为∂(w)∂(η) $=\frac{(-1)}{(1+e{-wx}){2}} (-x)(e^{-wx}) $
=1+e−wx1∗1+e−wxe−wx∗x
=1+e−wx1∗1+e−wx1+e−wx−1∗x
=1+e−wx1∗(1−1+e−wx1)∗x
=η∗(1−η)∗x
2.对损失函数L(w)求导(梯度):
2.1类别概率
p(yi=1∣x)=η
p(yi=0∣x)=1−η
2.2似然函数
L(w)=i∏p(yi)
=i∏(I(yi=1)p(yi=1∣xi,w))∗I(yi=0)p((yi=0)∣xi,w))
=i∏yiη∗(1−yi)(1−η)
2.3负对数似然
log(L(w))=−log(i∏yiη∗(1−yi)(1−η))
log(L(w))=−i∑(yilog(η)+(1−yi)log((1−η))
也写作
L(w)=−i∑(I(yi=1)log(p(yi=1∣xi,w)))+I(yi=0)log(p((yi=0)∣xi,w)))
=−i∑(I(yi=1)log(η(wxi))+I(yi=0)log(1−η(wxi)))
2.4所以负对数似然求偏导
δ(L(w))=−∑(ηyiη(1−η)xi−1−η1−yiη(1−η)xi)
=−∑(yi(1−η)xi+(1−yi)ηxi)
=−∑(yixi−yiηxi−ηxi+yiηxi)
=−∑(yi−η)xi
所以梯度为:∇(L(w))=−∑(yi−η)xi
三、举例:到达谷底的最佳路线
梯度
梯度方向——让f(x,y)函数快速变大的方向
反梯度方向——让f(x,y)函数快速变小的方向
方法:梯度下降法——最小化F(w)
- 1.设置初始w,计算出F(w)
- 2.计算梯度∇:下降方向dir=(-∇F(w))
- 3.尝试梯度更新:wnew=w+步长∗dir
得到下降后的wnew和F(wnew)
- 4.如果F(wnew)-F(w)较小:说明基本处于底部,模型稳定,可以停止
否则w=wnew, F(wnew)=F(w)
实现
误差=真实值-预测值=(yi - η(wxi))
errors = target - prediction
prediction = sigmoid(wx)=????(wx)
wx = weight * x + b
w1:随机初始化 => f(x):预测值
python实现
git地址