logistic回归和用最大似然估计选取CostFunction

来源:互联网 发布:美国离线导航软件 编辑:程序博客网 时间:2024/06/07 23:14

逻辑回归的想法是用回归的方法来解决分类问题,然而直接用线性回归达不到我们想要的效果如下图(原因不再赘述),所以我们选取了sigmoid函数来进行拟合,原因以后阐述

所以我们选择了如下的函数来拟合:

然而,应该怎样定义它的CostFunction呢?同样,线性回归为何选用最小二乘法的CostFunction?

先给出不准确的定义:这个Cost函数就只有一个极值点,且为极小值(如何判断?导数为0点只有一个,且当x大于极值点时,导数恒大于0,所有的能用梯度下降来拟合的函数必须满足这一关系)

其实,CostFunction的选取来源于极大似然估计:

以线性回归为例:

我们可以把y表示成以下形式:

其中最后的误差项代表我们未考虑的因素带来的误差(比如预测房价是我们没有考虑采光这一特征),且假设这个误差项服从均值为0的高斯分布,那么误差项的概率密度为:


那么,预测出来的y的概率密度为:

以下,我们要用最大似然估计来确定theta的值,是我们预测的结果概率最大(具体参见概率密度定义):

用对应公式求得:

取对数得到costFunction:

可知,要使上式最大就是是减号后面的部分最小,即得到了我们需要的CostFunction!

逻辑回归也是一样,,只是不是梯度下降,是梯度上升,如下:

最大似然估计为:



取对数得到CostFuction:

这回,theta需要使上式最大!很明显,上式只有一个极大值,应该是梯度上升!所以得到:

得到theta的更新式为:

综上:logistic回归与线性回归还是有很大的区别的,不仅在于拟合曲线不一样,CostFunction也不同,只是最后换算后theta的更新表达式相同罢了,具体是巧合还是必然,待研究以后来此说明。

具体的代码参见下一篇博文,思路参见点击打开链接

补充:其实关于上述论述还有其他的解释和说明,但实质并不冲突。

0 0