《机器学习技法》是国立台湾大学林轩田讲授的一门课程,课程的上集是《机器学习基石》。相关资源可以在youtube找到,也可在评论区索要云盘链接。本文主要是我学完一遍基石&技法后的笔记梳理,如果存疑请以原课程讲授内容为准,欢迎讨论~[注]本文仅适用于帮助复习,不适用于代替视频课程。
技法分为3个部分,分别为
● 核模型:嵌入大量特征(6小节)
● 融合模型:融合预测性特征(5小节)
● 抽取模型:提取隐性特征(4小节)
本文主要梳理第二部分。
二 融合模型:融合预测性特征(5)
1融合模型
1.1 VS validation
1.2融合模型的功效
1.3融合模型的种类
2 uniform blending
2.1 for classification
2.2 for regression
2.3理论保证
2.4 Bagging算法(Bootstrap
Aggregation)拔靴法融合
2.4.1例子
3 non-uniform blending
3.1 linear blending
for classification:
for regression:只需把sign改成1/N。
3.1.1α的计算
实践中通常是用minEval(α)
3.2 Any Blending
3.3 AdaBoost(Adptive
Boosting自适应增强) 皮匠法
3.3.1动机 三个臭皮匠赛过诸葛亮
3.3.2 teacher
3.3.2.1作用
u可以看作是子资料的权重,我们需要调整子资料的权重来获得更多样性的假设集。
3.3.2.2调整子资料的权重来获得更多样性的假设集
3.3.2.3算法
4决策树(conditionallearning)
4.1基本算法
4.2 Classification and RegressionTree(C&RT)
4..2.1 regularization by pruning(剪枝)
4.2.2 C&RT的特点
4.2.2.1容易处理类别特征
4.2.2.2容易处理丢失特征
4.2.3例子
4.2.4特点
5随机森林(bagging+fully-grownDTree)
5.1动机
5.2用特征分解的方式产生不同的树
5.3用OOB做自检
5.3.1 OOB的来源与大小
5.3.2自检
用于投影维度(d’’)的选择:
5.4特征选择
DTree和Adaboosting(stump横刀/纵刀针对x1/x2)都是rare model with built-in feature selection少有的内建特征选择的模型
对于RF:
5.4.1实现方法:permutation
test排列测试
优化:
5.5例子
例1
例2(有杂讯):
DTree会overfit,经过投票,RF能够容噪(蓝区内允许x,红区内允许o)
5.6调参经验
6 Gradient Boosted Decision Tree梯度提升决策树(Adaboost+pruned DTree)
6.1动机
加权取样,训练出不同的决策树,再用线性blending融合。
6.2 weighted
SVM的话直接改Ein部分即可,
DTree为了保证不对算法本身做修改,只能在取样下文章。
6.3 pruned DTree
完全长成的树不可行
完全剪枝的树会退化成AdaBoost-Stump
6.4 Adaboost
这里橙色部分,可以看成
①线性投票
②离hyperplane的距离
看成距离以后,若yn为负希望sn越负越好,若yn为正希望sn越正越好。
6.4.1误差函数
这个目标函数希望最小化,可以把它当作以前的误差函数,即使它并不是误差。
把这个误差做好了,同时也能把s和y同号这个二分类问题做好,即最后s和y差不多都是同号的。
6.4.2最小化误差函数
加一个好的g和α进去,由于g和α都还不知道,先用h和η表示
①找到好的h:
最终返回一个在u(t)资料上Ein最小的h加到融合模型里头。h可看作是梯度下降的方向。
②找到好的η:
③总结:AdaBoost可看作steepest descent(η) with approximate(泰勒) functional gradient(h)
6.5 GradientBoost
以下for regression
6.5.1好的h
6.5.2好的η
6.5.3应用:GBDT
7总结
7.1 blending
7.2 learning
7.3 aggregation
效果: