机器学习(四)—逻辑回归LR

1、关于模型在各个维度进行不均匀伸缩后,最优解与原来等价吗? 

  答:等不等价要看最终的误差优化函数。如果经过变化后最终的优化函数等价则等价。明白了这一点,那么很容易得到,如果对原来的特征乘除某一常数,则等价。做加减和取对数都不等价。

2. 过拟合和欠拟合如何产生,如何解决? 

  欠拟合:根本原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大; 
      解决方法:增加特征维度; 
  过拟合:根本原因是特征维度过大,导致拟合的函数完美的经过训练集,但对新数据的预测结果差。 
      解决方法:(1)减少特征维度;(2)正则化,降低参数值。

  减少过拟合总结:过拟合主要是有两个原因造成的:数据太少+模型太复杂 
  (1)获取更多数据 :从数据源头获取更多数据;数据增强(Data Augmentation) 
  (2)使用合适的模型:减少网络的层数、神经元个数等均可以限制网络的拟合能力; 
  (3)dropout 
  (3)正则化,在训练的时候限制权值变大; 
  (4)限制训练时间;通过评估测试; 
  (4)增加噪声 Noise: 输入时+权重上(高斯初始化) 
  (5)结合多种模型: Bagging用不同的模型拟合不同部分的训练集;Boosting只使用简单的神经网络;

3、关于逻辑回归,连续特征离散化的好处 

  在工业界,很少直接将连续值作为特征喂给逻辑回归模型,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:

  1. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易scalable(扩展)。

  2. 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰。

  3. 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合。

  4. 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力。

  5. 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问。

  大概的理解:1)计算简单;2)简化模型;3)增强模型的泛化能力,不易受噪声的影响。

4、一些问题: 
  解决过拟合的方法:数据扩充、正则项、提前终止 
  如何用LR建立一个广告点击的模型: 
    特征提取—>特征处理(离散化、归一化、onehot等)—>找出候选集—->模型训练,得到结果 
  为什么LR需要归一化或取对数? 
    符合假设、利于分析、归一化也有利于梯度下降 
  为什么LR把特征离散化后效果更好? 
    引入非线性

猜你喜欢

转载自www.cnblogs.com/eilearn/p/8990034.html