决策树

决策树

Regression Trees

数据: (xi,yi)i=1,2...,N;xi=(xi1,xi2,..,xip)

  • 决策树算法需要决定划分特征和划分点,以及树该有的形状

假设:将数据划分为 R1,R2,...,RM ,为输出变量建模, cm

f(x)=m=1McmI(xRm)(1)

最小化平方差和: cm 的值是该区域的 y 值得平均

c^m=ave(yi|xiRm)

  • 树的大小是一个tuning parameter,用于控制模型的复杂度

代价:

Qm(T)=1NmxiRm(yic^m)2

复杂度代价标准:

Cα(T)=m=1|T|NmQm(T)+α|T|

α 权衡着树的大小和数据的拟合程度,大的 α 产生小的树

Classification Trees

  • 与回归不同的在于代价函数的选择和剪枝的方法
    p^mk=1NmxiRmI(yi=k)

    表示m区域中k类数据所占据的比例

集中常见的测量 Qm(T) 的node impurity的方法

误分类率 :

1NmxiRmI(yik(m)=1p^mk(m)

基尼系数:
kkp^mkp^mk=k=1Kp^mk(1p^mk)

cross-entropy
k=1Kp^mklogp^mk

对于二元分类而言,如果p是第二个类的比例,三种measures相当于
1max(p,1p);2p(1p);plogp(1p)log(1p)

决策树的缺点:不稳定,high variance,很小的数据变化能够改变整个划分;缺乏smoothness

邮件分类的例子

Table Predicted
True email spam
email 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的方法:
- 从总体中取出更多的样本,分别对不同的样本建模,取平均作为预测的结果
- 从总体中获取无限的样本是不实际的,因此利用从单个训练样本中反复取样

f^bag(x)=1Bb=1Bf^b(x)

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,
ririλf^b(x)

3.输出
f^(x)=b=1Bf^b(x)

你可能感兴趣的:(机器学习)