Logistic回归
对于分类器我们想要的函数应该是,能接受所有的输入然后预测出类别。例如,在两个类的情况下,上诉函数输出0或1。
这种函数称为 海维赛德阶跃函数(Heaviside step function)或单位阶跃函数。
然而,海维赛德阶跃函数在跳跃点上从0瞬间跳跃到1。这个瞬间跳跃过程有时很难处理。
幸好,另一个函数也有类似的性质,且数学上更易处理,这就是Sigmoid函数。
Sigmoid函数具体的计算公式如下:
下图就是Sigmoid函数曲线
如果横坐标刻度足够大,Sigmoid函数看起来很想一个阶跃函数。
因此,为了实现Logistic回归分类器,我们可以在每个特征上乘以一个回归系数,然后吧所有的结果相加,将这个总和代入Sigmoid函数中,进而得到一个范围在0~1之间的数值。任何大于0.5的数据被分入1类,小于0.5被分入0类。所以,Logistic回归也可以被看成是一种概率估计。
现在我们的问题就变成了:最佳回归系数是多少?如何确定它们的大小?
###确定最佳回归系数
Sigmoid函数的输入记为 ,由下面公式得出:
也就是:
其中 是分类器的输入数据,向量 是我们要找的最佳系数。
下面我们使用梯度下降方法来求得最佳系数。
####梯度下降
要使用梯度下降方法我们就得有一个凸的损失函数来保证下降所求的的最小值是全局最小值。
所以我们给Sigmoid函数选定的损失函数为:
由于 我们的损失函数就化为:
所以:
由于
所以
又由于
所以我们计算 的偏导数是就有:
于是我们有
除了梯度下降方法我们还可以使用
1. 共轭梯度法(Conjugate gradient)
2. BFGS
3. L-BFGS
这些方法的优势是不需要人工去选择 ,大多数情况下会比梯度下降快。
blog comments powered by Disqus