决策树
Regression Trees
数据:(xi,yi)i=1,2...,N;xi=(xi1,xi2,..,xip)
- 决策树算法需要决定划分特征和划分点,以及树该有的形状
假设:将数据划分为R1,R2,...,RM,为输出变量建模,cm是个常量:
最小化平方差和:cm的值是该区域的y值得平均
- 树的大小是一个tuning parameter,用于控制模型的复杂度
代价:
Qm(T)=1Nm∑xi∈Rm(yi−c^m)2
复杂度代价标准:
α权衡着树的大小和数据的拟合程度,大的α产生小的树
Classification Trees
- 与回归不同的在于代价函数的选择和剪枝的方法
p^mk=1Nm∑xi∈RmI(yi=k)
表示m区域中k类数据所占据的比例
集中常见的测量Qm(T)的node impurity的方法
误分类率 :
1Nm∑xi∈RmI(yi≠k(m)=1−p^mk(m)
基尼系数:∑k≠k′p^mkp^mk′=∑k=1Kp^mk(1−p^mk)
cross-entropy−∑k=1Kp^mklogp^mk
对于二元分类而言,如果p是第二个类的比例,三种measures相当于
1−max(p,1−p);2p(1−p);−plogp−(1−p)log(1−p)
决策树的缺点:不稳定,high variance,很小的数据变化能够改变整个划分;缺乏smoothness
邮件分类的例子
Table | Predicted | |
---|---|---|
True | spam | |
57.3% | 4.0% | |
spam | 5.3% | 33.4% |
Sensitivity: =100×33.433.4+5.3=86.3%
Specificity : =100×57.357.3+4.0=93.4%
Bagging,Random Forests,Boosting
bagging(Bootstrap aggregation):a general-purpose procedure for reducing the variance of a statistical learning method
减少variance的方法:
- 从总体中取出更多的样本,分别对不同的样本建模,取平均作为预测的结果
- 从总体中获取无限的样本是不实际的,因此利用从单个训练样本中反复取样
out-of-bag(OBB):利用取样外的数据进行测试计算error
random forests:对特征和样本都同时取样
boosting:特点是,树是顺序生成的
Boosting for Regression Trees
1. 设置 f^(x)=0 和 ri=yi
2. For b=1,2,...,B,:
拟合f^b,with d splits to the training data(X,r)
更新f^:
f^(x)←f^(x)+λf^b(x)
更新residuals,
ri←ri−λf^b(x)
3.输出
f^(x)=∑b=1Bf^b(x)