An Algorithm Summary of Programming Collective Intelligence (1)

就按照最后一章的顺序来说吧。很多名字都不知道中文该怎么说,就直接用英文名称了。

Naive Bayesian Classifier 朴素贝叶斯分类器
nb算法是通过学习样本中已经分类的条目,计算生成条目中的特性相对于类别的概率矩阵,然后根据待分类条目中特性在这个矩阵中的值来反向计算条目的类别概率。

P(Category|Item)=P(Item|Category)*P(Category)/P(Item)

在静态样本中,P(Item)是固定的,所以可以去掉简化计算。但是如果样本集是动态的,就需要考虑进来。

P(Item|Category)=P(Feature1|Category)*P(Feature2|Category)*...

优点:
速度快
增量训练时可以不使用旧样本
容易理解
分类效果往往比想象的好
缺点:
对于内容庞杂的大分类来说效果不太好,特别是出现比较中性的特性组合时更是如此。

Decision Tree Classifier 决策树
dt算法进行分类计算是很简单直观的,它的技巧在于决策树的构造过程。样本是已知的条件结果数据矩阵,需要决定的是用来分类的条件顺序。为了得到这个顺序,就要针对每个条件计算单纯应用这个条件分类后结果的混合度,也就是看用哪个条件来分可以分得更清楚一些。确定了最好的分类条件,就把数据分开成若干子集,对每个子集再计算最佳分类条件,以此类推,直到子集只包含一个结果或者达到某些终止条件。

dt算法有两个有意思的地方。一是如何计算应用某个条件得到的分类结果的混合度。书里面给了一个简单的计数算法和一个熵算法(好亲切啊)。

p(i)=frequency(outcome)=count(outcome)/count(total rows)
Entropy=sum of p(i)*log(p(i) for all outcomes

进一步计算information gain:
weight1 = size of subset1 / size of original set
weight2 = size of subset2 / size of original set
gain = entropy(original) – weight1*entropy(set1) – weight2*entropy(set2)

另外一个有意思的地方是对不同类型的条件数据如何选择分类点。对于是否问题这个比较容易解决,但是对于数值或者字符串或者更复杂的类型就要特殊情况特殊处理了。

优点:
结果简洁直观
可以处理不同的条件数据类型
缺点:
不能通过增量训练来改进,生成决策树必须使用整个已知样本集。
大数据集可能存在的众多条件会产生巨大繁杂的决策树,分类计算会变得缓慢。

转载于:https://www.cnblogs.com/ysjxw/archive/2008/04/11/1148887.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20160821_第三周周报

写在前面 心情大概是无比糟糕的,生活上的一些事情是使最近的心情变得很糟糕,昨天打了场cf,昨天21点开始的,因为宿舍要锁门,所以不得不打半个小时然后赶紧回宿舍,打的时候,不断手残,…

hihoCoder 1227 2015 北京网络赛 A题

题意: 给定m个点,然后从这m个点里找到一个点作为圆心,求一个最小的半径使得圆内刚好有n个点,没有压线的点。 思路: 预处理一下各点间的距离,暴力枚举圆心,然后找到排序后的第n个判断即可。坑…

知识的殿堂??!

进入大学都接近三年了,说实话,确实从大学里学到了不少东西,锻炼了心理素质,学会了扯淡,学会了一些技术的东东。平时不知道都忙些什么,不怎么上课,不怎么作业,不知怎么的就具备了这些…

树链剖分详解及模板

这几天学习了一下树链剖分,顺便写一下我的理解、 早上看了一下别人的讲解,云里雾里,终于算是搞懂了、 树链剖分是解决在树上进行插点问线,插线问点等一系列树上的问题 假如现在给你一棵树,然后没两条边之间有一条权…

客户端代理的作用

客户端代理的作用•在对象里做了一个标记–“__type” “ComplexType.Color”•服务器端根据标记选择反序列化的目标类型•可出现“多态”效果aspx<form id"form1"runat"server"><asp:ScriptManager ID"ScriptManager1"runat"ser…

汇编算术运算指令

汇编算术运算指令 8086的算术运算类指令能够对二进制或十进制&#xff08;BCD码&#xff09;数进行加、减、乘、除运算&#xff0c;操作数的数据形式可以是8位或16位的无符号数或带符号数。对于单操作数指令&#xff0c;不允许使用立即数形式&#xff1b;对于双操作数指令…

树链剖分入门讲解

“在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决&#xff0c;实际上&#xff0c;仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。 树链&#xff0c;就是树上的路径。剖分&#xff0c;就是把路径分类为重链和轻链。 记…

选择模块数据读取

1if(Bname"")2{ 3 Response.Write("<script languagejavascript>alert(错误的链接地址&#xff01;);history.go(-1);</script>"); 4 Response.End(); 5 }6if(Bid106&&Sid!0)7{ 8 //<!-- 标准法规--> 9 if(Sid127…

20160828_第4周周报

写在前面 这个周算是暑假集训的最后一周了&#xff0c;当然&#xff0c;周报还是要照常出的&#xff0c;不过昨天我看到了一些公司的商业的周报模板&#xff0c;于是就模仿着更改一下以后周报的报告风格&#xff0c;以后周报统统采用以下的格式进行&#xff0c;按照本周学习内容…

全国医院排名(2008)

中医学 广州中医药大学南京中医药大学 上海中医药大学中国中医研究院 山东中医药大学长春中医学院 山西省中医药研究院河北医科大学内蒙古医学院 [ 转自铁血社区 http://bbs.tiexue.net/ ]中药学 中国中医研究院成都中医药大学南京中医药大学 上海中医药大学 浙江大学广州中…

任重道远——记2016暑假训练

写在前面 刚开学这几天比较忙碌&#xff0c;昨天课也比较满&#xff0c;然后又打了cf&#xff0c;所以写总结的事情倒是拖了很久&#xff0c;早些时间是想到周天写的&#xff0c;结果周六周天又扣了两天的51nod&#xff0c;好容易今天空课&#xff0c;刚好对前一段的状态做一个…

Terrafugia希望在今年夏天带来真正可飞的Airplane

Terrafugia希望在今年夏天带来真正可飞的Airplane 大家都知道&#xff0c;Terrafugia的汽车飞机混合机种&#xff0c;他是是辆双座的汽车&#xff0c;拥有100-500英里的速度范围&#xff0c;一个独立的无铅汽油储备箱&#xff0c;同时配置有电子计算机&#xff0c;用来在空中飞…

手残脑残 记录仪

说明&#xff1a; 该博文用于记录做题过程中各种脑残/手残的低级问题&#xff0c;如果遇到手残的问题出现超过3次&#xff0c;可自行选择。剁手。。 极限数据&#xff0c;例如 0<n<10000 在做题过程中很容易漏掉边角数据&#xff0c;所以在编写的时候&#xff0c;务必…

四川汶川地震祈福赈灾宣传画、报纸头版精选第二版(超多图)

本篇Key词&#xff1a; 汶川地震祈福图片汶川地震祈福壁纸四川汶川地震祈福赈灾宣传画 四川汶川地震祈福赈灾宣传画 天使 不要害怕&#xff0c;手牵手渡过难关 孩子不哭 生命奇迹 从废墟中站起来 祝福灾区人民 众志成城&#xff0c;抗震救灾 众志成城&#xff0c;抗震救灾2 众…

Nim游戏的一个扩展——51nod 1661 黑板上的游戏+LA 5059 Playing With Stones

前几天做过一道题目&#xff0c;是Nim游戏的一个扩展&#xff0c;也不能说扩展吧&#xff0c;只是说另一种常见的状态。 问题引入&#xff1a; 给定n堆石子&#xff0c;每堆石子有vi&#xff08;1<vi<1e5) 个&#xff0c;每次可以取一堆中的一些石子&#xff0c;使得剩…

【转】三五个人十来条枪 如何走出软件作坊成为开发正规军

自从发了上一篇博文&#xff0c;这几天收到很多朋友的来信。大家从各个开发语言的优缺点和适用领域&#xff0c;一直讨论到设计模式、框架、重构、单元测试&#xff0c;乃至敏捷编程&#xff0c;最后都讨论到了软件开发过程管理&#xff0c;甚至都谈到了盈利模式和中国软件的悲…

2016年湖南省第十二届大学生计算机程序设计竞赛

题目&#xff1a; 任意门 听说这套题目是叉姐出的&#xff0c;感觉呵呵了。。。 据说现场牌都不够发的&#xff01;&#xff01;&#xff01;只能说给湖南省出的题目太强了&#xff0c;不适合新手去做&#xff0c;当然我这种老手也不见得做的多好&#xff0c;出了3题&#xf…

控件中的Events个人理解。

首先&#xff0c;了解一下与事件和委托有关的几个类和属性&#xff1a;Delegate, MulticastDelegate, EventHandler, EventHandlerList, EventHandlerList.ListEntry, Control, ComponentControl的Events属性是由System.ComponentModel.Component 继承而来,它是EventHandlerLis…

告白——一个loser的手记

“真不知道怎么会是这样&#xff1f;” 回味以前的种种&#xff0c;到最后才发觉你是如此的模样&#xff0c;如此的狼狈和破败&#xff0c;如此不堪一击。 你曾经以为和高手的差别不过丝毫&#xff0c;但今天看过来&#xff0c;高手夺得了顶峰&#xff0c;而你确一直在这里徘…

ManualResetEvent用法

ManualResetEvent 允许线程通过发信号互相通信。通常&#xff0c;此通信涉及一个线程在其他线程进行之前必须完成的任务。 public static ManualResetEvent mre new ManualResetEvent(false); ManualResetEvent建立时是把false作为start的初始状态&#xff0c;这个类用于通知另…