回覆列表
-
1 # 北航秦曾昌
-
2 # 資料學習DataLearner
當然重要了,因為無法解釋的機器學習結果可能會導致重大的錯誤決策。
舉個簡單的例子就明白了。我們都知道啤酒與尿布的故事,沃爾瑪把這兩個東西放到一起的原因是因為他們弄清楚了他們相關的原因是,男人週五下班被妻子要求買點尿布的時候也會順帶買點啤酒。
但是這個故事也有個另外的版本,就是啤酒與教堂的故事,人們發現一個城市教堂多啤酒銷量也高(這也是機器學習挖掘的結果),但沒有啤酒廠商會為了提高銷量在某個城市修建教堂。原因是雖然二者具有相關性但沒有因果關係。實際原因是教堂多的城市人口也多今兒啤酒銷量也高。所以沒有啤酒廠商利用這個機器學習挖掘的相關性結果來做營銷。
從這個例子我們可以看到機器學習在實際應用中也要挖掘原因,如果不去解釋這個結果直接應用就非常可能導致錯誤的決策進而蒙受損失。
機器學習的可解釋性是指人們能夠理解模型輸出結果的推理過程。比如人們在判斷下圖中的人物是老師時,就會根據桌上擺放的書籍和地球儀、身後的黑板以及女士在書上做筆記等資訊綜合判斷出結果。
傳統的機器學習方法如LR、SVM和決策樹等,基本都具有較好的可解釋性,因為其結構簡單,容易被人們所理解的,因此也在金融、零售等行業大獲成功。隨著近幾年來,神經網路和整合模型特別是深度學習的快速發展,其在分析影象和文字方面的效能遠遠超過了傳統機器學習,而被研究人員所追捧。但是,要解釋這些複雜模型是如何做出決策的,卻是一件非常困難的事情。因為訓練一個深度神經網路,人們只需要將資料餵給它,就能自動地學習(或者擬合)從輸入到輸出的對映關係,實現優異的效能。而對於它是如何學習的,學習到了什麼,又是根據什麼來做出決策的,人們現在還不能給出一個很準確的回答,但這也讓深度學習變得看上去很簡單。因此,深度學習模型被視為一個黑匣子,其訓練過程也常常被研究人員戲稱為“鍊金術”。
但是,隨著深度學習的進一步發展,不可解釋性逐漸成為阻礙其發展的障礙。比如神經網路在醫療中的應用,當應用神經網路來對病人進行病情診斷的時候,就必須對輸出的結果作出一定的解釋,讓人們理解其判斷的過程是怎樣的。否則無法取得人們的信任,也就會限制其應用的場景。此外,在無人駕駛、信用評分乃至預測潛在嫌疑犯等實際應用,模型的可解釋性同樣很重要。比如下圖中識別熊貓的深度模型,在熊貓的圖片中添加了一些噪聲之後,竟變成有99.3%的機率為長臂猿。
目前,研究人員也在深度學習模型的可解釋性上做出了很多的研究,比如資料的視覺化,將模型的中間結果視覺化來判斷模型到底在學習什麼。此外,從輸入樣本的角度,對模型判斷錯的樣本進行分析,探究模型是依據什麼來做出決策的。因此,對於一個機器學習模型而言,我們不僅要考慮到它的效果和效率,更要注重可解釋性。