逻辑回归算法是名为“回归”的分类器
其数学目的是求解能够让模型对数据拟合程度最优的参数 w的值,以此构建预测函数y(x) ,然后将特征矩阵输出预测函数来计算出逻辑回归的结果y。
线性回归方程
我们可以使用矩阵来表示这个方程,其中x和 都可以被看做是一个列矩阵,则有:
通过函数z ,线性回归使用输入的特征矩阵X来输出一组连续型的标签值y_pred,以完成各种预测连续型变量的任务(例如预测产品销量,预测股价等等)
Sigmoid函数
如果我们的标签是离散型变量,尤其是,如果是满足0-1分布的离散型变量,我们可以通过引用联系函数(link function),将线性回归方程z变换为g(z),并且令g(z)的值分布在(0,1)之间,且当g(z)接近0时样本的标签为类别0,当g(z)接近1时样本的标签为类别1,这样就得到了一个分类模型。这个联系函数对于逻辑回归来说,就是Sigmoid函数:
损失函数
二元逻辑回归的损失函数:我们使用”损失函数“这个评估指标,来衡量参数为w 的模型拟合训练集时产生的信息损失的函数,并以此衡量参数w 的优劣。
逻辑回归的损失函数是由极大似然估计推导出来的,具体结果可以写作:
正则化
正则化是用来防止模型过拟合的过程,常用的有L1正则化和L2正则化两种选项,分别通过在损失函数后加上参数向量w 的L1范式和L2范式的倍数来实现。这个增加的范式,被称为“正则项”,也被称为"惩罚项"。
L1正则化和L2正则化虽然都可以控制过拟合,但它们的效果并不相同。当正则化强度逐渐增大(即C逐渐变小),参数w 的取值会逐渐变大,但L1正则化会将参数压缩为0,L2正则化只会让参数尽量小,不会取到0。
梯度下降
梯度是一个向量,因此它有大小也有方向。它的大小,就是偏导数组成的向量的大小,又叫做向量的模,记作d 。它的方向,几何上来说,就是损失函数J(w) 的值增加最快的方向,就是小球每次滚动的方向的反方向。只要沿着梯度向量的反方向移动坐标,损失函数 J(w)的取值就会减少得最快,也就最容易找到损失函数的最小值。
逻辑回归在sklearn中的实现:https://nbviewer.jupyter.org/github/xiaotaiyang08/123/blob/master/逻辑回归.html