機器學習(15) -- 規則學習

15.1 基本概念

機器學習中的“規則”通常指語義明確、能描述數據分佈所隱含的客觀規律或領域概念、可寫成“若……,則……”形式的邏輯規則。

規則學習是從訓練數據中學習出一組能用於對 未見示例進行判別的規則。規則學習具有更好的解釋性。

集合中每條規則都可看作一個子模型,規則集合是這些子模型的一個集成

規則覆蓋:符合該規則的樣本稱爲被該規則“覆蓋”。

 

“衝突”:當同一個示例被判別結果不同的多條規則覆蓋

衝突消解:解決衝突的辦法,常用的有投票法、排序法、元規則法等

默認規則:用來處理規則集合未覆蓋的樣本

 

規則分兩類:命題規則、一階規則

命題規則:原子命題+邏輯連接詞(與(∧)、或(∨)、非(¬)、蘊含(←)),命題規則難以處理對象之間的關係。

一階規則:描述事物屬性或關係的“原子公式”;一階規則能表達複雜的關係,因此也被稱爲關係型規則。命題規則是一階規則的特例

15.2序貫覆蓋

序貫覆蓋即逐條歸納:在訓練集上 每學到一條規則,就將該規則的訓練樣例去除,然後以剩下的訓練樣例重複上述過程。由於每次只處理一部分數據,因此也被稱爲“分治”策略

 

現實任務中產生規則的兩種策略:

自頂向下,從比較一般的規則開始,逐漸添加新文字以縮小規則覆蓋範圍,直到滿足預定條件爲止;亦稱“生成-測試”法,是規則逐漸“特化”的過程。覆蓋範圍從大到小,泛化性能好,對噪聲的魯棒性強

自底向上:從比較特殊的規則開始,逐漸刪除文字以擴大規則覆蓋範圍,直到滿足條件爲止,亦稱“數據驅動”法,是規則逐漸泛化的過程。覆蓋範圍從小到大,適用於訓練樣本較少的情形

規則生成過程中涉及評估規則優劣的標準

 

集束搜索:每輪保留最優的b個邏輯文字,在下一輪均用於構建候選集,再把候選集中最優的b個留待下一輪使用

15.3 剪枝優化

規則生成本質上是一個貪心搜索過程,需一定機制緩解過擬合風險,最常見的做法是剪枝

預剪枝:CN2算法,LRS越大,說明採用規則集進行預測與直接使用訓練集正、反例比率進行猜測的差距大,通常設置LRS很大(如0.99)時CN2算法才停止規則集生長

後剪枝: 減錯剪枝REP

REP:從訓練集學得規則R後進行多輪剪枝,每輪窮舉可能的剪枝操作,然後驗證集對剪枝產生的所有候選規則評估,保留最好的進入下一輪

 

IREP:在生成每條規則前,先將當前樣例集劃分爲訓練集和驗證集,在訓練集上生成一條規則r,立即在驗證集上對其進行REP剪枝,得到規則r',將r'覆蓋的樣例去除,在更新後的樣例集上重複上述過程。

IREP*:對IREP的改進,以 取代準確率,剪枝時刪除規則尾部的多個文字,並在最終的到規則集之後再進行一次IREP剪枝

RIPPER

先用IREP*剪枝機制生成規則集R,在R中的每條規則ri,RIPPER爲它產生兩個變體:

ri':基於ri覆蓋的樣例,用IREP*重新生成一條規則ri',該規則稱爲替換規則

ri'':對ri增加文字進行特化,然後再用IREP*剪枝生成一條規則ri'',該規則稱爲修訂規則

接下來,把ri'、ri''分別與R中除ri之外的規則放在一起,組成規則集R'、R'',與R一起進行比較,選擇最優的規則集保留下來

 

RIPPER優化策略有效原因:最初生成R的時候規則是按序生成的,每條規則都沒有對其後產生的規則加以考慮,這樣的貪心算法本質常導致算法陷入局部最優;RIPPER的後處理優化過程將R中的所有規則放在一起重新加以優化,恰是通過全局的考慮來緩解貪心算法的侷限性,從而往往能得到更好的效果。

 

15.4 一階規則學習

形式舉例:

簡潔的表達遞歸概念:

FOLL:一階規則學習算法

使用FOLL增益選擇文字:

15.5 歸納邏輯程序設計

歸納邏輯程序設計ILP,在一階規則學習中引入了函數和邏輯表達式嵌套。

 

 

 

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