Python 可解釋AI(XAI)實戰 Hands-On Explainable AI (XAI) with Python

Denis Rothman 葉偉民 朱明超 譯

  • Python 可解釋AI(XAI)實戰-preview-1
  • Python 可解釋AI(XAI)實戰-preview-2
  • Python 可解釋AI(XAI)實戰-preview-3
Python 可解釋AI(XAI)實戰-preview-1

買這商品的人也買了...

商品描述

主要內容 ? 在機器學習生命周期的不同階段規劃和實施 XAI ? 評估目前流行的各種XAI開源工具的優缺點 ? 介紹如何處理機器學習數據中的偏見問題 ? 介紹處理機器學習數據中的道德倫理和法律問題的工具和相關知識 ? 介紹XAI 設計和可視化方面的**實踐 ? 將XAI集成到Python模型中 ? 在整個機器學習生命周期中使用對應的XAI工具來解決業務問題

目錄大綱

第1 章 使用Python 解釋AI................1

1.1 可解釋AI 的定義........................2

1.1.1 從黑盒模型到XAI 白盒模型...........3

1.1.2 解釋和闡釋..........................................4

1.2 設計和提取...................................5

1.3 醫學診斷時間線中的XAI..........8

1.3.1 全科醫生使用的標準AI 程序..........8

1.3.2 西尼羅河病毒——一個生死

攸關的案例.......................................15

1.3.3 Google Location History 與XAI 的

結合可以拯救生命..........................21

1.3.4 下載Google Location History.........21

1.3.5 讀取和顯示Google Location

History................................................25

1.3.6 用XAI 增強AI 診斷.......................33

1.3.7 將XAI 應用於醫學診斷

實驗性程序.......................................38

1.4 本章小結.....................................42

1.5 習題.............................................42

1.6 參考資料.....................................43

1.7 擴展閱讀.....................................43

第2 章 AI 偏差和道德方面的

白盒XAI ............................... 45

2.1 自動駕駛汽車系統AI 的

道德和偏差................................46

2.1.1 自動駕駛系統在生死關頭是

如何做決策的...................................47

2.1.2 電車難題...........................................47

2.1.3 麻省理工學院的道德

機器實驗............................................48

2.1.4 真實的生死攸關情景.......................48

2.1.5 從道德倫理上解釋AI 的

局限性................................................49

2.2 對自動駕駛決策樹的解釋........51

2.2.1 自動駕駛系統的兩難困境..............52

2.2.2 導入模塊............................................53

2.2.3 檢索數據集........................................53

2.2.4 讀取和拆分數據...............................54

2.2.5 決策樹分類器的理論描述..............56

2.2.6 創建默認的決策樹分類器..............57

2.2.7 訓練、測量、保存模型..................58

2.2.8 顯示決策樹........................................60

2.3 將XAI 應用於自動駕駛

決策樹.........................................62

2.4 使用XAI 和道德來控制

決策樹.........................................68

2.4.1 加載模型............................................69

2.4.2 測量準確率........................................69

2.4.3 模擬實時案例...................................69

2.4.4 由噪聲引起的ML 偏差..................70

2.4.5 將道德和法律引入ML...................72

2.6 本章小結.....................................74

2.7 習題.............................................75

2.8 參考資料.....................................75

2.9 擴展閱讀.....................................76

第3 章 用Facets 解釋ML................77

3.1 Facets 入門..................................78

3.1.1 在Google Colaboratory

安裝Facets........................................78

3.1.2 檢索數據集.......................................79

3.1.3 讀取數據文件...................................80

3.2 Facets Overview..........................80

3.3 對Facets 統計信息進行排序....82

3.3.1 按特徵順序排序...............................83

3.3.2 按不均勻性排序...............................83

3.3.3 按字母順序排序...............................86

3.3.4 按缺失值或零值的數量排序.........86

3.3.5 按分佈距離排序...............................87

3.4 Facets Dive..................................88

3.4.1 構建Facets Dive 交互式界面.........88

3.4.2 定義數據點的標簽..........................90

3.4.3 定義數據點的顏色..........................92

3.4.4 定義x 軸和y 軸的binning ............93

3.4.5 定義散點圖的x 軸和y 軸..............94

3.5 本章小結.....................................96

3.6 習題.............................................96

3.7 參考資料.....................................97

3.8 擴展閱讀.....................................97

第4 章 Microsoft Azure 機器學習

模型的可解釋與SHAP......... 99

4.1 SHAP 簡介...............................100

4.1.1 關鍵的SHAP 原則.......................100

4.1.2 Shapley 值的數學表達式.............102

4.1.3 情感分析示例................................104

4.2 SHAP 入門...............................108

4.2.1 安裝SHAP.....................................108

4.2.2 導入數據........................................109

4.2.3 向量化數據集................................ 115

4.3 線性模型和邏輯回歸..............117

4.3.1 創建、訓練和可視化線性模型

的輸出............................................ 117

4.3.2 定義線性模型................................119

4.3.3 使用SHAP 實現與模型無關的

解釋.................................................121

4.3.4 創建線性模型解釋器....................121

4.3.5 添加圖表功能................................121

4.3.6 解釋模型的預測結果....................123

4.4 本章小結.................................. 130

4.5 習題.......................................... 131

4.6 參考資料.................................. 131

4.7 擴展閱讀.................................. 131

4.8 其他出版物.............................. 132

第5 章 從零開始構建可解釋AI

解決方案.............................133

5.1 道德倫理和法律視角.............. 134

5.2 美國人口普查數據問題......... 135

5.2.1 使用pandas 顯示數據...................135

5.2.2 道德倫理視角................................137

5.3 機器學習視角.......................... 141

5.3.1 使用Facets Dive 顯示

訓練數據.............................142

5.3.2 使用Facets Dive 分析

訓練數據.............................144

5.3.3 驗證輸出是否符合以上原則.......146

5.3.4 對輸入數據進行轉換....................153

5.4 將WIT 應用於轉換後的

數據集...................................... 155

5.5 本章小結.................................. 162

5.6 習題.......................................... 163

5.7 參考資料.................................. 163

5.8 擴展閱讀.................................. 163

第6 章 用Google What-If Tool(WIT)

實現AI 的公平性.................165

6.1 從道德倫理視角談AI

可解釋和可闡釋性................. 166

6.1.1 道德倫理視角................................166

6.1.2 法律視角........................................167

6.1.3 解釋和闡釋....................................167

6.1.4 準備符合道德倫理的數據集......168

6.2 WIT 入門..................................170

6.2.1 導入數據集....................................171

6.2.2 對數據進行預處理.......................172

6.2.3 創建數據結構以訓練和

測試模型........................................174

6.3 創建DNN 模型........................174

6.4 創建SHAP 解釋器..................177

6.5 模型輸出與SHAP 值..............178

6.6 WIT 數據點瀏覽器和

編輯器......................................181

6.6.1 創建WIT........................................181

6.6.2 數據點編輯器................................182

6.6.3 特徵.................................................186

6.6.4 性能和公平性................................187

6.7 本章小結...................................193

6.8 習題...........................................193

6.9 參考資料...................................194

6.10 擴展閱讀.................................194

第7 章 可解釋AI 聊天機器人......... 195

7.1 Dialogflow 的Python

客戶端......................................196

7.1.1 安裝Google Dialogflow 的

Python 客戶端...............................197

7.1.2 創建Google Dialogflow 代理......197

7.1.3 啟用API 和服務...........................200

7.1.4 實現Google Dialogflow 的

Python 客戶端...............................202

7.2 增強Google Dialogflow 的

Python 客戶端.........................205

7.2.1 創建對話函數................................205

7.2.2 在Dialogflow 實現XAI 的

限制.................................................206

7.2.3 在Dialogflow 創建意圖...............206

7.2.4 XAI Python 客戶端.......................212

7.3 使用Google Dialogflow 的

CUI XAI 對話......................... 216

7.3.1 將Dialogflow 集成到網站中.......216

7.3.2 Jupyter Notebook XAI 代理

管理器.............................................220

7.3.3 Google Assistant .............................220

7.4 本章小結.................................. 222

7.5 習題.......................................... 223

7.6 擴展閱讀.................................. 223

第8 章 LIME...................................225

8.1 介紹LIME............................... 226

8.1.1 LIME 的數學表示.........................227

8.2 開始使用LIME....................... 229

8.2.1 在Google Colaboratory 安裝

LIME...............................................230

8.2.2 檢索數據集和矢量化數據集.......230

8.3 一個實驗性的AutoML

模塊.......................................... 231

8.3.1 創建AutoML 模板........................232

8.3.2 Bagging 分類器..............................233

8.3.3 梯度提升分類器............................234

8.3.4 決策樹分類器................................234

8.3.5 極度隨機樹分類器........................235

8.4 解釋分數.................................. 236

8.5 訓練模型並生成預測.............. 236

8.5.1 分類器的交互選擇........................237

8.5.2 完成預測過程................................238

8.6 LIME 解釋器........................... 239

8.6.1 創建LIME 解釋器........................240

8.6.2 闡釋LIME 解釋器........................242

8.7 本章小結...................................247

8.8 習題...........................................248

8.9 參考資料...................................248

8.10 擴展閱讀.................................248

第9 章 反事實解釋法..................... 249

9.1 反事實解釋法...........................250

9.1.1 數據集和動機................................250

9.1.2 使用WIT 可視化反事實

距離.................................................251

9.1.3 使用默認視圖探索數據點

距離.................................................253

9.1.4 反事實解釋的邏輯.......................258

9.2 距離函數的選項......................262

9.2.1 L1 範數...........................................263

9.2.2 L2 範數...........................................264

9.2.3 自定義距離函數............................265

9.3 深度學習模型的架構..............266

9.3.1 調用 WIT.......................................266

9.3.2 自定義預測函數............................267

9.3.3 加載 Keras 預訓練模型..............268

9.3.4 檢索數據集和模型.......................269

9.4 本章小結...................................270

9.5 習題...........................................270

9.6 參考資料...................................271

9.7 擴展閱讀...................................271

第10 章 對比解釋法(CEM) ............ 273

10.1 CEM........................................274

10.2 將CEM應用於MNIST........276

10.2.1 安裝Alibi 並導入模塊.............276

10.2.2 導入模塊和數據集...................276

10.3 定義和訓練CNN 模型.........279

10.3.1 創建CNN 模型.........................281

10.3.2 訓練CNN 模型.........................281

10.3.3 將原始圖像與解碼圖像

進行比較.....................................285

10.4 相關負面................................ 287

10.4.1 CEM 參數...................................288

10.4.2 初始化CEM解釋器.................289

10.4.3 相關負面的解釋........................290

10.5 本章小結................................ 291

10.6 習題........................................ 292

10.7 參考資料................................ 292

10.8 擴展閱讀................................ 293

第11 章 錨解釋法...........................295

11.1 錨解釋法................................ 296

11.1.1 預測收入.....................................296

11.1.2 新聞組分類.................................299

11.2 對ImageNet 圖像預測

應用錨解釋法........................ 300

11.2.1 安裝Alibi 並導入其他

所需模塊.....................................300

11.2.2 加載InceptionV3 模型..............301

11.2.3 下載圖像.....................................301

11.2.4 處理圖像並進行預測...............302

11.2.5 構建錨圖像解釋器....................303

11.2.6 解釋其他類別............................306

11.2.7 錨解釋法的局限性....................308

11.3 本章小結................................ 309

11.4 習題......................................... 309

11.5 參考資料................................ 310

11.6 擴展閱讀................................ 310

第12 章 認知解釋法....................... 311

12.1 基於規則的認知解釋法....... 312

12.1.1 從XAI 工具到XAI 概念.........313

12.1.2 定義認知解釋法........................313

12.1.3 實踐認知解釋法........................315

12.1.4 特徵的邊際貢獻........................319

12.2 矢量化器的認知解釋法........322

12.2.1 解釋LIME 的矢量化器...........323

12.2.2 解釋 IMDb 的SHAP

矢量化器....................................325

12.3 CEM 的人類認知輸入..........327

12.4 本章小結................................ 331

12.5 習題........................................ 332

12.6 擴展閱讀................................ 332

習題答案..............................................333