机器学习技法总结(六)Decision Tree Hypothesis
这里先再次提出我们利用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相关推荐
- 【机器学习】决策树(Decision Tree)
[机器学习]k近邻算法(KNN) [机器学习]决策树(Decision Tree) [机器学习]朴素贝叶斯(Naive Bayes) 一.概述 决策树(Decision Tree)是有监督学习中的一种 ...
- 【CSDN软件工程师能力认证学习精选】机器学习之决策树(Decision Tree)及其Python代码实现
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 机器学习:Experiment 6: Decision Tree
目录 实验目的 软件环境 实验步骤与内容 1. 数据加载 2. 决策树 2.1 Implementing Decision Tree(构造决策树) 2.2 Evaluation using Cross ...
- 机器学习之决策树(Decision Tree)
文章目录 1. 决策树概念 2. 决策树实操 2.1 决策树多分类 2.2 决策树回归 2.3 决策树调参案例(Tatanic) 1. 决策树概念 决策树是根据特征进行树的构造,主要内容如下: 通过属 ...
- python决策树预测模型_机器学习:决策树(Decision Tree)
决策树(decision tree)是一种基本的分类与回归方法.在分类问题中,它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布.在学习时,利用训练数据,根据损失 ...
- 机器学习 之 决策树(Decision Tree)文本算法的精确率
目录 0.推荐 1.背景 2.效果图 3.本次实验整体流程 4.这里用词向量,而不是TF-IDF预处理后的向量 5.源代码 6.知识点普及 6.1决策树优点 6.2决策树缺点 0.推荐 无意中发现了一 ...
- python机器学习之决策树(decision tree)
文章目录 前言 一.环境 二.运用决策树进行分类 1.数据预处理,划分数据集 2.调用决策树分类器进行分类 3.graphviz工具画决策树图像 4.画出分类后样本点的分布图像 5.模型评估 三.决策 ...
- 台湾大学林轩田机器学习技法课程学习笔记9 -- Decision Tree
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Adaptive Boosting.AdaBoost演算法通过调整每笔资料的权重,得到不同的hypotheses,然后将不同的 ...
- Decision Tree
#①Aggregation Model 回顾上一篇文章讲到的聚合模型,三个臭皮匠顶一个诸葛亮.于是出现了blending,bagging,boost,stacking.blending有uniform ...
最新文章
- linux 如何查看服务和端口
- 八、【栈和队列】栈的应用
- 腾讯企业IT部安全运营中心总监蔡晨:十年沉淀,腾讯iOA为企业安全保驾护航...
- php 导出csv文件
- eos 源代码学习笔记一
- php isoptional,entity-framework – 实体框架7 Fluent API无法识别IsOptional()
- Labview-隧道 移位寄存器
- sqli-labs在线网站
- noip2015day1 T1 4510 神奇的幻方
- atom对比 vscode_Atom、Sublime Text、VSCode 三者比较
- 下载谷歌浏览器和谷歌驱动
- mac电脑查看CPU温度
- 斐波那契数列 一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?
- 终端进入服务器,mac使用Shell(终端)SSH连接远程服务器的方法
- 春节期间,怎样晒朋友圈才安全?
- 计算机刚启动时的背景怎样改,通达信启动界面图片怎么改,怎么修改系统登陆时候欢迎界面的背景图片?...
- 计算机调整亮度是哪个好,电脑屏幕亮度怎么调 电脑屏幕亮度怎么调对眼睛最好...
- 各种HDR标准的技术细节,读这一篇就够了
- “serve with message ‘spawn vue-cli-service ENOENT”的解决办法
- 常用的javascript实例
热门文章
- Safe handle has been closed异常的原因及解决思路
- SQL SERVER 2014无法启动T-SQL调试的解决方法(亲自实践)
- eclipse 配置Maven问题解决办法:新建maven工程时报错:Could not resolve archetype org.apache.maven.archetypes .
- mysql安装服务和安装中常见问题install/Remove of the Service Denied与net start mysql服务启动失败解决方法
- session跨域共享解决方案
- 微信扫码支付模式二【无法回调】解决方案(转)
- 如何枚举JavaScript对象的属性? [重复]
- AngularJS控制器中的#39;this#39;与$ scope
- 台式电脑如何重装系统windows10
- 超级计算机用于挖矿,全球至少500台超级计算机都被用来比特币挖矿