学习《机器学习》时,推荐Andrew Ng教授的《Machine Learning》课程,Andrew Ng老师在讲授这门课程时,真的很用心,当然,CSDN里的博文也有帮助。好了,回到正题,逻辑回归算法,首先要说一下逻辑回归算法与线性回归的区别。
线性回归用一个线性函数对提供的已知数据进行拟合,得到一个线性函数,使这个函数满足我们的要求(如具有最小偏差、平方差等等),之后我们可以利用这个函数,对给定的输入进行预测。如下图所示:
假设最终得到的假设函数具有如下形式:
其中,x是输入,theta是要求的参数。
代价函数如下:
为了使得代价函数具有最小值,需要求得代价函数关于参量theta的导数:
梯度下降的原理是这样的:首先对于向量赋初值,可以赋随机值,也可以全赋为0,然后改变的值,使得
按梯度下降最快的方向进行,一直迭代下去最终会得到局部最小值。即:
所以:
什么是逻辑回归?逻辑回归的模型是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,逻辑回归是以线性回归为理论支持的。只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。逻辑回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别),函数形式为:
Sigmoid 函数如下图所示:
对于输入x分类结果为类别1和类别0的概率分别为:
Cost函数和J函数如下,它们是基于最大似然估计推导得到的。
用梯度下降法求的最小值有:
参考:http://blog.csdn.net/pakko/article/details/37878837