周志华《机器学习》学习笔记——Logistic回归
来源:互联网 发布:js random 1 100 编辑:程序博客网 时间:2024/06/06 00:44
前言
《周志华《机器学习》学习笔记——线性回归》这篇文章介绍了线性回归,线性回归模型虽然简单,但却有着丰富的变化。例如对于样例
从回归到分类
需要注意的是Logistic回归实际上是一种分类模型。上面讨论了如何使用线性模型进行回归学习,但若要做的是分类任务该怎么办呢?此时只需找到一个函数将分类任务的真是标记
考虑二分类任务,其输出标记
即若预测值
从上图可以看出,单位阶跃函数不可导,而我们在模型求解的步骤中会对出现
对数几率函数是一种“Sigmoid函数”,它将
Logistic回归
将对数几率函数作为判别函数代入到线性回归模型中,得到
Logistic函数实现了任意实数到[0,1]的映射,这样我们的数据集
若将
由此可以看出,上式实际上是在用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为“对数几率回归”(logistic regression)。需要注意的是,虽然它的名字是“回归”,但实际确实一种分类方法。这种方法有很多优点:
- 它是直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题;
- 它不是仅预测出“类别”,二是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用;
对数几率函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可以直接用于求取最优解,例如梯度下降法、拟牛顿法等。
如果我们有合适的参数
w 和b ,那么我们对样本x 分类就可以通过上述公式计算出一个概率,如果这个概率大于0.5,我们就可以说样本是正样本,否则样本是负样本。举个例子,对于判断西瓜是否成熟的应用场景,对于给定的西瓜,我们定义成熟西瓜为正样本,生瓜为负样本。我们通过计算出的概率值即可判断西瓜是否成熟。
下面我们来看看如何确定w 和b 。若将y 视为类后验概率估计p(y=1|x) ,则有lnp(y=1|x)p(y=0|x)=wTx+b
简单起见,我们令hw(x)=11+e−(wTx+b)
显然有p(y=1|x;w,b)=hw(x)=ewTx+b1+ewTx+b 上式即为在已知样本p(y=0|x;w,b)=1−hw(x)=11+ewTx+b x 和参数w 和b 的情况下,样本x 属于正样本(y=1 )和负样本(y=0 )的条件概率。理想情况下,求出各个点的概率都为1,也就是所有点都分类正确。但是考虑到实际情况,求出的概率不可能完全等于1,这时候样本点的概率越接近1,分类效果就越好。比如一个样本属于正样本的概率为0.51,那么我们就可以说明这个样本属于正样本。另一个样本属于正样本的概率为0.99,那么我们也可以说明这个样本属于正样本。但是显然,第二个样本概率更高,更具说服力。我们可以把上述两个概率公式合二为一Cost(hw(x),y)=hw(x)y(1−hw(x))(1−y)
合并出来的Cost ,我们称之为代价函数。当y=1 时,后面一项为零;当y=0 时,前面一项为零。为了简化问题,我们对整个表达式求对数Cost(hw(x),y)=ylnhw(x)+(1−y)ln(1−hw(x))
这个代价函数是对一个样本而说的,给定一个样本,通过这个公式就能求出样本所属类别的概率,而这个概率越大越好,所以也就是求解这个代价函数的最大值。这只是对一个样本来说的,而样本集的代价函数之和只需要将所有样本的代价函数累加即可,因此整个样本集的生成概率为J(w)=∑i=1m[y(i)ln(hw(xi))+(1−y(i))ln(1−hw(x(i)))]
求J(w) 的极大值等价于求−J(w) 的最小值,注意到J(w) 是关于w 的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降法、牛顿法等都可以求得其最优解。这里我们以梯度下降法为例,求J(w) 的极小值。
梯度下降法
梯度下降算法
模型求解
既然已经知道了梯度下降算法的原理,下面我们就用该算法来求Logistic回归模型的参数,为方便起见,令
Sigmoid函数为
现在,我们只需要求出
其中第一项
第二项是对率函数的求导公式
最后一项
因此梯度下降迭代公式为
知道了,梯度下降迭代公式,我们就可以计算最佳拟合参数了。
- 机器学习笔记—Logistic 回归
- 周志华《机器学习》学习笔记——Logistic回归
- 机器学习实战学习笔记9——Logistic回归
- 机器学习笔记-Logistic回归
- 机器学习笔记:Logistic回归
- 【机器学习笔记】logistic回归
- 《机器学习实战》笔记之五——Logistic回归
- 《机器学习实战》笔记之五——Logistic回归
- 《机器学习实战》笔记之五——Logistic回归
- 斯坦福大学机器学习——logistic回归
- 机器学习实战——Logistic回归
- logistic回归——机器学习
- Logistic回归——机器学习
- 《机器学习实战》——logistic回归
- 机器学习复习——Logistic回归
- 机器学习实战——Logistic回归
- 机器学习——Logistic回归
- 机器学习算法——logistic回归
- 数据可视化
- Java面向接口编程的好处
- 编写一个程序 -8
- Java4Android笔记之Java中的面向对象基础(一)
- 学习笔记4
- 周志华《机器学习》学习笔记——Logistic回归
- hadoop入门七(搭建环境)
- 递归程序
- 1027 Ignatius and the Princess II
- Python变量和数据类型
- C语言——main函数的参数列表
- Python(21):用web.py搭一个服务端(python3)
- 基于用户投票的排名算法(三):Stack Overflow
- 上机一 G D&C--玲珑数