参考:开源项目:机器学习集成学习与模型融合(基于python)
https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning
机器学习数据集包括训练集和测试集,好的机器学习模型可以在训练集和测试集上都表现优异!
首先说明下,偏差Bias,方差Variance和误差Error:
Error = Bias + Variance
Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。
欠拟合是指模型在训练集和测试集上都表现不好,过拟合则是模型在训练集上表现很好,但是测试集上表现不佳,过拟合可以通过增加数据量,或者正则化和降维等方式处理
正则化
L2正则化(岭回归)
在线性回归中,我们的损失函数为:
我们在线性回归的损失函数的基础上添加对系数的约束或者惩罚,即:
调节参数𝜆的大小是影响压缩估计的关键,𝜆越大,惩罚的力度越大,系数则越趋近于0,反之,选择合适的𝜆对模型精度来说十分重要。岭回归通过牺牲线性回归的无偏性降低方差,有可能使得模型整体的测试误差较小,提高模型的泛化能力。
L1正则化(Lasso回归)
岭回归的一个很显著的特点是:将模型的系数往零的方向压缩,但是岭回归的系数只能呢个趋于0但无法等于0,换句话说,就是无法做特征选择。能否使用压缩估计的思想做到像特征最优子集选择那样提取出重要的特征呢?答案是肯定的!我们只需要对岭回归的优化函数做小小的调整就行了,我们使用系数向量的L1范数替换岭回归中的L2范数:
为什么正则化可以防止过拟合呢?
简单地理解就是,通过加入一个正则项,在最小化新的代价函数的时候,正则项使得预测值与真实值之间的误差并不会达到最小,也就是说它是不会去完美拟合的,这样也就防止了过拟合,提高了机器学习模型的泛化能力。
降维
将原始的特征空间投影到一个低维的空间实现变量的数量变少,如:将二维的平面投影至一维空间。机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达
主成分分析(PCA)
主成分分析的思想:通过最大投影方差 将原始空间进行重构,即由特征相关重构为无关,即落在某个方向上的点(投影)的方差最大。