7小时速成集成学习实录
从昨天下午三点开始用一些零散的时间速补了一波集成学习的相关内容,便于后续继续学习知识蒸馏。信息来源主要依靠CSDN和《统计学习方法》,现简单整理一下有效内容便于后续复习。
集成学习就是之前在model compression论文整理中提到的ensemble,根据其中个体学习器是否为同一种可划分为同质和异质,这些学习器大多数会选择为弱学习器,即泛化性能略优于随机猜测的学习器。
泛化性能generalization ability,是模型预测能力。这个概念我之前不懂,看文献的时候猜出了十有八九,在统计学习方法的1.6中无意中看到了,记录一下以免忘记。
根据学习器之间的关联性,又可被分为序列化方法和并行化方法。前者代表学习器之间存在强依赖关系,必须串行生成,代表算法boosting;后者表示模型间不存在强依赖关系,可同时生成,代表算法bagging,random forest。
Boosting算法会在迭代过程中给训练集中的个体每次赋予不同的权重,个人理解就是在强调预测错误的个体,让接下来的学习器引起重视。代表算法是Adaboost。这一算法首先需要假设所有的基学习器线性相关。伪代码中有一个很微妙的1/2 ln概率比的部分,我回去查了一下数学推导,是为了在当前学习器函数下想使损失函数最小,用损失函数对学习器函数求了一个偏导得出来的。
Bagging主要运用bootstrap思想,对训练集进行有放回地随机取样,形成一个又一个训练集子包,把这些包再打在一起作为新的训练集。这名字确实十分形象。
还有一个东西叫stacking,因为暂时用不到就看了眼基础原理,不赘述。
决策树,一句话概括就是带有特征筛选机制的条件概率分类器变体。
特征选择依靠被称为信息增益以及信息增益比(信息增益与训练集关于特征的熵的比值,避免偏向于选择取值较多的特征而造成过拟合)的指标(以下简称为信息增益程度)。
ID3算法和C4.5算法依靠信息增益程度进行树的生成,有一个判别参数,特征的信息增益小于这个参数的全部pass。这过程让我迅速联想到了pca中的特征选取,简直如出一辙。
特征选择和树的生成都他们只考虑了特征,也就是模型对训练数据的拟合程度,却没有考虑模型本身复杂度造成的影响,所以我们要进行树的修剪。这个行为与实现结构风险最小化的时候在经验风险公式的后面加入正则项的行为目的基本一致,参数的形式也很相似。
【7小时速成集成学习实录】最后,记录一下我总是理解不好的一个概念:极大似然估计。利用已知的样本结果反推最有可能导致这一结果的参数值。这一思想在朴素贝叶斯分类器里面起到了极大的作用。
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- 私有化轻量级持续集成部署方案--03-部署web服务(下)
- Spring集成|Spring集成 Mina
- 通过复盘快速成长(附模板)
- Python机器学习基础与进阶|Python机器学习--集成学习算法--XGBoost算法
- 网络请求,如斯优雅
- 雅集成长第二季|雅集成长第二季 第三周
- doc---Hbuilder中配置集成终端(cmd)
- travis|travis CI 持续集成
- springmvc|springmvc 集成 Spring Data Elasticsearch 遇到的坑