逻辑回归logistic regression,虽然名字是回归,但是实际上它是处理分类问题的算法。简单的说回归问题和分类问题如下:
回归问题:预测一个连续的输出。
分类问题:离散输出,比如二分类问题输出0或1.
逻辑回归常用于垃圾邮件分类,天气预测、疾病判断和广告投放。
一、Logistic回归假设函数
对于一个分类问题,希望找到一个预测函数hθ(x),使得:
只有发生“y=1”(正例)与不发生“y=0”(反例)两种结果(分类问题)
sigmoid函数可以满足这个性质:
其中的θTx是一个线性的函数
所以发生与不发生的概率:
对数几率:
=
二、代价函数
为了估计参数θ,我们如果采用线性回归的代价函数作为logistic的代价函数,如下:
(注:线性回归的参数可以用梯度下降法和最小二乘法来求得,最小二乘法能求出固定形式的解析解)
其中,i表示第i个样本,y(i)是真实值,hθ(x(i))是预测的值
酱的话求min代价函数J(θ)将会非常复杂,有多个局部最小值,也就是非凸的,如下所示:
我们希望的代价函数是这样的……
所以,我们用最大化似然函数的方法来估计参数……
对数似然函数如下(max):
即令每个样本属于其真实标记的概率越大越好,对数似然函数L(θ)是高阶连续可导的凸函数,由凸优化理论可以根据梯度下降法、牛顿法等求最优解θ。
所以,logistic回归的代价函数(min):
三、过拟合问题
对于线性回归或逻辑回归的损失函数构成的模型,可能会有些权重很大,有些权重很小,导致过拟合(就是过分拟合了训练数据),使得模型的复杂度提高,泛化能力较差(对未知数据的预测能力)。
下面左图即为欠拟合,中图为合适的拟合,右图为过拟合。
问题的主因
过拟合问题往往源自过多的特征。
解决方法
1)减少特征数量x(减少特征会失去一些信息,即使特征选的很好)
可用人工选择要保留的特征;
模型选择算法;
2)正则化,加上惩罚项(特征较多时比较有效)
保留所有特征,但减少θ的大小,即,对那些容易导致过拟合的θ进行惩罚
正则化方法
正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。
以多项式回归为例。左图是适当拟合,右图是过拟合。
lambda是正则项系数:
如果它的值很大,说明对模型的复杂度惩罚大,对拟合数据的损失惩罚小,这样它就不会过分拟合数据,在训练数据上的偏差较大,在未知数据上的方差较小,但是可能出现欠拟合的现象;
如果它的值很小,说明比较注重对训练数据的拟合,在训练数据上的偏差会小,但是可能会导致过拟合。
正则化后的梯度下降算法θ的更新变为:
四、逻辑回归的优点
1、它是直接对分类可能性建模,无需事先假设数据分布,这样就避免了假设分布不准确问题。
2、它不仅预测类别,而且可以得到近似概率预测,这对许多概率辅助决策的任务很有用。
3、对率函数是任意阶可导凸函数,有很好的数学性质,现有许多的数值优化算法都可以直接用于求解。
待解决:多分类问题