[关闭]
@xialu 2017-01-11T04:10:23.000000Z 字数 1959 阅读 1287

逻辑回归

turtorialML


回顾线性回归

输入与输出:

回归方程:

代价函数:我们用代价函数表明当前模型的 预测值与真实值的偏离程度

使目标:我们希望得到一个使
方法,梯度下降:

repeat until {
  
  同时 对 做操作
}

逻辑回归

线性回归是一个回归算法,目的是预测一个连续的值。
逻辑回归是分类算法,目的是预测某个离散的值。不妨假设只有二分类。

的结果是一个连续值。
我们想要对它进行转换,使得转换后
1. 大于0小于1
2. 给定一个阈值,小于阈值的为0,大于阈值的为1。
3. 能够反映出:越大,越趋近于1,反之趋近于0,这一特点。

这里我们选择sigmoid函数,它取值空间为(0,1),单调递增,连续可导,导数形式非常简单,是一个在机器学习领域常见的函数。公式和图形如下:


至于为什么选择这一个,可以参看:http://www.zhihu.com/question/35322351

我们设为输入变量对应的真实值,那么直接往下看:

代价函数和梯度下降


Target

Repeat {
  
  simultaneous update all
}

这里梯度下降的原理我们清楚,这个代价函数就看不懂了,线性回归是取方差作为代价,这里的log是怎么回事?

代价方程原理推导

想想看,我们想要的代价函数需要有什么性质?
如果真实值为1,越大越趋近于1,也就是预测的越准确。代价函数随单调递减。
反之,如果真实值为0,代价函数随单调递增。

先说下为什么不用方差和
download.png-9.4kB

接下来给出代价方程的另一种形式

我们把带入代价方程,得到

满足最初提到的性质。
以上证明了逻辑回归代价函数的合理性,而推导过程涉及到最大似然估计,见http://blog.csdn.net/zouxy09/article/details/20319673#python

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注