Logistic回归-模型·损失函数·参数更新
来源:互联网 发布:sql unix timestamp 编辑:程序博客网 时间:2024/06/07 07:07
理解Logistic回归首先要了解线性回归(http://blog.csdn.net/u013917439/article/details/77481216)。Linear Regression:
训练集共m个样本,第i个样本
1 逻辑回归
Logistic回归将线性回归的结果输入到sigmoid函数函数中,得到一个0-1之间的数值,可用与分类。当结果大于 0.5时是正类,小于0.5时是负类。
sigmoid函数,也叫Logistic函数:
图像如下:
Logistic回归模型:
假设函数
Hypothesis:hw(X)=11+e−WTX
hw(X)=g(WTX)
g(z)=11+e−z
z=WTX
- 参数
Parameters:w - 损失函数
CostFunction:J(w)=−1m∑mi=1[y(i)log(hw(x(i)))+(1−y(i))log(1−hw(x(i)))] - 优化目标
Goal:minimizeJ(w)
2 模型函数
为什么将线性回归的结果输入到sigmoid函数中去做分类呢?
线性回归本身是预测连续值,是用于对线性数据进行拟合。输入特征X,输出的预测值
怎样把实数集合映射到0,1?
p(y=1|x,w)=hw(x(i))
p(y=0|x,w)=1−hw(x(i))
对数几率
将hw(x(i)) 视为样本作为正例的概率,则1−hw(x(i)) 是该样本为反例的概率,两者的比值称为“几率“(odds),反应了x(i) 作为正例的相对可能性。odds=hw(x(i))1−hw(x(i))
对几率取对数即得到对数几率,将hw(X)=g(WTX) 带入,求得logodds=loghw(x(i))1−hw(x(i))=WTX
则hw(x(i)) 实际上是在用线性回归的预测结果去逼近真实标记的对数几率,即对对数几率进行线性回归预测。所以逻辑回归也称为对数几率回归。决策边界Decision Boundary
正类 <=>
hw(X)>0.5<=>WTX>0
负类 <=>hw(X)<0.5<=>WTX<0
2 损失函数
2.1 损失函数直观理解
整个样本集的损失为样本集中每个样本预测值与真实值的误差的平均值。
那么怎么度量每个样本预测值与真实值的误差呢?
可以看出:
- 当
y=1 时,若hw(x)=1Cost(hw(x),y)=0 ,若hw(x)=0Cost(hw(x),y)= 无穷大。hw(x) 越接近与1损失值越小,越接近于0损失值越大。 - 当
y=0 时,若hw(x)=0Cost(hw(x),y)=0 ,若hw(x)=1Cost(hw(x),y)= 无穷大。hw(x) 越接近与0损失值越小,越接近于1损失值越大。
2.2 由最大似然估计求解参数
由
各个样本之间相互独立,对于整个样本集
这个概率反应了,当参数是w时,得到这组样本的概率,即为似然函数L(w)=p(D)。最大似然估计是通过观测样本寻找一组参数,使这组样本同时出现的概率最大,即寻找使似然函数取最大值的参数。
将似然函数取对数得到对数似然函数:
要求得
若采用梯度下降法,则优化目标为
3 梯度下降参数更新
损失函数:
优化目标:
梯度下降参数更新过程:
步骤:
1.初始化
w1,w2...,wd
2.同步更新所有参数,使J(w,b) 不断减小。(α 是学习率)
wj:=wj−α∂∂wjJ(w,b)(j=0,...,d)
3.重复步骤2直至收敛
- 推导:
计算偏导数
因为J(w)=−1m∑i=1m[y(i)log(hw(x(i)))+(1−y(i))log(1−hw(x(i)))] hw(x)=g(WTx)g(z)=11+e−z
则J(w)=−1m∑i=1m[y(i)log(g(WTx))+(1−y(i))log(1−g(WTx))] g(z)′====e−z(1+e−z)211+e−ze−z1+e−z11+e−z1+e−z−11+e−zg(z)(1−g(z))
所以∂∂wJ(w)====−1m∑i=1m[y(i)1g(WTx(i))+(1−y(i))11−g(WTx(i))]∂∂wg(WTx(i))−1m∑i=1my(i)(1−g(WTx(i)))+(1−y(i))g(WTx(i))g(WTx(i))(1−g(WTx(i))g(WTx(i))(1−g(WTx(i))∂∂w(WTx(i))−1m∑i=1m(y(i)−g(WTx(i)))x(i)1m∑i=1m(hw(x(i))−y(i))x(i)
则参数更新公式为
wj:=wj−α1m∑mi=1(h(x(i))−y(i))x(i)j (与线性回归参数更新公式的形式相同,但h(x(i)) 不同。)
参考资料:
1.Andrew Ng的Machine Learning课程
2.《机器学习》周志华
- Logistic回归-模型·损失函数·参数更新
- 2.3logistic回归损失函数
- Logistic回归损失函数证明
- logistic回归详解二:损失函数
- logistic回归模型【求解参数方法汇总】
- 逻辑回归LR推导(sigmoid,损失函数,梯度,参数更新公式)
- logistic regession 损失函数
- Logistic 损失函数
- Logistic regression回归模型
- logistic 回归模型
- logistic回归模型总结
- Logistic回归模型
- matlab Logistic回归模型
- Logistic Regression 损失函数理解
- logistic 回归参数
- logistic回归详解(二):损失函数(cost function)详解
- sklearn(scikit-learn) logistic regression loss(cost) function(sklearn中逻辑回归的损失函数)
- Logistic函数与Logistic回归
- vue2.0中Ajax库(axios)
- MVC Razor视图引擎
- 激活函数
- opencv的Mat类基本操作
- ubuntu永久dns设置
- Logistic回归-模型·损失函数·参数更新
- 图片倒计时实现原理--js
- MVP入门框架搭建
- iOS weex~Apache
- HDU-2017 ACM/ICPC Asia Regional Shenyang Online-1005-number number number
- Tkinter 控件详细介绍
- 360手机开启Log打印
- Android自定义 View 练习 —— 心电图的绘制
- Problem B: Ants (弹性碰撞)