2019/12/06
《No.5: p49-p56》《增强型分析-AI驱动的数据分析、业务决策与案例实践》读书笔记
第3章 预测模型的新技术
集成学习(Ensemble learning)
1 定义: 集成学习: 结合多个预测模型结果,以改善使用单个模型的效果。根据结合的技术不同分为Averaging及Boosting两种方式
2 技术方式
2.1 Averaging: 分别独立训练不同的模型,然后采用平均或投票的方式,生成最终的模型。典型的方法有 “bagging”和 “随机森林”。
2.1.1 Bagging: 将训练数据分成不同的子数据集,然后在其上分别训练模型,最后采用如”投票”机制来实现最终模型输出。
2.1.1.1 训练数据过小时,可用自举技术(bootstrapping),从原样本抽样后再放回,产生多个子数据来训练模型。
2.1.1.2 训练数据很大时,可用bagging技术将数据分成许多小子集来训练模型。可提高模型精准度及稳定度。
2.1.1.3 海量数据建模未必一定比”抽样建模”效果好。精心构建的抽样数据来建模,也会有不错的效果,也兼顾效果与效率。
2.1.1.4 Scikit-learn提供了BaggingClassifier的算法容器,可调用指定的分类方法来进行建模。
2.1.2 随机森林
2.1.2.1 透过建立一系列的决策树,组成森林,通过投票来决定模型结果。
2.1.2.2 方式: Majority(取预测概率最高者)及平均方法(将同一类的预测结果的概率加总求平均值)。
2.2 Boosting方法: 按照序列的方式来训练模型,序列中每一个模型都在试图减少前面模型的误判。方法如,AdaBoosting和Gradient Tree Boosting。
2.2.1 AdaBoosting方法的运算过程,特点是计算了每个分类器的权重,权重的决定由误差要素得来的。
2.2.2 Scikit-learn有分类器可以调用。
2.3 Gradient Tree Boosting
2.3.1 梯度与梯度下降
2.3.1.1 梯度(Gradient),就是分别计算每个变量的偏微分,构成一个向量。
2.3.1.2 梯度下降(Gradient Decent):机器学习常用的拟合函数参数时,最小化损失函数的方法。就是求得损失函数小(拟合效果最优),能够以最快速度到谷底过程。
2.3.1.3 Learning rate: 控制参数寻求最小值的步伐大小。步伐过大会导致欠拟合(under fitting);步伐过小会导致过度拟合(over fitting)
2.3.2 Gradient Tree Boosting算法的原理
2.3.2.1 Gradient Tree Boosting算法既可以用作进行分类型的预测,也可以进行数值型的预测,两者算法原理相同,但在损失函数的选择完全不同。
2.3.2.2 在scikit-learn中,Gradient Tree Boosting算法有非常好的实现。