Post

用 Coverage 框架打造決策樹

用 Coverage 框架打造決策樹

🎯 工程優化:用 Coverage 框架打造策略決策樹

我們每天都在面對無法簡單用「對」或「錯」來解決的問題。當我們討論公共政策或個人習慣時,爭論往往停留在立場的對立,而不是尋找最有效能 (Net Efficacy) 的解決方案。

這樣使得我們永遠停留在沒有解決方案,覆蓋率始終為 0% 的狀態。

Coverage 框架提供了一個轉變思維的方式:將任何主張視為一個可測試的假設(Assertion),而非絕對真理。今天,我們以一個常見的社會爭議——吸菸管制——為例,展示如何應用這個框架通過主張的組合進行策略優化。

這樣即使是糟糕的方案,依然可以提供比什麼都不做要更高的覆蓋率,或者反過來研究它為何在這些情境裡那麼糟糕,繼而啟發我們找出提升覆蓋而又不必勉強承擔副作用的主張,將各個不完美的主張組合妥善組合,繼而得出優質的政策。


🔬 第一步:定義核心主張:策略假設

這是行動方案和預期的功能。

目標: 在公共空間實現健康的空氣品質,同時處理吸菸人口的實際需求。

  • $A_{Initial}$ (道德/稀疏策略): 「在所有公共場所全面禁止吸菸,違者罰款。」
    • 問題: 雖然 Coverage 貌似 100%(所有人都享有無菸空氣),但 Side Effect 極高(吸菸者壓力積累、轉向隱蔽場所吸菸、執法成本高昂)。

第二部:驗證集

必須明確定義主張目標覆蓋範圍 (Intended Coverage) 也就是在這些情況下,這個主張必須發揮效用並且副作用最低

這是用來衡量主張 $A$ 的 Coverage (C)Side Effect (SE) 的真實世界情境集合。

類型測試案例 (Test Case)測量目標
Primary Set (C)在高人流戶外區設立新型吸菸區後,非吸菸者投訴量是否下降?政策是否成功覆蓋非吸菸者的需求?
Primary Set (C)有哪些公共空間?政策是否成功覆蓋這些地區?
Primary Set (C)有哪些健康空氣品質的水平?政策是否成功覆蓋所有情況?或許有哪些是禁煙所無法覆蓋的情況?
Primary Set (C)吸菸人口的實際需求是哪些?政策是否成功覆蓋所有需求?
Secondary Set (SE)禁令實施後,吸菸者是否轉向樓梯間、廁所等更隱蔽場所吸菸?政策是否造成非預期的副作用
Blind Spot嚴禁吸菸的公園內,兒童對二手菸的暴露程度是否改善?確保沒有被忽略的利害關係人
Blind Spot嚴禁吸菸的社區內,焦慮情緒是否失去出口?確保沒有被忽略的隱藏變數

🔄 第三步:啟動迭代循環與淨效能評估

現在我們開始測試並迭代策略,目標是找到淨效能 ($C - SE$) 最高的組合。

階段一:測試與衝突發現

我們從三個不同的主張出發,評估它們對解決吸菸者需求的覆蓋程度:

  • $A_1$ (替換策略): 推出「尼古丁替代療法(貼片、口香糖)免費試用」的政策。
    • 社區測試結果: $C = 50\%$ (成功覆蓋一半願意嘗試替代療法的吸菸者需求)。
  • $A_2$ (限制策略): 「設立高科技抽風的戶外吸菸亭,設有專門管理員。」
    • 實驗推算結果: $C = 35\%$ (覆蓋了需要定點吸菸但無法戒菸的群體)。
    • 但發現: 這些吸菸亭會吸引人流聚集,導致副作用 (SE):某些非吸菸區(例如吸菸亭附近咖啡店門口)的二手菸濃度增加,導致 $A_1$ 原本覆蓋的 $50\%$ 群體中有 $10\%$ 的人投訴空氣品質下降。

淨效能分析: $A_1 + A_2$ 的總覆蓋度並非簡單相加。由於 $A_2$ 產生副作用,它抵消了 $A_1$ 的部分成果

總 Coverage=C(A1)+C(A2)SE(A2 對 A1 的影響)=50%+35%10%=75%\text{總 Coverage} = C(A_1) + C(A_2) - SE(A_2 \text{ 對 } A_1 \text{ 的影響}) = 50\% + 35\% - 10\% = 75\%

階段二:迭代與優化 (創造 $A_3$)

為了避免 $A_2$ 的副作用,我們必須迭代,創造一個更純淨的主張 $A_3$:

  • $A_3$ (隔離策略): 「設立遠離人流動線、使用植物隔離的低技術戶外吸菸區。」
    • 結果: $C = 20\%$ (覆蓋了偏好遠離人群、不喜歡高科技吸菸亭的吸菸者)。
    • 副作用 (SE): 經測試,對 $A_1$ 的 $50\%$ 群體無負面影響

優化後的總覆蓋度: $A_1 + A_3$

總 Coverage=C(A1)+C(A3)=50%+20%=70%\text{總 Coverage} = C(A_1) + C(A_3) = 50\% + 20\% = 70\%

$A_1$ 和 $A_3$ 的組合雖然總體覆蓋度(70%)看似低於 $A_1+A_2$(75%),但由於其淨副作用更低,它可能是更穩健、更長久的策略。

階段三:應對新的盲點(持續優化)

總有人發現新的案例。或許某個使用者在 Validation Set 中新增了「醫院入口吸菸」的案例,這是政策的盲點

此時,我們不能停止,而是要根據這個新案例重新評估 $A_1$ 和 $A_3$ 的組合,並創造 $A_4$ 來覆蓋剩下的 $30\%$ 邊緣案例。這就是 Coverage 框架的精髓:持續優化,永不滿足於現狀。


🌳 第四步:決策樹 (Decision Tree)

政策的本質是多個高淨效能主張(A1​,A3​, 就像機器學習裡 Ensemble Policy 中的多個弱分類器)的組合,它們共同覆蓋了大部分情境。這就是我們的集合策略(Ensemble Policy)。決策樹則在其中扮演雙重角色:

1. 概念層:集合策略架構 (The Ensemble Policy Architecture)

這個視角展示了集體智慧如何將整個 驗證集 拆解成子問題,並為每個情境指派最佳主張,以最大化整體覆蓋率。避免限於爭論各個不完美的主張卻完全沒有可以行動的方案。

Ensemble Policy Architecture

雖然每一次嘗試都沒有解決問題,但需要解決的情境終究是越來越少了。始終有所進展,而不是任由最糟糕的 0% 覆蓋情況繼續延續下去。

2. 部署層:執法決策流程圖 (The Enforcement Decision Flowchart)

決策樹作為部署層,將這個複雜的集合策略轉化為現場可執行的標準化流程。對於執法者或管理者而言,這是一個高效率的診斷工具,能立即判斷應採取的行動。

決策樹

決策樹的價值:最小化注意力成本

1
2
3
資源節省: 個體無需重新評估所有政策的價值。只需問幾個簡單的情境問題,就能立即找到當前情境下的最優解。

策略共享: 這些樹狀圖就是一份高效率、低成本的共享策略。它讓每個人都能快速借用群體集體智慧的成果。

透過 Coverage 框架和 Decision Tree,我們將政策討論從無休止的道德審判,轉變為有方向、可衡量、持續進化的集體工程。

This post is licensed under CC BY 4.0 by the author.