1、关于模型在各个维度进行不均匀伸缩后,最优解与原来等价吗?
答:等不等价要看最终的误差优化函数。如果经过变化后最终的优化函数等价则等价。明白了这一点,那么很容易得到,如果对原来的特征乘除某一常数,则等价。做加减和取对数都不等价。
2. 过拟合和欠拟合如何产生,如何解决?
欠拟合:根本原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大;
解决方法:增加特征维度;
过拟合:根本原因是特征维度过大,导致拟合的函数完美的经过训练集,但对新数据的预测结果差。
解决方法:(1)减少特征维度;(2)正则化,降低参数值。
减少过拟合总结:过拟合主要是有两个原因造成的:数据太少+模型太复杂
(1)获取更多数据 :从数据源头获取更多数据;数据增强(Data Augmentation)
(2)使用合适的模型:减少网络的层数、神经元个数等均可以限制网络的拟合能力;
(3)dropout
(3)正则化,在训练的时候限制权值变大;
(4)限制训练时间;通过评估测试;
(4)增加噪声 Noise: 输入时+权重上(高斯初始化)
(5)结合多种模型: Bagging用不同的模型拟合不同部分的训练集;Boosting只使用简单的神经网络;
3、关于逻辑回归,连续特征离散化的好处
在工业界,很少直接将连续值作为特征喂给逻辑回归模型,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:
- 稀疏向量内积乘法运算速度快,计算结果方便存储,容易scalable(扩展)。
- 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰。
- 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合。
- 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力。
- 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问。
大概的理解:1)计算简单;2)简化模型;3)增强模型的泛化能力,不易受噪声的影响。
4、一些问题:
解决过拟合的方法:数据扩充、正则项、提前终止
如何用LR建立一个广告点击的模型:
特征提取—>特征处理(离散化、归一化、onehot等)—>找出候选集—->模型训练,得到结果
为什么LR需要归一化或取对数?
符合假设、利于分析、归一化也有利于梯度下降
为什么LR把特征离散化后效果更好?
引入非线性
原文地址:https://www.cnblogs.com/eilearn/p/8990034.html