机器学习总结之逻辑回归Logistic Regression
逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法。简单的说回归问题和分类问题如下:
回归问题:预测一个连续的输出。
分类问题:离散输出,比如二分类问题输出0或1.
逻辑回归常用于垃圾邮件分类,天气预测、疾病判断和广告投放。
一、假设函数
因为是一个分类问题,所以我们希望有一个假设函数,使得:
而sigmoid 函数可以很好的满足这个性质:
故假设函数:
其实逻辑回归为什么要用sigmoid函数而不用其他是因为逻辑回归是采用的伯努利分布,伯努利分布的概率可以表示成
其中
得到
这就解释了logistic回归时为了要用这个函数。
二、代价函数
好了,现在我们确定了假设函数,输入,如果我们依旧用线性回归的代价函数:
其中:
这样的话代价函数将会非常复杂,有多个局部最小值,也就是非凸的,如下所示:
然而这并不是我们想要的,我们想要代价函数是凸函数如下:这样我们就可以很容易的找出全局最优解。
我们回过头来看:
由上式我们可得:
如果我们将视为样本作为正例的可能性,则为反例的可能性,
两者的比值对数称为对数几率:
这也就是逻辑回归为什么也称作对数几率回归的原因,我们可以将视为类后验概率:,则由:
可得:
我们用“最大似然估计”来估计,逻辑回归模型的似然函数如下:
对数似然函数如下:
即令每个样本属于其真实标记的概率越大越好,是高阶连续可导的凸函数,由凸优化理论可以根据梯度下降法、牛顿法等求最优解。
实际上,上式即为逻辑回归的代价函数:
它是由极大似然得来的。
三、逻辑回归的优点
1、它是直接对分类可能性建模,无需事先假设数据分布,这样就避免了假设分布不准确问题。
2、它不仅预测类别,而且可以得到近似概率预测,这对许多概率辅助决策的任务很有用。
3、对率函数是任意阶可导凸函数,有很好的数学性质,现有许多的数值优化算法都可以直接用于求解。
四、多分类问题
对于多分类问题常用的做法是分解为多个二分类问题,例如:
分解为下面三个二分类逻辑回归问题:
对于一个新的样本,如果第i类使得最大,我们认为属于i类。