Learning Explanatory Rules from Noisy Data 閱讀筆記2
Background
Logic Programming
定義
如果右邊所有項都true則左邊為true,也就是
if α1==true and α2==true ... and αm==true then α==true
α稱為head atom,α1到αm稱為body atom,
α的集合為A
α可以看做一個函數,可以放參數的,如果沒有參數就是ground的
比如
表示X和Y有連接有兩種可能,X和Y有邊(也就是 有邊等價於有連接) 或者 X和Z有邊且Z和Y有連接
ground rule定義為 所有變數被替換成常量 的操作,比如
如果有替換
則結合上面可以得到
定義
R是rule
α[θ]是替換操作
根據上式定義
再定義T time step之後的
然後定義 R entails γ 為 R |= γ
Inductive Logic Programming (ILP)
一個tuple(B, P, N)的ground atoms
B是一個ground atoms的集合
P是正例集合,即target里要訓練的
N是負例集合,即target之外的
舉例來說,學習哪些數字是偶數的任務
給定
其中zero表示判斷是否為0的斷言,succ(0,1)表示0後面是1的連接斷言
(確實1在0後面,2在1後面,3在2後面)
然後正負例是
所以解法是
其中|=為entail的意思
歸納Induction 就是找到規則R的集合,使R應用到B時,得到想要的結果,即正例被entailed負例沒有被entailed的結果
對於上面的判斷為偶數例子來說,其中一種解法是
也就是0是偶數,連續2次succ操作之後,也就是從0到了2,然後2也是偶數
(有點類似
X=0while true then print X X=X+2end
的偽代碼)
推薦閱讀:
※第二章:機器學習對配電網健康指數分析
※課程安利:用物理學的眼光看機器學習--Deep Learning and Quantum Many-BodyComputation
※有關NLP的比賽
※SRCNN 論文閱讀
TAG:機器學習 |