逻辑回归算法梳理
1.逻辑回归与线性回归的联系与区别
逻辑回归(Logistic Regression)与线性回归(Linear Regression)都属于广义线性回归模型。
在分类问题中,预测属于某类的概率,可以看成回归问题。直接使用线性回归的输出作为概率是有问题的,因为其值有可能小于0或者大于1,这是不符合实际情况的,逻辑回归的输出正是[0,1]区间。线性回归只能预测连续的值,分类算法是输出0和1。逻辑曲线在z=0时,十分敏感,在z>>0或z<<0处,都不敏感,将预测值限定为[0,1]。需要注意的是:逻辑回归算法本质是分类算法。
线性回归中使用的是最小化平方误差损失函数,对偏离真实值越远的数据惩罚越严重;逻辑回归使用极大似然函数进行参数估计,使用交叉熵作为损失函数,对预测错误的惩罚是随着输出的增大,逐渐逼近一个常数。
(扩展:LR在线性回归的实数范围输出值上施加sigmoid函数将值收敛到0~1范围, 其目标函数也因此从差平方和函数变为对数损失函数, 以提供最优化所需导数(sigmoid函数是softmax函数的二元特例, 其导数均为函数值的f*(1-f)形式)。请注意, LR往往是解决二元0/1分类问题的, 只是它和线性回归耦合太紧, 不自觉也冠了个回归的名字. 若要求多元分类,就是要用到softmax了。)
2.逻辑回归的原理
逻辑回归又称逻辑斯蒂回归。逻辑斯蒂是一种变量分布方式,与常见的指数分布、高斯分布类似。
它仅在线性回归的基础上,在特征到结果的映射中加入了一层sigmoid函数(非线性)映射,即先把特征线性求和,然后使用sigmoid函数来预测。(也可称为logistic函数)
面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。
- 假设:数据服从伯努利分布
- 损失函数:极大似然函数
- 求解方法:梯度下降
- 目的:解决回归中分类问题
- 如何分类:二分类
3.逻辑回归损失函数推导及优化
线性回归的损失函数为平方损失函数,如果将其用于逻辑回归的损失函数,则其数学特性不好,有很多局部极小值,难以用梯度下降法求最优。 极大似然函数。
损失函数是一个凸函数,并且没有局部最优值。在运行梯度下降算法之前,进行特征缩放依旧是非常必要的。
优化方法: