【筆記】機器學習 - 李宏毅 -- Explainable ML 可解釋性機器學習


課程筆記

前言

兩種可解釋性:
局部解釋:為什么這種圖是貓?
全局解釋:貓是什么樣子的?

為什么需要可解釋機器學習?(打開黑盒)

一般的提升效果的方法就是一頓暴調參數,可解釋性可以幫助我們更好地提升模型性能。

其實人也是個黑盒(這個觀點太6了)。
可解釋機器學習的目標,不需要真正知道模型如何工作,只需要給出可信服的解釋,讓人滿意就行。
對此還可以針對不同人的接受能力給出不同層次的解釋。

模型的可解釋性和模型的能力之間有矛盾。
一些模型,比如線性模型,可解釋性很好,但效果不佳。而深度網絡,雖然能力一流,但缺乏可解釋性。
我們的目標不是直接選擇可解釋性好的模型,而是讓能力強的模型具有更好的解釋性。

同時具有強大能力和可解釋性的,是決策樹。
但決策樹結構如果很復雜,那么可解釋性也會很差。(森林)

局部解釋

一個研究對象可以分成很多個部分,如何判斷各部分對於決策的重要性?
可以通過修改或者刪除這一部分來看看結果有多大的影響,如果影響很大,則這部分很重要。

舉例:

可以用saliency map來可視化,圖中的白點就是偏導數的值。

更多資料:

求導的局限性:比如鼻子長到一定程度,就可以確定這是一只大象,但是導數卻是0,得出鼻子不重要這樣的結論,明顯是不對的。

這個也可以被對抗攻擊,

寶可夢和數碼寶貝的例子:

分類的效果太好了,用saliency map分析后發現,關注點在圖的邊緣,為什么?

因為格式不一樣,背景不同。。。其實程序並沒有學會分類寶可夢和數碼寶貝。

全局解釋

之前講過,什么樣的輸入可以得到最好的分類結果,可以看到機器認為的居然是下面這樣的一些圖。

可以通過加正則項,然后來使圖像看起來更像數字。

這樣的話就有更多的超參數需要調了。。。。

如果說輸入先經過一個生成器,使得不管什么樣的向量,都可以經生成器得到一個合理的圖片,然后再對圖片分類。
通過圖片的類別,反推優化輸入,這樣會更好一些。

得到的結果不錯,

用另一個模型去做解釋

可以用一個解釋性更好的模型去模擬另一個模型的效果。
雖然線性模型不能完全模擬神經網絡,但在局部上,模擬效果還是不錯的。(LIME方法)

這個方法的局限是,選取的局部粒度的大小會影響模擬的效果。

舉例:

切分后,可以提取成一個向量,然后可以用線性模型擬合。通過權重的大小,判斷各分塊的重要性。

如果是決策樹模型來模擬的話,我們希望這個樹不要太大,那么可以設置一個樹的復雜度參數。

不過這個復雜度參數不能微分。(paper中有一種收集很多復雜度數據,然后求解的方法)

課程地址

Explainable ML


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM