1、SVM(支持向量机):二分类模型。 定义在特征空间上的间隔最大的线性分类器。 2、核函数/核方法 解决数据在当前维度上线性不可分的问题。核函数将低维空间上的点映射到高维空间上,将不能线性分割的数据转化成可以线性分割的数据。 下面引用了李航老师在统计学习方法一书中对核函数的定义:核函数和映射没有关系。核函数只是用来计算映射到高维空间之后的内积的一种简便方法。 3、集成学习: 集成学习是组合多个弱监督模型以期得到一个更好更全面的强监督模型,潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。 (1)boosting的算法过程如下: 对于训练集的每个样本建立权值wi,增大被误分类的样本的权值 进行迭代的过程中,每一步迭代都是一个弱分类器,需要用某种策略将其组合,作为最终模型。 例如:AdaBoost给每个弱分类器一个权值,将其线性组合为最终分类器。误差越小的弱分类器,权值越大。 GBDT也是一种Boosting的方法,与AdaBoost不同,GBDT每一次的计算是为了减少上一次的残差,GBDT在残差减少(负梯度)的方向上建立一个新的模型。GBDT损失函数用泰勒函数的一阶导,XGBOOST 损失函数用泰勒函数的二阶导。 (2)bagging的算法过程如下: 从原始样本集中使用Bootstrap方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集。(k个训练集之间相互独立,元素可以有重复) 对于k个训练集,我们训练k个模型(这个k个模型可以选择决策树,knn等) 对于分类问题:由投票表决产生分类结构;对于回归问题:有k个模型预测结果的均值作为最后预测结构(所有模型的重要性相同) 随机采样(bootsrap):从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。 4、机器学习泛化误差: 偏差(bias)指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力。 方差(variance)度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。 噪声(noise)代表泛化误差的下界。 5、如何判断过拟合 过拟合的原因有两个方面:数据/模型。 数据:训练/测试数据分布不均匀,训练数据不足以代表全部数据。解决方法:将没有label的测试数据在训练模型的时候也同时作为输入 / 交叉验证,数据集扩增。 模型:模型过于拟合训练数据,导致模型在训练集和测试集上效果差异过大。解决方法:决策树模型进行剪枝,加L2范数,加early stopping(运行优化方法直到若干次在验证集上的验证误差没有提升时候停止。) 为什么L2范数可以避免过拟合?:当模型过拟合的时候,拟合曲线的变化幅度会非常大,即对函数求偏导的结果比较大,则参数的个数非常多/参数非常大,所以使用L2范数约束w的个数少,并且w每一项都接近0,这样就会让模型变得简单,简单的模型才会避免过拟合。