白话机器学习算法(十八)决策树

来源:互联网 发布:extjs object转json 编辑:程序博客网 时间:2024/04/30 07:28

http://blog.csdn.net/wangxin110000/article/details/23655761

前面说了条件熵,对于AB两个变量,我们知道了B便可以缩小A的范围,B能给我们减少A的不确定性;

决策树就是这样一种规则,当我知道了向量的所有属性的时候,他的类别就确定了,每多知道一个属性,这个向量的所属范围便缩小一部分。

“决策树学习本质上是从训练数据集中归纳出一组分类规则,与训练数据集不相矛盾的决策树可能有多个,也可能一个都没有,我们需要找的是一个与训练数据矛盾较小的决策树,同时具有很好的泛化能力。”摘自《统计学习方法》

决策树主要分为三个步骤:

1)属性选择

2)节点生成

3)剪枝

在属性选择方面,主要有信息增益,与信息增益比

信息增益:

H(D)-H(D|A)表示在知道A以后,D的熵减少的量;

g(D , A)=H(D) - H(D|A)

用这种方法,存在选取那些取值较多的特征,为什么?最直观的解释是,当A的取值范围较多,每个取值对应的空间便很小,当知道了A的取值,那么便将整个搜索空间压缩到了一个很小的范围内去确定数据最后的分类,也就是知道A的值最能减少D的不确定性;  

为改进这个问题提出了信息增益比

信息增益比:

我们知道一个分布便对应一个熵,一个分类号,一个属性都可以对应一个熵

g(D , A)/ H(A)  = 信息增益比

当H(A)比较大,即A属性的取值较多,会使得信息增益比降低,这相当于一个正则因子,抑制选取“选取那些取值较多的特征”这样一个趋势;


ID3即选择信息增益作为节点选择的依据,而C4.5选择信息增益比;


决策树的核心除了属性选择,便是剪枝了!

当训练集合相容的时候,即训练集合中没有矛盾项,那么训练出的决策树在训练集中可以有很高的正确率,但是随着树的复杂度增加,树的泛化性便变弱,复杂性与泛化性总是一对矛盾体,在SVM中便有正则化因子来抑制模型的复杂度,以达到较好的泛化性;

决策树也是这么做的,在误差选项上加上一个正则因子:叶子节点数目(叶子节点越多说明树越复杂),利用动态规划的方法寻找在  决策误差与模型复杂度之间的最佳权衡;

决策误差与叶子节点(模型复杂度)之间是个矛盾的关系,决策误差小了,那么模型复杂度会上升,反之也是,通过调节正则化参数的系数,系数越大说明你越看重模型的泛化性,系数为0说明你只看重训练集上的正确率;

程序中通过从下到上剪枝,剪枝以后模型复杂度降低,但是误差上升,通过比较剪枝前后,总误差函数的大小决定是否剪枝;


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 想去当兵有纹身怎么办 爸家里人欺负我妈怎么办 部队退伍登记表填错怎么办 新手程序员第一次做项目怎么办 十六岁月经量少怎么办 大姨妈第一天痛怎么办 月经第一天很疼怎么办 神器挑战任务放弃了怎么办 内蒙古森林武警改革新兵怎么办 手挨打了有点肿怎么办 征兵过程中身份证号重复怎么办 去当兵身上有纹身怎么办 武警警卫部队改革新兵怎么办 肾结石3mm很痛怎么办 剖腹产第6天肾结石痛怎么办 左肾5mm结石怎么办 肾结石手术后反复发烧怎么办 百世快递会被退回怎么办 身份证被列入黑名单了怎么办 顺丰寄方客户要求退回快递费怎么办 蛋蛋被皮筋弹肿了怎么办 人肌肉里的绦虫卵怎么办 鞋子前面踢坏了怎么办 猫割完蛋蛋流东西怎么办 北京怡瑞被骗后怎么办 玩滑板睾丸碎了怎么办 雄鸽不会踩蛋怎么办 玩滑板蛋碎了怎么办 精子在精囊满了怎么办 孩子的睾丸一大一小怎么办 肾阳虚早射该怎么办 有奶水吸不出来怎么办 苹果mac商店里没有软件怎么办 战地1安装包损坏怎么办 战地4db显示数据异常怎么办 战地1亚服没人怎么办 战地一加载太慢怎么办 饥荒手机版怪物跟人就打狗包怎么办 电脑文件损坏开不了机怎么办 黑魂1武器损坏怎么办 系统注册表文件丢失或损坏怎么办