逻辑回归:logistic回归是一种广义的线性回归,通过构造回归函数,利用机器学习来实现分类或者预测。
- 线性模型:通过特征的线性组合预测的函数。其一般向量格式为:
线性模型具有较好的可解释性,w表示不同特征对标签预测的重要性。
(2)原理:本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测在特征x的线性组合下,标签y发生的概率值,同时通过最大似然估计对模型W,b进行最优参数估计,以更新线性模型参数,以更好地拟合数据集。g(z)可以将连续值映射到0和1上;
P(y):在特征x的线性组合下,标签y发生的概率值;
(3)LR算法流程:
(4)本质:先使用线性回归模型的预测值逼近分类任务真实标记的对数几率,后假设P(y)服从某分布,然后使用极大似然估计做参数估计。
(5)逻辑回归计算过程公式推导:
由于逻辑回归针对二分类,P(y):在特征x的线性组合下,标签y发生的概率值;则1-P(y)为标签y不发生的概率值;
通过最大似然估计找到最优参数w,b,使似然度(概率)最大化;(参数优化目标:损失最小化)
似然函数:
两边取对数即
取整个数据集上的平均对数似然损失,得:
则其损失函数为:
求解损失函数:★随机梯度下降;★牛顿法
★随机梯度下降: 通过 J(w) 对 w 的一阶导数来找下降方向,并且以迭代的方式来更新参数,每次更新参数后,可以通过比较 ||J(wk+1)-J(wk)|| 小于阈值或者到达最大迭代次数来停止迭代。
★牛顿法:在现有极小点估计值的附近对 f(x) 做二阶泰勒展开,进而找到极小点的下一个估计值。(要求:目标函数J(w)是二阶连续可微的)
(6)正则化:(目的:避免过拟合)
●在训练误差最小化的条件下,尽可能采用简单的模型,可以有效提高泛化预测精度。如果模型过于复杂,变量值稍微有点变动,就会引起预测精度问题。正则化之所以有效,就是因为其降低了特征的权重,使得模型更为简单。
●正则化一般会采用 L1 范式(添加一个先验知识:w 服从零均值拉普拉斯分布)或者 L2 范式(添加一个先验知识:w服从零均值正态分布),其格式如:,代入后得:
L1正则化:
L1 正则化增加了所有权重 w 参数的绝对值之和逼迫更多w为0,L1 正则化的引入就是为了完成特征自动选择;
L2正则化:
L2 正则化中增加所有权重 w 参数的平方之和,逼迫所有 w 尽可能趋向0但不为0,因为在未加入 L2 正则化发生过拟合时,拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大,在某些很小的区间里,函数值的变化很剧烈,也就是某些 w 值非常大。为此,L2 正则化的加入就惩罚了权重变大的趋势。
(7)优点:
- 直接对分类的概率建模,无需实现假设数据分布,从而避免了假设分布不准确带来的问题(区别于生成式模型);
- 不仅可预测出类别,还能得到该预测的概率,这对一些利用概率辅助决策的任务很有用;
- 对数几率函数是任意阶可导的凸函数,有许多数值优化算法都可以求出最优解。
(8)与不同模型间对比:
模型 | 相同点 | 不同点 |
线性回归 | 都属于广义线性模型 |
|
SVM |
|
|
朴素贝叶斯 | 属于分类模型,当朴素贝叶斯的条件概率服从高斯分布时,它计算出来的 形式跟逻辑回归是一样的。 |
|
Sklearn 框架实现逻辑回归