<XAI系列-II> Skoped Rules

Lucia
Jun 21, 2022

--

承接上一篇XAI的Explainable Boosting Machine,今天我們要聊的是Skoped Rules演算法。

Skoped Rules 的相關套件在Sklearn Package中,是由法國的 BPCE DIGITAL團隊在2018年提出的演算法。

此演算法是透過學習決策樹的規則來作為目標類別的範圍界定(Scoping),使得決策樹相關的模型同時具有解釋力與預測能力。

Skoped Rules的介紹將分為兩個部分:

  1. 介紹演算法(本篇)
  2. 實作

這個演算法有三個階段:

  1. Bagging Estimator: 訓練多個決策樹做Bagging集成(也就是隨機森林),將其產生出的規則作為Rules
  2. Performance Filtering: 將Out Of Bag的資料分別對每一個Rule做對應的預測,如果Precision和Recall的值並未超過所設定的threshold,此Rule將會從規則的集合中被剔除
  3. Semantic Deduplication: 將決策規則的集合重新建立成一棵樹,並從其中剔除語意重複的規則
Image Source

在這三個步驟中,若有基礎對隨機森林和分類問題評估的概念,應該蠻好理解前兩個步驟的。

但在第三個步驟提及:「Semantic Deduplication語意重複數據刪除 」的概念就需要花一點時間來仔細看一下了。

為了保持規則的多樣性,去除帶有重複意義的規則能造保有多樣性,並且較具有解釋能力上的優勢。

在規則集合中我們已經透過第二個步驟篩選出一些規則的集合,下圖中可看到,將集合中出現最多次的特徵作為根節點來建構出一棵新的Rule Tree。

下圖使用 C0作為根節點,並以 C0是大於或是小於某個數 亦或者C0不在規則中來作為節點的分裂。

第二層的節點分裂中,可以看出有些規則在同一次分裂中有相似的特徵但不同的閥值,在此會被認為是有重複的語意。

然而,如何在重複語意的規則中究竟該保留哪一個規則,在Skoped Rules 的documentation和海報中都沒有看到詳細的解釋。

Image Source

二、Sample Code 實作

Quesitons:

Q:讀過本篇過後,我目前對於 Skoped Rules 困惑的點是在經過第三步驟後,是如何得到對應結果的?是與RuleFit一樣做Regression訓練嗎還是…?

希望各路大神有任何指教不吝提出!謝謝!

--

--

Lucia

在LLM時代餬口飯吃,技能越點越歪的工程師