sklearn与逻辑回归-应用
进阶应用
逻辑回归过拟合分析与解决方案
作者 : 老饼 日期 : 2022-06-26 10:08:59 更新 : 2022-08-03 20:45:09
本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com


过拟合是机器学习中常见的现象,

不同模型有不同的特性,对避免过拟合也就会有不同方案,

本文分析并讲解,逻辑回归应如何避免过拟合。



  01.逻辑回归过拟合分析结论   


先说分析结论,下面再慢慢分析


   结论   


只要变量处理好了,逻辑回归基本不会出现过拟合。
在生产中我们入模变量基本都是质量较好的变量,因此过拟合基本不会发生。


  02. 逻辑回归过拟合来源分析  


   (一)过拟合回顾   


过拟合是什么
过拟合是指模型对y的拟合能力过强,
导致模型参数过于追求数据上的拟合,
而产生违背真实规则的结果。

如何避免过拟合
我们一般会通过以下两个方面,去避免模型过拟合:
1、合理抑制模型的拟合能力                             
2、排除违背真实关系的结果                             
(通用的是加正则项排除系数过大的结果)
关于模型的拟合能力
拟合能力来源于
(1)单个变量对y的塑造能力,
(2)变量个数                         
要抑制拟合能力,主要是降低模型的塑造能力,和减少变量个数

关于系数过大
系数过大时,y对x的变化率就过大
这样会带来两方面:
(1) 放大输入误差:因为x不总是采集准确的,如果y对x过于敏感,则x小小的误差都会被放到极大。       
(2) 由于y对x变化过大,数据点之间极容易产生峰(谷)状规则,即整个拟合结果非常跌宕不稳定。       



  (二)逻辑回归过拟合来源分析  


针对逻辑回归,我们分析如下:
(1) 单变量塑造能力:逻辑回归单个变量对y就是是S形函数,拟合能力很有限,这个不会产生过拟合。            
(2) 变量个数:变量个数是逻辑回归过拟合的主要来源。                                                                                
(3) 系数过大:由于逻辑回归是S型函数,不会造成数据点间的峰(谷)形态。因此,仅会造成误差放大问题。
因此,逻辑回归避免过拟合,重心应放在变量个数上,同时兼顾系数的合理性。




   03.逻辑回归过拟合解决方案  


经分析,要解决的问题主要是控制变量个数和避免系数过大。


  (一)控制变量个数  


控制变量个数的手段有如下:
1. 业务手段,把逻辑不成立的变量去除。                                   
2. 数据分析手段,相关性较大的变量只保留一个。                     
3. 建模手段:采用逐步回归。                                                   
逐步回归流程
1. 历遍所有变量,把拟合结果最好的变量作为第一轮选择变量。                                  
2. 在第一轮选择变量的基础上,添加第二个变量,                                                      
历遍剩余变量,添加哪个变量能令拟合结果最好,就将其作为第二轮选择变量。
3. 在第二轮的基础上,添加第三个变量......                                                                   
......
直到变量不再对拟合结果带来明显贡献时,就不再添加变量。


   (二)控制系数过大   


控制系数过大,一般可以采用正则化,添加L1或L2项。
我们知道 ,加入正则项,实际是在“小化权重”与准确率间取平衡点,
也即是会牺牲求解的准确率。
因此,我们一开始并不加入正则项,
而是训练好模型后,如果各个变量的w有极大值,且与业务逻辑不符合时,再添加正则化重新训练,
PASS:sklearn默认会加入L2正则项,我们需要在参数中关闭它。







 End 








联系老饼