参考博客:https://blog.csdn.net/yinyu19950811/article/details/81321944,感谢作者的分享
1、什么是逻辑回归?
逻辑回归是一种分类算法,不是回归算法。它利用了回归的思想来解决分类问题。
总结:逻辑回归假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,最终达到数据二分类的目的。
假设有一个二分类的问题,输出结果为{0,1},而线性回归模型产生的预测值是输出的都是实数值,我们希望有个越阶函数来说帮助我们把z值实现0/1之间的转化。使得:
但是该分段函数不连续,希望有一个单调可微的函数来让我们使用,于是就找到了sigmoid函数来使用。sigmoid函数的定义如下:
二者的关系如左图所示,因为sigmoid函数的取值为[0,1],可以将其视为类1的后验概率p(y=1|x),表示测试点x属于类别1 的概率有多大。
此外,我们将sigmoid函数最后计算得到的值大于0.5的分类为1,小于0.5的分类为0:
问题:为什么使用sigmoid函数做假设?
因为线性回归模型预测的值为实数,而样本标记的分类为(0,1)之间,所以必须要将分类任务的真实标记y与线性回归模型的预测值联系起来,也就是找到一个广义线性模型中的联系函数。
如果选择单位阶跃函数的话,它是不连续的不可微的。而sigmoid函数是连续的,可以将z转化为一共接近0或1的值。
2、逻辑回归的假设
其第一个假设是:假设数据服从伯努利分布
其第二个假设是:假设模型的输出值是样本为正的概率。
所以整个模型可以描述为,
3、逻辑回归的代价函数
要根据给定的训练集,将参数w求出来,所以先定义代价函数,使用误差平法和来当作代价函数:
将带入的话,会发现这是一个非凸函数,这就意味着代价函数有着许多的局部最小值,不利于求解。
而最大似然作为逻辑回归模型的损失函数,很容易得到参数的最优解(凸函数)。这就是说选取的标准更容易测量,能够求得最优解。
4、极大似然估计
逻辑回归与极大似然估计的关系:
最大似然估计:是通过已知的结果反推处导致最大结果的参数,而极大似然估计是概率论在统计学中的应用,它提供了一种给定观察数据来评估模型参数的方法,即“模型已确定,参数未确定”,通过若干次实验观察,利用实验的某个参数使得样本出现的概率最大,称为极大似然轨迹。
逻辑回归是一种监督式学习,有标签。即从已知的结果入手,去推导出能够获得最大概率的结果参数,只要能找到这个参数,那么此模型就可以较为准确的预测数据了。
之前提到了可以视为类1的后验概率,所以有:
可以看出,如果样本的类别为1,估计值越接近1付出的代价越小,反之越大。
同理,如果样本的值为0的话,估计值越接近于0付出的代价越小,反之越大。
5、利用梯度下降发求解参数w
为什么梯度的负方向就是代价函数下降最快的方向?
借助于泰勒展开:
当时,也就是在的负方向时,取得最小值,也就是下降的最快方向了。
梯度下降:
为学习率,用来控制步长
所以,在使用梯度下降法更新权重时,只要根据下式即可:
(代表第j列特征,代表第j个特征对应的参数)
当样本量极大时,每次权重更新都需要遍历整个数据集,会非常耗时,此时可以采用随机梯度下降方法:
每次只利用1个样本点来更新回归系数,这种方法被称为随机梯度上升法,占用的资源会更少。
6、三种梯度下降方法的比较
1、批量梯度下降(Batch Gradient Descent)
优点:可以获得全局最优解,易于并行实现;
缺点:更新参数时需要遍历所有数据,计算量很大,更新慢
2、随机梯度下降SGD:
优点:训练速度快
缺点:准确率下降,得到的并不是全局最优,不利于并行实现。
具体设计思路:更新参数时,只使用一个样本来更新
3、small batch梯度下降:
结合上述两种方法的优点,每次更新参数时只使用一部分样本,减少参数更新的次数,可以达到更加稳定的结果,深度学习中用的很多。
7、逻辑回归的优缺点:
优点:
1.直接对分类可能性进行建模,无需实现假设数据分布,这样就避免了假设分布不准确所带来的问题(周志华.机器学习)
(其实很多机器学习模型本身都是对数据分布有一定的假设的,在这个假设前提之下去进行理论研究有助于我们关注主要矛盾,忽律次要矛盾。但是在工程当中,很多时候我们对数据的分布其实是不了解的,贸然对数据进行假设容易造成模型无法无法拟合真实的分布。)
2、形式简单,模型的课解释好,可以看到不同特征对最后结果的影响。
3、除了得到类别之外,还能得到近似概率预测
缺点:
1、准确率不高,形式较为简单,很难对真实数据进行模拟
2、本身无法筛选特征