# 5.8 Scoped Rules (Anchors) 1. 概述 * Anchors是 LIME 的延續,用以解決 LIME 中線性模型無法確定覆蓋度的缺點,以規則集合描述模型的局部行為,根據規則的充分條件來推測模型的行為及分類結果 * 大多數的可解釋模型,都是使用一個線性模型去擬合模型的局部行為,線性模型能給出樣本中不同特徵的相對重要性。但是由於線性模型擬合的是局部的結果,對於一個未知樣本,不能確定線性模型的結果是否適用於該樣本(即不確定該樣本是否在局部範圍內),這也就是線性模型的覆蓋度是不確定的,會導致低精確度(預測模型行為的精確度) * Anchors 為一種模型無關的解釋複雜機器學習模型的系統,使用高精度的規則進行解釋(使用局部的充分條件來解釋模型行為) 透過演算法來有效地生成這樣的規則,設計了多組實驗,針對各種複雜模型和不同領域,來驗證Anchors的可擴展性 * Anchors 無關的可解釋模型,基於if-then的規則,給出的解釋是模型在局部行為的充分條件,也就是說,若模型滿足該條件,則模型會給出某種分類(如公式) * D(.|A)表示滿足規則A的樣本的分佈,定義A為 Anchor,當A(x)=1,且A為預測f(x)的充分條件(即樣本滿足A中所有條件時,用據此判斷原始模型對樣本的預測結果大多數條件下是正確的)。 2. 5.8.1 Finding Anchors 方法使用四個主要組件來說明 * (1) 候選生成:生成新的解釋候選。在第一輪中,每個特徵 x有一個候選項被創建並修復可能的擾動的相應值。在每隔一輪中,前一輪的最佳候選者將被一個尚未包含在其中的特徵謂擴展 * (2) 最佳候選者識別:應比較候選規則,以解釋哪些規則 x 最好的。為此,通過調用模型來評估與當前觀察到的規則匹配的擾動。但是,這些調用需要最小化以限制計算。MAB (多臂吃角子老虎機測試 Multi-Armed Bandit)用於通過順序選擇有效地探索和利用不同的策略。在給定的設置中,每個候選規則都應視為可以拉動的手臂。每次將其拉出時,都會對相應的鄰居進行評估,從而獲得有關候選規則的收益(Anchors 情況下的精度)的更多信息 * (3) 候選精度驗證:選取更多樣本,檢視其他組合候選 τ 閾值 * (4) 改進Beam 搜索:上述所有組件都組合在Beam搜索中,Beam搜索是一種圖形搜索算法,是廣度優先算法的一種變體。Beam search algorithm. 每次輸出時,不在只是找出機率最高的規則,而是找出機率最好的前N個規則(beam width) ## 5.8.3 表格資料分析--看圖時間 透過圖表,可以直觀看到每組的anchors rules, coverages, precicion * 每條 bar 為一組 anchor * Bar 的寬度為coverage, X軸為該 rules 的precision * Bar 中的方塊為每個Features 的importance, 每格上的文字/數字為 feature 條件 FIGURE 5.40 * 當抓到的 anchor 位在決策邊界時(decision boundary)時,會出現 rule 有多個 feature 有貢獻。每個 rules 會因含括多個 feature 而降低 coverage 。 * 通常會用這個來判斷抓到了一個不穩定的anchor neighborhood FIGURE 5.41 * 在一個 unbalanced 的 data 中: * Y=0 都是empty rule, why ? 因為 Y=1 太少,所以取得候選規則後所抓的鄰居都是Y=0(健康的),學不到切分出y=0 & y=1的rule,最終造成empty rule。 * Y=1 規則複雜, why? 因為Y=1所在的 perturbation space 都是Y=0,rules就會overly specific,像專門為該點所設計的。找不到 generals rules並造成低coverage,因為鄰居都跟他不一樣 (類似5.40的情況) FIGURE 5.42 想要解決5.41遇到的問題 * 方法一 samples differently * 造成coverage 的 scope 改變 * 方法二 modify the MAB’s confidence δ and error parameter values ϵ * 每次計算抽更多的樣本,但會有重複抽樣的問題(放大少數特殊樣本的影響力) 圖片中,作者選擇抽樣,讓樣本幾乎都只有 Y=1(有癌症) 優點:可以看到個別 case 的決定性因子,且具有一定的coverage 缺點:這裡的coverage不等於全母體(global)的coverage ## Advantages: Anchors比LIME好的地方: * output容易理解,因規則容易解讀 * 可用子集資料,並以coverage來評量重要性 * 即便模型預測值是複雜、非線性仍然可以使用 * 因為使用reinforcement learning的技術,模型較不會underfitting * model-agnostic,可用於各種模型 * 運算非常有效率,使用MAB batch sampling可以平行運算 ## Disadvantages: * 一堆參數要設定和校調,每種use case都要設計自己的perturbation function * 很多情境下需要離散化資料,否則結果只適用於少數資料點,coverage過低。而離散化沒小心使用可能會模糊dicision boundaries、造成反效果 (Discretization is the process through which we can transform continuous variables, models or functions into a discrete form) * 運算速度取決於模型performance * 在某些範疇(如影像),coverage未被定義好 ## Software 作者有寫Python有套件與教學,[直接看作者的推薦吧](https://github.com/marcotcr/anchor) [Alibi](https://docs.seldon.io/projects/alibi/en/stable/methods/Anchors.html) 目前只能用在tabular data 與 text data,但理論上可用於任何形式的資料 ## 參考資料 [可解釋機器學習論文理解](https://blog.csdn.net/qq_34806485/article/details/85682491):簡單描述論文Anchors: High-Precision Model-Agnostic Explanations的重點 [可解释性机器学习](https://blog.csdn.net/weixin_37409506/article/details/102621139):什麼?!這篇把書的內容都簡短說明 [多工學習時轉角遇到Bandit老虎機](https://www.jishuwen.com/d/p29p/zh-tw):MAB是什麼? [Beam width](https://www.cnblogs.com/sddai/p/10552592.html):啟發式圖搜索算法,快速找到最接近正確解的方法之一 [作者PPT](https://drive.google.com/file/d/1QdBRUCn_yYtUlJaTyWghcp9XJZ4K2kY9/view) [參考論文] https://homes.cs.washington.edu/~marcotcr/aaai18.pdf ###### tags: `重點摘要`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up