- 原文地址:Using What-If Tool to investigate Machine Learning models.
- 原文做者:Parul Pandey
- 譯文出自:掘金翻譯計劃
- 本文永久連接:github.com/xitu/gold-m…
- 譯者:Starrier
- 校對者:lsvih,TrWestdoor
使用 What-If 工具來研究機器學習模型html
Google 開源了一個在無需編碼的狀況下,便可輕鬆分析 ML 模型的工具。前端
好的試驗能夠幫助咱們更好地理解它們的模型¹android
在這個可解釋機器學習的時代,人們不能僅僅知足於簡單地訓練模型並從中得到預測。爲了可以真正產生影響和取得良好的效果,咱們還應該可以探索和研究咱們的模型。除此以外,在進行該模型以前,還應該清楚地記住算法的公平性約束和誤差。ios
研究一個模型須要探索不少問題,當事者須要有偵探般的智慧去探索和尋找模型中的問題和不一致性。並且,這樣的任務一般都很複雜,須要編寫大量的自定義代碼。幸運的是,What-If Tool 爲咱們解決了這個問題,它使用戶更容易、更準確地檢查、評估和調試機器學習系統。git
What-If 工具 是一種用於研究機器學習模型的交互式視覺工具。縮寫爲 WIT,它令人們可以經過檢查、評估和比較機器學習模型來理解分類或迴歸模型。因爲它的用戶友好界面和對複雜編碼的依賴程度較低,開發者、產品經理、研究人員或者學生均可以經過使用它來達到目的。github
WIT 是由 Google 的 PAIR(人 + AI 搜索) 團隊發佈的一個開源可視化工具 。PAIR 經過 Google 將研究人員聚齊,研究並從新設計了人與 AI 系統的交互方式。web
能夠經過 TensorBoard 使用該工具,也能夠將其做爲 Jupyter 或 Colab notebook 的拓展使用。算法
該工具的目的是爲人們提供一種簡單、直觀和強大的方法,僅經過可視化界面就能夠在一組數據上使用通過訓練的機器學習模型。如下是 WIT 的主要優點。後端
在使用該工具的示例中,咱們會涵蓋上述的全部要點。服務器
爲了說明 What-If 工具的功能,PAIR 團隊已經使用預先訓練過的模型發佈了一組示例。你能夠在 notebook 中運行演示程序或者直接在網頁運行它。
WIT 能夠在 Jupyter 或 Colab notebook 中使用,也能夠在 TensorBoard 網站應用程序中使用。在文檔中已經對此進行了細緻了的說明,我強烈建議你經過這篇短文來解釋整個過程。
核心思想是,先訓練一個模型,而後在測試集上使用 what-if 工具對訓練的分類器的結果可視化。
你須要經過 TensorFlow 模型服務器 部署你的模型,才能在 TensorBoard 中使用 WIT,而要分析的數據必須做爲 TFRecords 文件。在 TensorBoard 使用 WIT 的更多細節,能夠參閱文檔。
爲了能在 notebook 中訪問 WIT,你須要一個 WitConfigBuilder 對象,該對象指定要分析的數據和模型。這個文檔爲在 notebook 中使用 WIT,提供了一個慢慢學習的教程。
爲了確保工做的進行,你可使用 notbook 示例,來編輯代碼以此來容納數據集。
咱們用一個示例來討論 WIT 的功能。這個示例樣原本自名爲 Income Classification 的網站,咱們須要根據一我的的人口普查來預測他一年的收入是否超過 5 萬美圓。數據集來源於 UCI Census dataset,由年齡、婚姻情況、教育程度等屬性組成。
咱們首先對數據集進行研究。這裏有一個用於後續演示的連接。
What-if 工具備兩個主面板。右面板包含你加載的數據集中各個數據點的可視化內容。
在這種狀況下,藍點是模型推斷收入小於 50k 的人,紅點是模型推斷出收入超過 50k 的人。默認狀況下,WIT 使用值爲 0.5 的正分類閥值。這意味着,若是模型推斷分數爲 0.5 或以上,該數據點就會被視爲在正類(即高收入)中。
這裏值得注意的是,數據集是在 Facets Dive 中進行可視化的。Facets Dive 是 PAIR 團隊從新開發的 FACETS 工具的一部分,它幫助咱們理解數據的各類特性並探索它們。若是不熟悉該工具,你能夠參考這篇關於 FACETS 功能的文章,它是我不就以前編寫的。
人們還能夠經過從下拉菜單中選擇字段,以各類不一樣的方式來組織數據點,包括混淆矩陣、散點圖、直方圖和小倍數。如下是列舉的幾個例子。
左面板包含三個選項卡 數據點編輯
、性能和公平性
和 特徵
。
數據點編輯經過如下方式來完成數據分析:
它容許進入在右側面板中以黃色高亮的數據點。咱們能夠嘗試將年齡從 53 改成 58,點擊「運行」來觀察它對模型性能的影響。
經過簡單改變年齡,模型如今將預測這我的屬於高收入類別。對於此數據點來講,早期的正類得分爲 0.473,負類得分爲 0.529。然而經過改變年齡,正得分達到了 0.503。
理解模型的另外一種方式是,看看什麼樣的小範圍更改會致使模型翻轉其決策,即所謂的反事實。只要點擊一下,咱們就能夠看到與咱們所選定的數據點最類似的反事實(用綠色高亮)。在數據點編輯器選項卡中,咱們還看到了與原始數據點的特徵值相反的特徵值。綠色文本表示兩個數據點不一樣的特徵。WIT 使用 L1 和 L2 距離來計算數據點之間的類似。
在這種狀況下,最近的反事實是年齡稍大,有一個不一樣的職業和資本收益,但在其它方面是相同的數據點。
咱們還可使用顯示與所選數據點類似的按鈕來查看所選點與其它點之間的類似性。WIT 測量從選定的點到其餘每個數據點的距離。讓咱們改變咱們的 X 軸跨度,來顯示到選定數據點的 L1 距離。
部分依賴圖(簡寫爲 PDP 或 PD 圖)顯示了一個或兩個特徵對機器學習模型預測結果的邊緣效應(J. H. Friedman 2001)。
有關年齡和教育程度的數據點的 PDP 以下:
上圖代表:
這個選項卡容許咱們使用混淆矩陣和 ROC 曲線來查看整個模型的性能。
爲了衡量模型的性能,咱們須要告訴工具什麼是真實特徵,即模型視圖預測的特徵在這種狀況下是「超過 —— 50k」。
咱們能夠看到,在默認的閥值水平 0.5 時,大約有 15% 的狀況,咱們的模型是不正確的,大約 5% 的狀況是假陽性,大約有 10% 的狀況是假陰性。更改閥值來查看其對模型精度的影響。
能夠進行調整的還有設置「成本比率」和「優化閥值」的按鈕。
機器學習中的公平性與建模和預測結果同樣重要。訓練數據中的任何誤差都會反映在訓練出來的模型中,若是部署了這樣的模型,那獲得的結果也會有誤差。WIT 能夠經過考慮各類不一樣的方式來幫助調查公平問題。咱們能夠設置一個輸入特徵(或一組特徵)來對數據進行切片。例如,讓咱們看看性別對模型性能的影響。
能夠看到該模型對女性的預測比對男性更準確。此外,該模型預測,女性的高收入遠低於男性(女性爲 9.3%,男性爲 28.6%)。一個可能的緣由是因爲女性在數據集中的表明性不足,咱們會在下一節中繼續深究這個問題。
此外,此工具能夠最優化兩個子集間設置的決策閥值,同時考慮與算法公平性相關的諸多約束中的任何一個好比人口統計或機會均等。
特徵選項卡,提供了數據集中每一個特徵的彙總統計信息,包括直方圖、分位數圖、條形圖等。該選項卡還容許查看數據集中每一個特徵的值分佈。例如,它能夠幫助咱們探討性別、資本收益和種族特徵
咱們推斷 資本收益
是極不一致的,大多數數據點都被設置爲 0。
一樣,大部分數據點來源於美國,而女性在數據集中沒有很好的表現。由於數據有誤差,其預測只針對一個羣體是很天然的。畢竟,模型從所提供的數據中學習,若是數據源存在誤差,那麼結果必定也會有一樣的誤差。機器學習已經在許多應用和領域證實了它的價值。然而,機器學習模型工業應用的一個關鍵障礙是肯定用於訓練模型的原始輸入數據是否含有歧視性的誤差。
這只是對一些 what-if 工具特性的簡單預覽。WIT 是一個很是方便的工具,它爲決策者提供了探索模型的能力。簡單的建立和訓練模型並非機器學習的目的,理解爲什麼以及如何建立一個模型纔是真正意義上的「機器學習」。
若是發現譯文存在錯誤或其餘須要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可得到相應獎勵積分。文章開頭的 本文永久連接 即爲本文在 GitHub 上的 MarkDown 連接。
掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。