@tankle
2015-03-07T11:50:56.000000Z
字数 3219
阅读 3975
机器学习
本笔记是Course上台湾大学林轩田老师的《机器学习技法课》的学习笔记,用于学习之后的一些总结。
首先,对于Aggregation模型,其基本思想就是使用不同的
对于合成的方式主要有四种:
方法 | 数学描述 |
1. 选择。选择最值得可信的 | |
2. 均一式(uniform)混合(blending)。使用每个 | |
3. 非均一式(non-uniform)混合。对于不同的 | |
4. 条件是混合。在不同的条件下选择不同的 |
该方法的
优点:简单,流行
缺点:依赖一个很强的假设
在该方法中,
此方法最好是能够有不同的
该方法不仅适用于2分类,也适用于多分类,还适合回归问题。
对于回归问题:
uniform blending还有一个优点是,使用blending的方式产生的结果,比将每个单独的
下面是理论分析:
上述理论表明,使用投票的方法产生的误差要比使用单独的
其中对于
在Aggregation模型中,除了blending(混合)之外,还有一种思想,就是在混合的过程中,同时进行
在learning的模型中,最关键也在
混合和学习三种不同集成方式下的对照表
集成方式 | blending(混合) | learning(学习) |
均一方式(uniform) | voting(投票)/averaging | Bagging |
非均一方式(non-uniform) | linear blending | AdaBoost |
条件式(conditional) | Stacking(Any blending) | Decision Tree |
由上面可知,当bagging模型中的基本算法对数据的随机性敏感的话,该算法会比较有效。
AdaBoost的基本思想是对每个样本赋予不同的权重,来产生一个
算法流程:
具体过程可以参考这篇博文:AdaBoost算法的原理与推导
决策树的优缺点:
决策树的基本流程:
其中有四个关键点。
1. 分支的个数(C)
2. 产生分支的条件
3. 算法终止条件
4. 基本假设
对于上述4个关键点,CART(Classification and Regression Tree)使用了独特参数。
1. C = 2, 产生的树是一个二叉树
2. 对于产生分支的条件,使用了数据的纯洁度来进行度量
3. 算法的终止条件是:
a. 所有
b. 所有的
4. 基本假设是:
a. binary/multiclass classification (0/1 error): majority of {
b. regression (squared error): average of {
算法基本流程:
按照上述算法生成的是一颗满二叉树,这样的结果是会造成overfit,因此需要进行剪枝。
CART的优点是:
1. 适用于类别标签数据
2. 对一些有缺失的数据也能够起作用
3. 是具有可解释性的
4. 支持多标签数据
5. 分类的过程非常高效
上面这些优点也是其他算法很难同时具备的,除了其他的一些决策树算法。
将上述各个算法进行进一步融合,便得到了更加复杂的算法。
比如:Random Forest, Gradient Boosted Decision Tree
基本算法流程:
在这讲中还讲到了几个概念:
1. OOB,就是在boost的过程中,需要对数据进行采样,这样就会造成有些数据一直没有被采样过。
2. Feature Selection(特征选择),在RF中,使用的是一种叫排列测试来进行特征选择
上述两点都是RF的优点,在训练过程中不需要额外的validation set,使用OOB既可以进行自我检验;在训练过程中还可以进行特征选择,能选出那些重要的特征。
这一节还没怎么听懂。
先贴一个算法流程:
对于整个Aggregation Models的总结