DataMing Papers:

因爲這篇文章引用的資料暫時還沒閱讀,因此沒有看出這篇文章的高明之處,目前只能把文章的算法簡單介紹一下,文章的精髓和意義等看了其他文章之後再來修改。

需要繼續看的文章:<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>中闡述。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章