这里先再次提出我们利用aggregation获取更好性能的Hypothesis G所涉及的方法:blending,就是在得到g_set之后进行融合;learning呢?就是在线online的获取g并融合。以下就是关于整个aggregation所涉及到的方法总结:

当中Bagging、AdaBoost我们都已经探讨。它们各自是基于uniform(voting / average)和non-uniform(linear)的aggregation type,那么以下就開始介绍一个基于conditional的learning model:decision tree(决策树)。

它实际上是模仿人类的决策过程。在C语言中很常见的if...else...语句就能够看作是很easy的decision tree。看我们怎样利用aggregation进行演进,例如以下图,我们希望internal nodes(内部的决策过程)都要很easy。从入口处将状况进行分开为不同的branch,Gc(x)作为一个独立的Sub-Tree。就是把一颗大Tree。配合上分支条件,分拆为小点的树,实际上就是一个递归结构的定义。tree = (root, sub-trees),root根部告诉我们怎样做branch。

另外对于Decision Tree有些优点和坏处,这里先给出。有一个大致的定位,例如以下图:

那么一个主要的decision tree演算法就应该例如以下:(採用递归的结构)。全部的资料送入作出一个大的树,root。sub-tree,然后再对sub-tree进行分解,一直到sub-tree不能再分。就是碰到了叶子(leaf)后就逐级回传,最后合成大的decision tree。

一个典型的决策树:C&RT:classification and Regression Tree。1)将branch分支为2元树(binary tree)。2)leaf级的hypothesis是g = Ein-optimal constant (常数)。3)内部节点:就直接用decision stump;4)利用全部可能的decision stump来计算其纯度(purity),最大的purity作为终于的decision stump(branching by purifying)

那么纯度的衡量都有哪些呢?

那么演算法什么时候停止呢?到全部的purity=1时。能够回传一个常数了;或者是全部的xn都一样时。也就说没有了decision stump了。

这样的是叫作强制停止。有个特点:叶子回传的是一个常数。

所以,主要的C&RT算法例如以下。能够非常easy做多类分类。

假设我们将树叶覆盖全部的数据,那么Ein非常有可能就变成0了,这样我们非常可能出现overfitting的现象。那又该如何做呢?对。 regularization!:让叶子节点变得少,就有可能控制模型复杂度。可是我们找全部可能的 tree,这有可能非常多。计算量比較大,那么假设我们利用C&RT得到一个fully-grown tree之后。比方是10个叶子,我们能够依次去掉一片叶子来得到10个砍掉的树,这样来进行Regularization可能是实用的。

如何选择lambda呢?

先讨论一下decision stump的输入特征都有哪些种,这将决定我们怎样利用decision stump进行分割。假设是数字特征,那么非常easy就是简单的decision stump,那么假设特征是categorical features时,能够利用decision subset进行处理。所以C&RT都能够处理。

假设有些特征丢失了,该怎么办呢?我们假设类比人的方法:就是类比。就是说,比方人的身高与体重有一定的关系,weight<50 == height < 150,就这样用替代的特征进行;所以C&RT可以处理丢失的特征;

最后举出一些样例来更加形象的了解Decision Tree这个模型的工作机制,跟AdaBoost-decision stump中的解说类似,相同先从简单的样例入手:

就是逐渐的递归地把树给展开。那么与AdaBoost有和区别呢?

能够非常清楚的看到,Decision Tree是一种有condition的分割,而AdaBoost则是全平面的分割,这样相比着decision tree就会有更加细腻的边界线,可是相比着AdaBoost VC bound的理论上的upper bound的限制,decision tree则没有那么多的理论上的解释,所以须要显式的regularization,而AdaBoost则不须要。

那么再看在复杂样本上的表现吧:

C&RT方法的特点例如以下总结。

不同的decision tree的演算法不同之处可能就是在于怎样regularization即怎样砍树叶子(pruning)。或者某些点上的处理不同而已。

以下可能要做的就是把C&RT算法基于上面的样例进行实现。并于AdaBoost-stump进行对照,以加深对Decision Tree的理论上的理解。

*****************************************************随时学习。随时分享******************************************************

机器学习技法总结(六)Decision Tree Hypothesis相关推荐

  1. 【机器学习】决策树(Decision Tree)

    [机器学习]k近邻算法(KNN) [机器学习]决策树(Decision Tree) [机器学习]朴素贝叶斯(Naive Bayes) 一.概述 决策树(Decision Tree)是有监督学习中的一种 ...

  2. 【CSDN软件工程师能力认证学习精选】机器学习之决策树(Decision Tree)及其Python代码实现

    CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...

  3. 机器学习:Experiment 6: Decision Tree

    目录 实验目的 软件环境 实验步骤与内容 1. 数据加载 2. 决策树 2.1 Implementing Decision Tree(构造决策树) 2.2 Evaluation using Cross ...

  4. 机器学习之决策树(Decision Tree)

    文章目录 1. 决策树概念 2. 决策树实操 2.1 决策树多分类 2.2 决策树回归 2.3 决策树调参案例(Tatanic) 1. 决策树概念 决策树是根据特征进行树的构造,主要内容如下: 通过属 ...

  5. python决策树预测模型_机器学习:决策树(Decision Tree)

    决策树(decision tree)是一种基本的分类与回归方法.在分类问题中,它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布.在学习时,利用训练数据,根据损失 ...

  6. 机器学习 之 决策树(Decision Tree)文本算法的精确率

    目录 0.推荐 1.背景 2.效果图 3.本次实验整体流程 4.这里用词向量,而不是TF-IDF预处理后的向量 5.源代码 6.知识点普及 6.1决策树优点 6.2决策树缺点 0.推荐 无意中发现了一 ...

  7. python机器学习之决策树(decision tree)

    文章目录 前言 一.环境 二.运用决策树进行分类 1.数据预处理,划分数据集 2.调用决策树分类器进行分类 3.graphviz工具画决策树图像 4.画出分类后样本点的分布图像 5.模型评估 三.决策 ...

  8. 台湾大学林轩田机器学习技法课程学习笔记9 -- Decision Tree

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Adaptive Boosting.AdaBoost演算法通过调整每笔资料的权重,得到不同的hypotheses,然后将不同的 ...

  9. Decision Tree

    #①Aggregation Model 回顾上一篇文章讲到的聚合模型,三个臭皮匠顶一个诸葛亮.于是出现了blending,bagging,boost,stacking.blending有uniform ...

最新文章

  1. linux 如何查看服务和端口
  2. 八、【栈和队列】栈的应用
  3. 腾讯企业IT部安全运营中心总监蔡晨:十年沉淀,腾讯iOA为企业安全保驾护航...
  4. php 导出csv文件
  5. eos 源代码学习笔记一
  6. php isoptional,entity-framework – 实体框架7 Fluent API无法识别IsOptional()
  7. Labview-隧道 移位寄存器
  8. sqli-labs在线网站
  9. noip2015day1 T1 4510 神奇的幻方
  10. atom对比 vscode_Atom、Sublime Text、VSCode 三者比较
  11. 下载谷歌浏览器和谷歌驱动
  12. mac电脑查看CPU温度
  13. 斐波那契数列 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
  14. 终端进入服务器,mac使用Shell(终端)SSH连接远程服务器的方法
  15. 春节期间,怎样晒朋友圈才安全?
  16. 计算机刚启动时的背景怎样改,通达信启动界面图片怎么改,怎么修改系统登陆时候欢迎界面的背景图片?...
  17. 计算机调整亮度是哪个好,电脑屏幕亮度怎么调 电脑屏幕亮度怎么调对眼睛最好...
  18. 各种HDR标准的技术细节,读这一篇就够了
  19. “serve with message ‘spawn vue-cli-service ENOENT”的解决办法
  20. 常用的javascript实例

热门文章

  1. Safe handle has been closed异常的原因及解决思路
  2. SQL SERVER 2014无法启动T-SQL调试的解决方法(亲自实践)
  3. eclipse 配置Maven问题解决办法:新建maven工程时报错:Could not resolve archetype org.apache.maven.archetypes .
  4. mysql安装服务和安装中常见问题install/Remove of the Service Denied与net start mysql服务启动失败解决方法
  5. session跨域共享解决方案
  6. 微信扫码支付模式二【无法回调】解决方案(转)
  7. 如何枚举JavaScript对象的属性? [重复]
  8. AngularJS控制器中的#39;this#39;与$ scope
  9. 台式电脑如何重装系统windows10
  10. 超级计算机用于挖矿,全球至少500台超级计算机都被用来比特币挖矿