因为这篇文章引用的资料暂时还没阅读,因此没有看出这篇文章的高明之处,目前只能把文章的算法简单介绍一下,文章的精髓和意义等看了其他文章之后再来修改。
需要继续看的文章:<Improved boosting algorithms using confidence-rated predicitions> 本文章很多的公式出处来自该文章
<Learing classicication trees>
<Classification and Regression Trees>
<C4.5:Programs for Machine Learning>
Defination of ADTrees:1.A base condition :a boolean predicat e over instances.我的理解:一个判断条件或者一个决策点。
2.A prcondition: conjunction of (neg) base conditions. 我的理解:按照树的结构 就是一个路径所包含的所有的条件的合取。
3.A rule:if(p&&c) print(a);else if(p&&!c) print(b);else if(!c1) print(0).
4.一长串。这里懒得写了。总体来说 3和4规定了树的结构:从一个 PreditionNode 开始,生成若干个SplitNode(或者叫DecitionNode) 每个SplitNode生成两个PredictionNode ,这就是一个rule,循环往复。
ADTrees的定义让我开始看的晕乎(估计是我论文看少的原因>.<),其实用树图思考一下。就是描绘了一个树的结构。。。尤其是第四条定义,其实就是说如果一个rule存在,这个rule的PredicitonNode必须已经存在在树上了。。。。然后把这个rule加到树上面而已。
看完了ADTree的定义,下面看一下算法。
输入:D,训练元组,K,轮数
输出:R={};rule的集合。或者认为就是一个树。
注释:P,the set of predictionNodes。
C,the set of base conditions。
a,Z()的计算方法都略,论文里有,至于为什么,要去参考上面列的第一条论文。
方法: <1>k=0; 初始化,P={T},,C={对所有的属性所有值的判断(这是针对nominal的值,对于数值暂时还没有看具体算法)}R={r1} r1:if(T) print a;
<2>对于任意 p属于P,c属于C,计算 Z(p,c),选取最小值,计算a,b 生成r,
<3>把 p&&c,p&&!c加入P,r加入R.
<4>update(D),更新所有实例权值,k++.
<5>if(k<K) <2>;
else exit;
该算法在weka有实现,源码的解释在另外一篇<Weka学习 ADTree>中阐述。