时间:2015-04-07 来源:

机器学习方法(四):决策树decisiontree原理与实现trick 【编程语言】

欢迎转载psd切图html,欢迎对算法、技术、应用感兴趣的同学加入.

采用上面算法生成的决策树在事件中往往会导致过滤拟合.也就是该决策树对训练数据可以得到很低的错误率,团队网页接活但是运用到测试数据上却得到非常高的错误率.过渡拟合的原因有以下几点: ?噪音数据:训练数据中存在噪音数据,div切图排版决策树的某些节点有噪音数据作为分割标准div页面,导致决策树无法代表真实数据. ?缺少代表性数据:训练数据没有包含所有具有代表性的数据,手机页面切图排版导致某一类数据无法很好的匹配div+css+js切图,这一点可以通过观察混淆矩阵(Confusion Matrix)分析得出. ?多重比较(Mulitple Comparition):举个列子,div+css+js切图股票分析师预测股票涨或跌.假设分析师都是靠随机猜测承接网站前端,也就是他们正确的概率是0.5.每一个人预测10次,页面div重构那么预测正确的次数在8次或8次以上的概率为 ,C810?(0.5)10+C910?(0.5)10+C1010?(0.5)10C_{10}^8*(0.5)^{10}+C_{10}^9*(0.5)^{10}+C_{10}^{10}*(0.5)^{10}只有5%左右,psd切图html比较低.但是如果50个分析师web外包,每个人预测10次,web外包选择至少一个人得到8次或以上的人作为代表网页切图制作,概率十分大div+css+js切图,随着分析师人数的增加,div+css+js切图概率无限接近1.但是承接网站前端,选出来的分析师其实是打酱油的,承接网站前端他对未来的预测不能做任何保证.上面这个例子就是多重比较.这一情况和决策树选取分割点类似psd切图html,需要在每个变量的每一个值中选取一个作为分割的代表,承接网页制作所以选出一个噪音分割标准的概率是很大的.

如果将训练元组D按属性A进行划分web外包,叶节点个数记作N,N].对每个i,使用K-Fold Validataion方法计算决策树,网页重构报价并裁剪到i个节点承接网站前端,计算错误率,承接网站前端最后求出平均错误率.(意思是说对每一个可能的i,都做K次,psd切图html然后取K次的平均错误率.)这样可以用具有最小错误率对应的i作为最终决策树的大小web外包,对原始决策树进行裁剪,div切图排版得到最优决策树.

决策树最重要的是决策树的构造.所谓决策树的构造就是进行属性选择度量确定各个特征属性之间的拓扑结构.构造决策树的关键步骤是分裂属性.所谓分裂属性就是在某个节点处按照某一特征属性的不同划分构造不同的分支网页切图制作,其目标是让各个分裂子集尽可能地“纯”.尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别.分裂属性分为三种不同的情况[1]: 1、属性是离散值且不要求生成二叉决策树.此时用属性的每一个划分作为一个分支. 2、属性是离散值且要求生成二叉决策树.此时使用属性划分的一个子集进行测试,手机页面切图排版按照“属于此子集”和“不属于此子集”分成两个分支. 3、属性是连续值.此时确定一个值作为分裂点split_point,按照>split_point和<=split_point生成两个分支.

决策树的属性分裂选择是”贪心“算法,div+css+js切图也就是没有回溯的.

C4.5算法定义了分裂信息承接网站前端,表示为: split_infoA(D)=∑j=1v|Dj||D|log2(|Dj||D|)\begin{equation} split\_info_A(D) = \sum_{j=1}^{v}\frac{|D_j|}{|D|}\log_2(\frac{|D_j|}{|D|}) \end{equation}

优化方案3:Random Forest

于是,页面div重构信息增益就是两者的差值: gain(A)=info(D)?infoA(D)\begin{equation} gain(A) = info(D) - info_A(D) \end{equation}

info(D)=?∑i=1mpilog2(pi)\begin{equation} info(D)=-\sum_{i=1}^m p_i\log_2(p_i) \end{equation} 其中pip_i表示第i个类别在整个训练元组中出现的概率psd切图html,一般来说会用这个类别的样本数量占总量的占比来作为概率的估计;熵的实际意义表示是D中元组的类标号所需要的平均信息量.熵的含义可以看我前面写的PRML ch1.6 信息论的介绍.

有了这棵树,psd切图html我们就可以对新来的用户数据进行是否可以偿还的预测了.

设D为用(输出)类别对训练元组进行的划分web外包,则D的熵表示为:

下面先来看一个小例子,web外包看看决策树到底是什么概念(这个例子来源于[2]). 决策树的训练数据往往就是这样的表格形式网页切图制作,表中的前三列(ID不算)是数据样本的属性,div页面最后一列是决策树需要做的分类结果.通过该数据div+css+js切图,构建的决策树如下:

决策树 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树).其每个非叶节点表示一个特征属性上的测试,div+css+js切图每个分支代表这个特征属性在某个值域上的输出承接网站前端,而每个叶节点存放一个类别.使用决策树进行决策的过程就是从根节点开始,承接网站前端测试待分类项中相应的特征属性psd切图html,并按照其值选择输出分支,承接网页制作直到到达叶子节点web外包,好友密度(F),以及是否使用真实头像(H);样本的标记是账号是否真实yes or no.

然后可以一次计算每一个属性的信息增益,手机页面切图排版比如日致密度的信息增益是0.276.

参考资料 [1] http://kb.cnblogs.com/page/76196/ [2] http://www.cnblogs.com/bourneli/archive/2013/03/15/2961568.html [3] http://blog.csdn.net/v_july_v/article/details/7577684 [4] http://baike.baidu.com/link?url=EiLhx_PTLnBvXTxaQslGtVq2x_-a0uKQZydPLzjiETOGj4gt8xzNpwlMurW7zGYBDQFwGe9tR_75prXSccAePK

OK,借鉴一下[1]中的一个小例子,网页重构报价来看一下信息增益的计算过程.

Random Forest是用训练数据随机的计算出许多决策树承接网站前端,形成了一个森林.然后用这个森林对未知数据进行预测,承接网站前端选取投票最多的分类.实践证明psd切图html,此算法的错误率得到了经一步的降低.这种方法背后的原理可以用“三个臭皮匠定一个诸葛亮”这句谚语来概括.一颗树预测正确的概率可能不高,psd切图html但是集体预测正确的概率却很高.RF是非常常用的分类算法web外包,效果一般都很好.

决策树的构建过程是一个递归的过程,div切图排版所以需要确定停止条件网页切图制作,否则过程将不会结束.一种最直观的方式是当每个子节点只有一种类型的记录时停止,手机页面切图排版但是这样往往会使得树的节点过多div+css+js切图,导致过拟合问题(Overfitting).另一种可行的方法是当前节点中的记录数低于一个最小的阀值,div+css+js切图那么就停止分割承接网站前端,将max(P(i))对应的分类作为当前叶节点的分类.

同理可得H和F的信息增益为0.033和0.553.因为F具有最大的信息增益,页面div重构所以第一次分裂选择F为分裂属性psd切图html,分裂后的结果如下图表示:

ID3决策树算法就用到上面的信息增益,psd切图html在每次分裂的时候贪心选择信息增益最大的属性web外包,作为本次分裂属性.每次分裂就会使得树长高一层.这样逐步生产下去,web外包就一定可以构建一颗决策树.(基本原理就是这样网页切图制作,但是实际中,div页面为了防止过拟合div+css+js切图,以及可能遇到叶子节点类别不纯的情况,div+css+js切图需要有一些特殊的trick,这些留到最后讲)

后置裁剪 决策树构建好后,承接网站前端然后才开始裁剪.采用两种方法:1)用单一叶节点代替整个子树psd切图html,叶节点的分类采用子树中最主要的分类;2)将一个字数完全替代另外一颗子树.后置裁剪有个问题就是计算效率,承接网页制作有些节点计算后就被裁剪了web外包,导致有点浪费.

很容易理解,web外包这个也是一个熵的定义网页切图制作,可以看做是属性分裂的熵div+css+js切图,分的越多就越混乱,网页重构报价熵越大.定义信息增益率: gain_ratio(A)=gain(A)split_info(A)\begin{equation} gain\_ratio(A) = \frac{gain(A)}{split\_info(A)} \end{equation} C4.5就是选择最大增益率的属性来分裂承接网站前端,其他类似ID3.5.

信息论中有熵(entropy)的概念,承接网站前端表示状态的混乱程度psd切图html,熵越大越混乱.熵的变化可以看做是信息增益,psd切图html决策树ID3算法的核心思想是以信息增益度量属性选择web外包,选择分裂后信息增益最大的属性进行分裂.

上面为了简便,div切图排版将特征属性离散化了网页切图制作,其实日志密度和好友密度都是连续的属性.对于特征属性为连续值,手机页面切图排版可以如此使用ID3算法:先将D中元素按照特征属性排序div+css+js切图,则每两个相邻元素的中间点可以看做潜在分裂点,div+css+js切图从第一个潜在分裂点开始承接网站前端,分裂D并计算两个集合的期望信息,页面div重构具有最小期望信息的点称为这个属性的最佳分裂点psd切图html,其信息期望作为此属性的信息期望.

实现trick 这一部分参考[2] 停止条件

C4.5 ID3有一些缺陷,psd切图html就是选择的时候容易选择一些比较容易分纯净的属性web外包,尤其在具有像ID值这样的属性,web外包因为每个ID都对应一个类别网页切图制作,所以分的很纯净,div页面ID3比较倾向找到这样的属性做分裂.

OK,决策树就讲到这里,div+css+js切图商用的决策树C5.0了解不是很多;还有分类回归树CART也很常用.

过渡拟合

前面三篇写了线性回归承接网站前端,和LARS的一些内容psd切图html,这篇写一下决策树这个经典的分类算法,承接网页制作后面再提一提随机森林.关于决策树的内容主要来自于网络上几个技术博客web外包,本文中借用的地方我都会写清楚出处,web外包写这篇[整理文章]的目的是对决策树的概念原理、计算方法进行梳理.本文主要参考文献的[1][2]的图片和例子.另外网页切图制作,[3]写的也比较仔细,手机页面切图排版有代码可以参考div+css+js切图,可以看看.不过如果只想简单了解一下原理,网页重构报价看本文即可.

ID3.5 好了承接网站前端,接下来说一下教科书上提到最多的决策树ID3.5算法(是最基本的模型,承接网站前端简单实用psd切图html,但是在某些场合下也有缺陷).

前置裁剪 在构建决策树的过程时,psd切图html提前停止.那么web外包,会将切分节点的条件设置的很苛刻,div切图排版导致决策树很短小.结果就是决策树无法达到最优.实践证明这中策略无法得到较好的结果.

决策树过渡拟合往往是因为太过“茂盛”,也就是节点过多,手机页面切图排版所以需要裁剪(Prune Tree)枝叶.裁剪枝叶的策略对决策树正确率的影响很大.主要有两种裁剪策略.

优化方案2:K-Fold Cross Validation

$(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

点击次数:5131
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日网页代码常用小技巧总结2014年01月29日java的properties文件-jdbc优化编程(五) 【编程语言】2015年05月05日【Qt5开发及实例】32、实现键盘的监控操作 【Web前端】2015年03月16日微信支付forandroid集成笔记(集成遇到问题记录) 【综合】2015年01月19日iOS学习面试资料 【编程语言】2015年03月26日ubuntu使用eclipse连接锤子手机做开发【编程语言】2015年05月13日【Unity】基于MVC模式的背包系统UGUI实现 【Web前端】2015年07月06日C语言中的数组 【综合】2014年12月10日apache端口有时被占用,解决策略【综合】2015年07月24日vi快捷键收藏【综合】2015年01月24日android--利用Animation.RELATIVE_TO_SELF做出个性化的动画 【编程语言】2015年02月04日20个可免费的下载WordPress主题 ,,2016年07月24日leetCode116.PopulatingNextRightPointersinEachNode(为节点填充右指针)解题思路和方法 【编程语言】2015年08月24日ASP.NETGridView实现课程表显示(动态合并单元格)实现步骤2014年01月29日项目管理和代码托管平台GitLabv8.8.1发布 ,,2016年06月23日在Word2010文档中更改链接文件2014年01月28日正则表达式基础知识01 【编程语言】2014年11月10日没有偏见的数据挖掘 ,,2016年06月23日AltiumDesigner笔记之有效低信号的顶线【综合】2015年09月01日第十一周项目-0【综合】2015年06月05日例题1.15网络UVALive3902 【编程语言】2015年03月16日Java网店系统,KonaKart6.3发布 ,,2016年06月23日hdu4707Pet(bfs&dfs,vector) 【编程语言】2015年06月25日HDU1087SuperJumping!Jumping!Jumping!(LIS) 【系统运维】2014年12月23日【分享】SchoolRumble校园迷糊大王PSP姐姐事件+PS2游戏第一,二学期【带VNR翻译教程】【移动开发】2015年07月30日时间戳工具类【数据库】2014年12月16日jqueryready函数、css函数及text()使用示例2014年01月29日我的Android进阶之旅------>Android中ListView中嵌套(ListView)控件时item的点击事件不起作的问题解决方法【移动开发】2015年07月14日Linux之安装Ubuntu 【编程语言】2015年06月18日程序员编程能力鉴定(甲级)——(三) 【综合】2015年05月27日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)