目錄
第15章 規則學習模型
15.1 基本概念
15.2 序貫覆蓋
15.3 剪枝優化
15.4 一階規則學習
15.5 歸納邏輯程式設計(ilp)
15.5.1 最小一般泛化(lgg)
15.5.2 逆歸結
15.6 閱讀材料
「規則」通常指語義明確,能描述資料分布隱含的客觀規律或領域概念,可寫成「若..則..」。
與其他黑箱模型相比,規則學習具有更好的可解釋性。
絕大多數人類知識都能通過數理邏輯來進行刻畫,因此便於引進領域知識。
符合一條規則的樣本稱為被該規則「覆蓋」。
當同乙個示例被判別結果不同的多條規則覆蓋時,稱發生了衝突。
解決衝突的方法稱為衝突消解,包括投票法、排序法、元規則法。
一般都要設定預設規則,來處理規則集合未覆蓋的樣本。
命題規則vs一階規則(關係型規則) p348
規則學習最直接的做法是「序貫覆蓋」,即逐條歸納。
每學到一條規則,就將該規則覆蓋的樣本去掉,以剩下的樣例繼續訓練。
由於每次只處理一部分資料,所以也被稱為「分治」策略。
基於窮盡搜尋的做法
例子:p350。
但現實中會因為組合**而不可行。
通常有兩種策略:
自頂向下(生成-測試) vs 自底向上(資料驅動)
前者是從一般的規則開始,逐漸新增新文字,是規則逐漸「特化」的過程
更容易產生泛化效能較好的規則。
對雜訊魯棒性強。
例子p351-352。
可每次採用多個最優文本來避免過於貪心。
後者是從特殊的規則開始,減少文字,是「泛化」的過程。
更適用於訓練樣本較少。
規則生成本質是乙個貪心搜尋過程,需要緩解過擬合。
最常見做法是剪枝
預剪枝 vs 後剪枝
cn2演算法的預剪枝。借助了統計性檢驗。
rep的後剪枝,o(m^4)。
irep o(m log^2 m)
著名的規則學習演算法 ripper 後處理機制,將r中所有規則再進行一次優化,就是通過全域性的考慮來緩解了貪心演算法的區域性性。
通常很難定義屬性值。
因此可以採用「色澤更深(2,1)、更好(2,1)」這樣的表述方式。
色澤更深 這樣的原子公式稱為「背景知識」
更好 這樣由樣本類別轉化而來的原子公式稱為「關係資料樣例」
一階學習能容易的引入領域知識,是相比命題學習的一大優勢。
在命題規則學習乃至一般的統計學習中,引入領域知識通常有兩種做法:
1)通過領域知識構造新屬性。
2)基於領域知識設計某種函式機制(如正則化)來對假設空間進行約束。
foil演算法:著名的一階規則學習演算法。
遵循序貫覆蓋並採用自頂向下的歸納策略。
並採用後剪枝進行優化。
使用foil增益來選擇文字。
在一階學習中引入了函式和邏輯表示式巢狀
容易看到這樣就不能自頂向上了,因為無法窮舉。
ilp都採用自底向上的策略。
如何把特殊規則轉化為一般規則?
最基礎的技術是lgg
舉例:p358 - p359
歸結原理:一階謂詞演算中的演繹推理能用一條十分簡潔的規則描述。
可將複雜的邏輯規則和背景知識聯絡起來化繁為簡
逆歸結:能基於背景知識來發明新的概念和關係
p360-p363 具體過程有些抽象
逆歸結的一大特點是可以自動發明新謂詞,這些新謂詞可能對應於一些新知識。
規則學習是符號主義學習的主要代表
、
第15章 物件導向程式設計 14
15.8.1 指標型控制代碼 class base class child public base class basemanager basemanager const basemanager i p i.p use i.use basemanager const base i basemanag...
14天動手學深度學習 Task2
一 梯度消失 梯度 以及kaggle房價 隨機初始化模型引數 在神經網路中,通常需要隨機初始化模型引數。下面我們來解釋這樣做的原因。如果將每個隱藏單元的引數都初始化為相等的值,那麼在正向傳播時每個隱藏單元將根據相同的輸入計算出相同的值,並傳遞至輸出層。在反向傳播中,每個隱藏單元的引數梯度值相等。因此...
第4章 14 統計字元 15分 Python
本題要求編寫程式,輸入10個字元,統計其中英文本母 空格或回車 數字字元和其他字元的個數。輸入格式 輸入為10個字元。最後乙個回車表示輸入結束,不算在內。輸出格式 在一行內按照 letter 英文本母個數,blank 空格或回車個數,digit 數字字元個數,other 其他字元個數 的格式輸出。輸...