【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

產業智慧官發表於2018-03-14

轉載請標明出處: http://blog.csdn.net/djy1992/article/details/75257551 
本文出自:【奧特曼超人的部落格】

機器學習簡史:拍拍貸AI中心資料研發負責人:王春平

一、機器學習簡介

謝謝!首先今天特別榮幸能夠到興業這邊來跟大家一起做這樣一個簡單的分享。之前聽興業的朋友講,在機器學習這個話題方面我們應該是第一次做相關的分享。所以我會從相對廣一點的角度去和大家探討這個主題,並融入我個人在這個領域裡工作和學習的一些體會。後續的“無界”論壇再推出系列專題。如果各位在某一個方面感覺特別有興趣或者是覺得我這裡漏掉了什麼東西,會後我們可以進一步交流。

這是今天要講的整體框架:首先是一個簡單的介紹,然後把一些相對經典的模型串到一起,試圖從中間找一些共通的地方,接下來介紹機器學習應用過程中一些比較常見的套路,還有就是講講我個人對人工智慧未來發展趨勢的看法。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

在簡介這塊,我其實是想做這樣一件事情:把機器學習這樣一個名詞放到一個相對比較大一點的背景來看,它在用資料來驅動業務、在金融方面的資料探勘或者選股等等這樣一些事情中間,是處於一種什麼樣的位置?我們所說的用資料來驅動業務,其實這個業務可以是任何東西,比如說今天大家關注的可能是金融業務,我所在的拍拍貸是網際網路金融業務。從我們們在前兩年就開始興起的一個很熱的概念——大資料,到現在熱的一個概念——人工智慧,然後到我們真正關注的業務,這三者之間其實有很強烈的關係,也可以說大資料和人工智慧先後成為熱點也是有一定內在聯絡的。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

我們認為首先你需要在業務過程中去積累大量的資料,因為當你的資料量足夠大,我們才可以用它去做一些事情。現在人工智慧其實可以更多的看作是工具類的東西,利用大資料這樣一個原料,迴歸到我們所關注的這個業務問題,解決一些實際的問題。這個人工智慧領域呢,它是一個相對比較寬的概念,最近這一兩年人工智慧再次火爆可能是因為AlphaGo引起了熱潮。AlphaGo更多的是和深度學習有關係,但其實人工智慧相對來說是一個比較廣義的概念,任何可以用機器來代替人做事情我們都可以把它認為是人工智慧。它可以包括你寫的一些簡單的規則引擎,做一些預警和監控等等,也包括今天我們要關注的機器學習這樣一個話題。在機器學習裡邊的一個類別就是現在很熱的深度學習。

從我個人理解,機器學習跟廣義的人工智慧的區別在於它是需要從大量的資料裡面去學出來一些東西,然後再去運用,而不僅僅是應用一些專家的經驗。這是它在整個業務和人工智慧中的一個定位,然後我們可以再看一下在整個流程裡面它是什麼樣的狀態。當我們想用資料驅動的方式去解決一個業務問題的時候,一般會要走過這樣幾個大的步驟:首先我們需要關注這個問題本身是什麼,比如我現在看一個金融上的問題,我需要去預測一個股票它在明天是漲還是跌,這是一個比較明確的問題。但是很多時候這個問題沒有那麼清晰明確,所以你可能先要去看這個問題種類。要預測的是什麼,關注的人群或者樣本集是什麼。然後最終希望這個問題帶來的輸出是什麼,等等。這個其實是商業和技術的一個結合,需要兩撥人去共同探討的事情,中間會經過若干個比較偏科研的步驟。你真的需要知道要解決什麼問題以後,然後要建模,學出來一些我們可以應用到業務上的一些規律或者模型。最終會涉及到一個比較偏電子工程的事情是要把學出來這些東西真正部署到線上的系統。假如說我這個系統是一個高頻交易系統,那我學出來的這個交易的邏輯,我就要把它應用過去。假如說是拍拍貸,我學出來的是一個評價借款人信用狀況的模型,那我需要把它應用到整個借款流程,比如說我們APP裡面有一個環節裡需要做的打分這件事情。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

我們今天主要探討的更多的是科研這一塊,也就是和模型的構建比較相關的話題。在整個機器學習概念裡面,按照學習的時候有沒有老師來教,可以把它分成三個大的類別。一個是就像我在課堂上聽講一樣,老師會教我這個是蘋果,那個是iPhone,那個是桔子等等,對出現的每個樣本都有一個明確的標籤,這個叫做監督學習(Supervised Learning)。假如說有一些問題是完全沒有老師,要靠自己去探索的,叫非監督式學習(Unsupervised Learning)。然後還有一種在一般做資料分析的時候用的不是很多,但是在比如說機器人或者是AlphaGo裡面會涉及的比較多的是增強學習(Reinforcement Learning)。這其實是跟小孩子學東西的過程比較相近,它是一開始沒有老師告訴你任何措施,讓你在實踐中做對的事情得到獎勵,做錯的事情去得到懲罰。通過環境對它的反饋讓它來不斷增強自己對環境的認識。

這三類問題之下,我們最常用,大家用起來感覺最得心應手的應該是第一個:監督學習。監督學習的好處是它對一般問題定義是比較清楚的,然後你有一個明確的要預測的一個目標。比如說它是一個分類問題:你要知道這個人是一個未來預期的使用者,或者是一個會有良好信用的使用者。或者你要知道這些股票明天是會跌或者漲。這些都是有明確的標籤,這種叫分類問題(Classification)。如果是有明確的預測目標,但是這個目標是一個連續的數,比如說你想預測的是股票的價格,那它可以是一個迴歸問題(Regression)。

像後面提及的非監督學習,它之所以叫非監督,一是這個資料本身的理解不是那麼清楚,還有就是有些情況下它的標籤獲取很困難就。就這種問題本身沒有那麼的明確,所以它是一個非監督的。我可能拿到這個資料以後先做一些分析來看一看它是什麼樣的,它裡頭其實是比較包羅永珍的,不像監督學習,有比較清晰的一個方向。所以非監督學習可以根據學習的目的分成幾類。比如說如果我只是想知道現在的這個人群大概是分成幾個群體,但是其實我也不知道應該分成幾個群體,不知道什麼是對的,這個就是分群(clustering)。分段(segmentation)有點像是切分成幾個集合。然後還有一個很重要的也是做降維(dimensional regression),因為現在是一個資料爆炸時代,對於很多人來說,其實資料不是太少而是太多,有可能有成千上萬甚至10萬級這樣的資料維度,特別是在影像資料、自然語音資料這樣一些比較複雜的資料型別或者是網路的一些訪問日誌等等這樣的資料,維度相當高。如果讓它直接做一些前面的監督的話其實是需要特別含量的資料才有可能去決出一個可以用的模型。所以降維這件事情是機器學習方面的一個蠻大的工作。然後下面這個是文字方面的主題模型(topic modeling):一篇文章你可以把它降低到一些主題或者是一些主題的混合。然後還可以做的事情是:有一堆的照片或者視訊,但是我不知道這些照片中會發生什麼比較異常的行為,但是我想知道哪些是異常的,如果全部靠人看的話這就太不經濟了,所以異常發現(abnormal detection)也是一個很大的一個類別,而且在安保這些方面使用的是比較多。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

這些具體的方法我們就不會再仔細的講了,如果有興趣的話我們可以在以後的分享裡面再討論。稍微回顧一下,簡單概括一下剛才的各種紛繁複雜的方法或者分支。首先我們考慮,它是監督學習還是非監督的。下面是一個簡單的展示圖,左邊是表示一個用來測試一個分類的問題,然後右邊是我有一堆的資料,但是完全不知道應該分幾類,只是稍微去分一下,看一下每一類是不是有相對比較特別一點。這就是監督學習和非監督學習的區別和直觀體驗。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

這裡還有一個簡單的,和前面有點不一樣的分類方式,前面始終在說問題是怎麼分類的,這是在定義要解決的問題的時候就已經決定了,而不是我們一定要選擇的。但是判別模型(Discriminative model)和生成模型(generative model)這兩個分類更多的指選擇怎麼建模型。這是對於有監督的情況下,可以從這兩方面去考慮。當你有一個學習目標的時候,假如說我只想了解一個條件概率的話,也就是給出自變數X,我想知道Y是什麼樣的情況,這個就是叫判別模型。有些時候我同時也關心X自己的分佈情況,所以我們可能關心的是X和Y的聯合分佈,這時用的是生成模型。一般來說判別模型直接做條件概率效果會比較好,特別是當訓練集和預測集比較一致的情況下。但是對一些比較特殊情況,比如說X裡面有一些變數缺失,如果你有一個聯合分佈,對X本身的分佈有方法可以學出來的話,就可以生成一個新資料集,做真實值指補充等等,這算一些好處。當然生成模型還有一些別的比較好的特性,如果大家有興趣的話,我們以後可以展開。現在先預熱一下,簡單介紹一下機器學習大概的情況。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

二、機器學習經典模型

下面我們就來講一下模型框架以及經典的機器學習模型

模型框架不是從大家在實際用的時候呼叫程式包的場景來講,而是說如果我真的要去理解這個模型的話,我們從什麼方面考慮會有利於比較不同模型。所以先來講機器學習模型會包括什麼東西。

首先我們需要對這個模型做一些假設:要把模型假定成一個概率問題呢,還是優化問題呢?即模型假設(Model Assumption)。

當你已經假設好這個模型的條件以後,接下來的工作就是該怎麼樣去解出來這中間的一些引數或者是這個結果,利用已知的資料去推演必需的東西,這裡就會涉及到比較多的大家經常聽見的名詞,比如說EM演算法、貝葉斯推斷、Gibbs取樣等等,我們稱之為模型推演(Model Inference)。

如果已經學出來這個模型,下一步就是模型應用層面(Model Application)。因為我們做所有的機器學習的目的都是為了把它用到新的樣本上面去,所以如何把它應用到新的樣本集以及在新的樣本上的適應能力就是大家特別關注的問題,這裡就涉及到這個模型本身是歸納的(inductive)還是傳導的(transductive)。歸納是指可以從已知的這些資料裡面去推出來一個函式表示式,然後帶入相關資料,那就可以算出最新的資料。在選模型或者是做模型的設定的時候,這是一個需要考慮的點,大概會是三大步驟。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

接下來呢我們可以來看一些很簡單的演算法,但其實也是很經典的。比如說你要做非監督模型,你要做一下聚類,那肯定Kmeans是一個逃不掉東西。它的基本思想很簡單,就是說我有一堆資料想要分堆,假設我是要分成三個堆,那我就先隨機的設三個點,然後通過迭代來實現每個點到它的中心的距離平方和是最小的,就是相當於找到這三個最有代表性的中心點。它是一個很典型的非監督學習,它沒有對資料的分佈做任何的假設,沒有認為它是某種的分佈,或者說,不管是什麼樣的分佈,我都去做這件事情。優化的目標就是要使得它的這三個點是最有代表性的,所以他是把這個問題最終變成了一個做優化求解。當你要有新的資料加進來的時候,也是可以帶入距離的公式,去找到哪個點是對於這個點來說最有代表性的一箇中心點。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

還有一個大家也是很熟悉的,就是線性迴歸(linear regression)問題,它是監督學習,是有明確的目標的。假如說是一個比較一般的迴歸的話, Y就是X的一個很一般的函式,f(x)就會變成一個簡單的線性加和的關係,這就是我們的模型假設。其實這裡頭你還可以有不同的假設,比如說我現在是假設它有個函式,是有噪聲的,然後我可以進一步假設這個噪聲的分佈,比如說是高斯,接下來的話我要怎麼去解這個問題就是我們剛才講的第二步,要去做這個模型的迭代升級的工作。一般來說,對線性迴歸最常見的一個求解的方式就是把它的目標函式寫成誤差的平方和。這樣做的好處是可以得到一個閉式解,可以最終寫出來,並不需要用迭代的方式去求。後面當我們講到一些套路的時候,其實就比如說對於這個線性迴歸,我也可以通過一些方式在後面在做一些小小的變種,使它具有一些更好的性質。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

還有一個比較經典的就是用來做分類的邏輯迴歸(logistic regression)。它也是一個監督學習方法,這個模型的假設是基於一個概率。所以它跟線性迴歸其實是不太一樣的,輸出也是一個概率值,我們在用它的時候也是得到的這個概率。比如說我們這裡關心的一個問題是這個借款人他最終會不會按時還款,然後這個模型打分出來的結果就是這個人按時還款的概率值是多少。有了這樣的一個模型的函式以後,接下來就是要解決我該怎麼樣去求解,因為這裡存在一個待定係數:β。對於一個概率問題,一般最常用的一個方式是求log後的likelihood,最終其實也是把這樣一個概率形式的模型轉化成一個優化損失函式(cost function)問題。那其實大家會發現所有的套路基本上都是這樣子:假如說你是要做一個點估計,就是說想估計出來這個引數的一個最優的值的話,基本上套路都是會先假定這個函式形式,找到它的損失函式,去把它變成一個優化問題來解。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

接下來是支援向量機(support Vector Machine),它也是一個分類問題,但是它跟邏輯迴歸不太一樣的是它沒有做任何概率上的假設,它本身就上來就是一個優化問題:要在這個平面上面要去找一條線,能夠把我這兩個類別給它分開,使得它的邊緣(margin)最大,邊緣就是這個離的最近的這個點到這條線之間的距離。這個是一個完全可以分開成兩類的案例,實際中應用過程之中,它可能過擬合。它也是一個優化問題,優化的目標是最大化這個邊緣。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

神經網路是一個監督學習,可以用來做迴歸或分類問題。它的思想就是我的一個輸入有很多,然後輸出只有一個。這是我的自變數X和因變數Y(見圖),但是我認為中間有很多的隱藏層,這裡是一層,如果它有很多層的話就是現在比較流行的深度學習(deep learning)架構。每一層其實都是下面一層的一個線性表達函式,這樣一層一層壘起來最終要去優化的就是因變數Y和實際上我們觀察到Y的誤差,也是最小化這個誤差,就可以把它的損失函式寫出來,轉化成優化問題。為什麼大家都那麼喜歡把它轉成優化問題?因為如果它是一個凸問題的話,是已經有很好的解決方案的,相信在座的各位可能都知道,就基本上相當於是把前期的比較麻煩的東西轉化到套路上面。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

還有一類套路不太一樣的模型——貝葉斯思想,前面我們講的基本上都是點估計。就是我要認為我有一個未知的引數,那我就去估計它的最好值。然後貝葉斯其實是有點不太一樣,是我開始有一個想法,比如說現在想估計的是某一個係數,我一開始什麼都不知道,它可能是等於0.1,可能等於0.9且中間的概率都差不多。但是當我看見了一些資料以後,我的看法就會越來越集中在某一個值上。當我看了一百萬個資料以後基本上就確定它是在我這點上面,但是它其實還是一個很窄的分佈。貝葉斯認為沒有什麼東西是確定的,所有能確定的就是它有一個概率,然後有一個分佈,但是你看了更多的資料以後,你對這個東西的認識就會變得越來越清晰。大概是這樣一個想法,所以貝葉斯的學習的框架就不再是一個點估計了,它會認為我再怎麼學我學出來的使用還是關於這個變數的一個分佈,所以它的最終輸出都會是一個分佈。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

三、機器學習的一些常見討論

接下來給大家簡單介紹一下機器學習的一些常見的套路,這些套路對於大多數的模型都是可以用到的,而且是很可能會碰到的一些問題。一個最常見的問題就是過擬合(overfitting)。所謂過擬合是說我過度信任了看見的這些資料,認為看見的資料就是我所有的真實,而且我可能用一個特別複雜的模型去擬合它。當模型足夠複雜的時候,資料量如果相對較少,你可以找到一個函式特別好,可以完美地把它組合出來,但是這個對於後面再用新的資料就完全沒有用,因為他把噪聲給完美的學下來了。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

如果這個噪聲是一個隨機項,也沒什麼意義,所以對付這個過擬合的話有一個比較常見的套路,就是給他加這個正則約束項。比如說像剛才提到的那個線性迴歸,假如說我們不加任何調整項的話,它可以直接是一個閉式的解,很簡單。但是同時也會出現一個問題,就是有可能係數會特別大。所以一般來說的話,會希望去加一些懲罰項,使得這些係數不會是一些太大的數,因為太大的數有很多問題,它們可能正負抵消。要去“懲罰”它,可以有很多不同的方式,現在比較流行的比如說加一個L1範數或者是在一個L2範數或者是兩個結合起來,等等。這些懲罰項的選取是對於有不同特點的資料,或者真正的需求不一樣的模型會有所不同。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

還有一個很常見的方法就是交叉驗證(cross validation)。因為我們很多的模型裡面都會有一些引數需要選擇,其實選引數的時候如果自己手動拍進去不是特別有道理。現在也有一些可能比較好的選參方法,但是絕對可行的,而且比較萬能的,就是這個交叉驗證。把所有的訓練集分成很多組,然後每次把每一個組用來做驗證集,其他組做訓練集。比如說一共有五個的話就有五個測試集,有五組結果,去不停地調引數。比如說這個案例裡面它就是把這個叫做M的變數調來調去的,就會發現在訓練集上誤差是越來越小,在測試集上誤差有可能先小後大。在這個測試集的跳變點附近,一般來說就是比較優化的選擇。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

還有一個現在特別熱門的方向,這個套路是假如說我有一些弱的分類器或是弱的模型,那我們把它整合(Ensemble)起來去解決一些問題,這裡麵包括Bagging、Boosting、Stacking等等各種不同的方式,即分類器整合

我們首先來講一下Bagging。這個圖看起來很複雜,但是簡單的來說就是我原來可能只有一千個資料,就很難去檢驗我這個資料,或者檢驗這個模型受不同資料的影響會比較大,因為我不是有十萬或一百萬的資料,不能做各種不同的抽樣。假如我只有一千個資料,那我每次都從這1000個資料中分出來不同的資料,來做各個子集。這些資料其實都來自同一個地方,訓練出來很多個模型,然後再把它組合起來,簡單來說是這樣。然後子集的生成都是隨機的,沒有什麼特殊的關照。我們現在比較流行的隨機森林(random forest)應該是基於這個思想。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

然後還有一個方法是Boosting,Boosting和Bagging主要的區別是,Bagging是隨機的分很多類再結合起來,Boosting其實是從每一次都是弱分類器分好以後,原來很不好的結果權重加重,再繼續分。它也是做很多很多次,最後也是結合起來。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

還有一個是Stacking,這個看圖的話就更要暈過啦。簡單的來講就是假如有好幾個感測器,比如說有的時候做GBBoost,隨機森林,等等各種分類器,我都把它用來在訓練集上學習,得到一個模型並且預測出來一些結果。然後根據預測出來的結果,我再在上面用對應的方法學出來的模型,相當於是在模型上面套一層模型。這個模型的輸入是上面這些模型的輸出,就是相當於是看哪個模型應該有更多的權重,而不是直接把每個模型的輸出平均起來,可能做的比較好的模型權重相對比較高,所以這個方式一般來說會大大提高表現。特別是當基模型之間的差異度比較大的時候。如果基模型都差不多,那無論怎麼樣平均結果也都差不多。這是一些簡單套路,後期還有更多套路,這幾個是比較通用的。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

四、機器學習未來發展趨勢

最後簡單說一下我個人對機器學習發展趨勢的理解。其實我在準備PPT的時候在網上搜了一下,發現搜出來的結果可以說是五花八門的。有的人可能是學者型的,他完全講的就是學術上的趨勢。有的可能是屬於那種偏社會學的,他講的趨勢可能是更多的對未來社會方方面面的影響。我這邊是想作為一個在這個行業裡面,自己本身是在做這方面事情的人來談談這方面的體驗。

其中一個趨勢便是通用化越來越強。像以前做機器學習的人,基本上做文字的人專門做文字,做影像的專門做影像,做聲音的人專門做聲音,做結構化資料的人專門做結構化資料。然後每一種方法對應的資料來源本上都是有很特殊的提取,預測的方法。但是現在隨著深度學習不斷的變熱起來,被大家所理解。其實有很多不同資料來源,它的演算法框架上很接近,就越來越通用化。

還有一個趨勢是工具化。越來越多的開源的工具性的產品使得機器學習這件事情的成本大大降低。以前可能都需要寫程式碼,甚至是最開始可能需要自己去推導我剛才講到的那些模型的假設,根據模型的假設具體做優化。發展到後面可以寫一些程式碼來調包。現在像TPOT這種軟體,甚至是可以完全視窗化,拖拖拽拽就可以訓練模型,或者是你什麼都不幹,它自己自動用很多種模型都跑一遍,所有的引數都調一遍。所以整體上來說是有一個使用者門檻降低的趨勢。

還有一個就是隨著機器計算的成本變得越來越低,現在有點往暴力化的方向發展。以前可能更多的是專家的經驗建一些變數,調參可能也需要有一些技術。但是未來的話,感覺哪怕對於不太懂的人,假如說他有足夠的時間,足夠強的機器去算的話,也可以通過暴力的方式,做出一些比較好的模型。這些趨勢當然並不是說就不需要一些比較多的人去真正做一些模型的選擇,或者是變數的選擇。只是很多人群其實可以用到機器學習的很多的工具,去解決很多日常生活中比較基本的問題。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

我今天大概就到這裡吧,然後如果有對於某一個話題比較感興趣的話,歡迎大家在本文下進行評論溝通,謝謝大家!




機器學習模型的“可解釋性”到底有多重要?

今日聚焦

我們知道,近年來機器學習,特別是深度學習在各個領域取得了驕人的成績,其受追捧的程度可謂是捨我其誰,但是有很多機器學習模型(深度學習首當其衝)的可解釋性不強,這也導致了很多論戰,那麼模型的可解釋性到底有多重要?本文從各方面介紹了機器學習模型的“可解釋性”的重要性,說明我們為什麼要追求可解釋性,並在幾種典型的模型中,如廣義線性模型、隨機森林和深度學習,說明其重要性。

Interpreting machine learning models


無論您的解決方案的最終目標是什麼,終端使用者都需要可解釋、可關聯或可理解的解決方案。此外,作為一名資料科學家,您將總能從模型的可解釋性中受益,從而驗證並改進您的工作。在這篇部落格文章中,我試圖說明機器學習中可解釋性的重要性,並討論一些可以自己嘗試的簡單實驗和框架。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

https://xkcd.com/1838/


為什麼機器學習中的可解釋性很重要?

在傳統統計中,我們通過調查大量的資料來構造和驗證假設。我們建立模型來構建規則,我們可以將其納入我們的模型中。例如,營銷公司可以建立一個模型,將營銷活動資料與財務資料相關聯,以確定構成有效營銷活動的是什麼。這是一種自上而下的資料科學方法,可解釋性是關鍵,因為它是所定義規則和過程的基石。由於相關性往往不等於因果關係,所以在進行決策和解釋時,需要對模型進行很強的理解。


在自下而上的資料科學方法中,我們將部分業務流程委託給機器學習模型。此外,全新的商業創意可通過機器學習實現。自下而上的資料科學通常將手動和部分困難任務自動化。例如製造公司可以將感測器放在他們的機器上並進行預測維護。因此,維護工程師可以更高效地工作,而無需執行昂貴的定期檢查。模型可解釋性對於驗證模型的行為是否符合您的期望是很有必要的,並且它可以與使用者建立信任關係,並且可以簡化從手動過程到自動化過程的過渡。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

上圖顯示在一個自上而下的過程中,您迭代地構造和驗證一組假設。在自底向上的方法中,您試圖自動化過程從自底向上解決問題。


作為一名資料科學家,您經常關心微調模型以獲得最佳效能。資料科學通常被定義為:'給出具有X標籤的資料,並以最小誤差找到模型'。儘管訓練高效能模型的能力對於資料科學家來說是一項關鍵技能,但能夠從更大的角度來看是很重要的。資料和機器學習模型的可解釋性是在資料科學的“有用性”中至關重要的方面之一,它確保模型與您想要解決的問題保持一致。儘管在構建模型時嘗試最前沿的技術可能會有很多挑戰,但能夠正確地解釋您的發現是資料科學過程的重要組成部分。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?


為什麼深入分析模型至關重要?

作為資料科學家,關注模型可解釋性有幾個原因。雖然它們之間存在重疊,但能捕捉到可解釋性的不同動機:


1.判別並減輕偏差

Identify and mitigate bias

偏差可能存在於任何資料集中,資料科學家需要確定並嘗試修正偏差。資料集的規模可能有限,並且不能代表所有資料,或者資料捕獲過程可能沒有考慮到潛在的偏差。在徹底進行資料分析後,或者分析模型預測與模型輸入之間的關係時,偏差往往會變得明顯。請注意,解決偏差問題沒有唯一的解決方案,但是可解釋性的關鍵一步是意識到潛在的偏差。


其他偏差的例子如下:

例如word2vec向量包含性別偏差(http://wordbias.umiacs.umd.edu/),這是由於他們受過訓練的語料庫中存在的內在偏差。當你使用這些詞向量進行訓練模型時,招聘人員搜尋“技術簡介”將使女性履歷保留在最下面。


例如當您在小型資料集上訓練目標檢測模型時,通常情況下影像的寬度太有限。為了避免只適用於資料中噪音和不重要元素的模型,需要在不同環境,不同光照條件和不同角度下的各種物體影像。


2.考慮問題的上下文

Accounting for the context of the problem

在大多數問題中,您正在使用的資料集僅僅是您正試圖解決的問題的粗略表示,而機器學習模型無法捕捉到真實任務的完整複雜性。可解釋模型可幫助您瞭解並解釋模型中包含和未包含的因素,並根據模型預測採取行動時考慮問題的上下文情境。


3.改進泛化能力和效能

Improving generalisation and performance

高解釋性模型通常有更好的泛化能力。可解釋性不是要了解所有資料點的模型的每個細節。必須將可靠的資料,模型和問題理解結合起來才能獲得效能更好的解決方案。


4.道德和法律原因

Ethical and legal reasons

在財務和醫療保健這樣的行業,審計決策過程並確保它是沒有歧視或違反任何法律。隨著資料和隱私保護法規(如GDPR)的發展,可解釋性變得更加重要。此外,在醫療應用或自動駕駛汽車中,單一不正確的預測會產生重大影響,能夠“驗證”模型至關重要。因此,系統應該能夠解釋它是如何達到給定的要求的。


解釋你的模型

關於模型可解釋性的通常引用是,隨著模型複雜性的增加,模型可解釋性按照同樣的速度降低。特徵重要性是解釋模型的一種基本方法。即使對於深度學習等黑盒模型,也存在提高可解釋性的技術。最後,將討論LIME框架,該框架可作為模型分析的工具箱。


特徵重要性(Feature importance)


• 廣義線性模型

廣義線性模型(GLM's)都基於以下原則:如果將特徵與模型權重進行線性組合,並通過一個函式 f得到結果,則可以用它來預測各種各樣的響應變數。 GLM最常見的應用是迴歸(線性迴歸),分類(logistic迴歸)或建模泊松過程(泊松迴歸)。訓練後得到的權重能直接表示特徵重要性,它們提供了內部模型非常具體的解釋。


例如在構建文字分類器時,可以繪製最重要的特徵,並驗證模型是否過擬合。如果最重要的單詞不符合您的直覺(例如名稱或停用詞),則意味著該模型擬合了資料集中的噪音,將在新資料中表現不佳。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

從TidyTextMining的文字解釋能力的一個視覺化的示例。

https://www.tidytextmining.com/02-sentiment-analysis_files/figure-html/pipetoplot-1.png


· 隨機森林和SVM(Random forest and SVM's)

即使是非線性模型(如基於樹的模型(例如隨機森林))也能夠獲取關於特徵重要性的資訊。基於核的方法(如SVM)中的權重通常不是特徵重要性的很好的代表。核方法的優點在於,通過將特徵投影到核心空間中,您可以捕獲變數之間的非線性關係。另一方面,僅將權重視為一個特徵,與互動無關。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

上圖顯示一個使用特徵重要性視覺化出的例子,圖中您可以確定模型在學習什麼。由於這個模型中很多重要的特徵都是指這一天day的資訊,所以可能需要新增額外的基於時間的特徵會使其效果更好。(Kaggle)

https://www.kaggle.com/general/13285


· 深度學習(Deep learning)

深度學習模型由於引數的數量以及提取和組合特徵的複雜方法而導致其不可解釋性。作為一類模型,它能夠在許多工中獲得最好的效能,許多研究集中在將模型預測與輸入相關聯。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

可解釋機器學習的研究論文的數量正在迅速增長(MIT)。

http://people.csail.mit.edu/beenkim/papers/BeenK_FinaleDV_ICML2017_tutorial.pdf


特別是在面向更復雜地文字和影像處理的系統時,很難解釋模型實際學到的是什麼。研究的主要焦點目前主要是將輸出或預測與輸入資料關聯。雖然線上性模型下這相當容易,但對於深度學習網路來說,它仍然是一個未解決的問題。兩種主要方法是基於梯度或基於注意力機制的。


在基於梯度的方法中,使用反向傳播計算目標概念的梯度用於生成一個對映,以突出顯示輸入中用於預測目標概念的重要區域。這通常應用於計算機視覺領域。


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

Grad-CAM,一個基於梯度的方法被使用於視覺描述生成。基於輸出的文字,方法能夠判別出輸入影像的那個區域是重要的


基於注意力機制的方法通常與序列資料(例如文字資料)一起使用。除了網路的正常權重之外,注意力權重被訓練成 ‘input gates’。這些注意力權重決定最終網路輸出中每個不同元素的數量。除了可解釋性之外,在基於文字的“問答系統”中也可以帶來更好的結果,因為網路能夠“關注”其注意力。

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

在基於注意力機制的自動問答中,可以視覺化出文字中哪個單詞對於這個問題的答案是最最重要的。


LIME

LIME是一個更通用的框架,旨在使“任何”機器學習模型的預測更加可解釋。

程式碼連結:https://github.com/marcotcr/lime


為了保持模型獨立性,LIME通過修改本地模型的輸入來工作。因此,它不是試圖同時理解整個模型,而是修改特定的輸入例項,並監控對預測的影響。在文字分類的情況下,這意味著一些詞被取代,以確定哪些元素的輸入影響了預測。


參考文獻:

https://towardsdatascience.com/interpretability-in-machine-learning-70c30694a05f


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?


人工智慧賽博物理作業系統

AI-CPS OS

人工智慧賽博物理作業系統新一代技術+商業作業系統“AI-CPS OS:雲端計算+大資料+物聯網+區塊鏈+人工智慧)分支用來的今天,企業領導者必須瞭解如何將“技術”全面滲入整個公司、產品等“商業”場景中,利用AI-CPS OS形成數字化+智慧化力量,實現行業的重新佈局、企業的重新構建和自我的煥然新生。


AI-CPS OS的真正價值並不來自構成技術或功能,而是要以一種傳遞獨特競爭優勢的方式將自動化+資訊化、智造+產品+服務資料+分析一體化,這種整合方式能夠釋放新的業務和運營模式。如果不能實現跨功能的更大規模融合,沒有顛覆現狀的意願,這些將不可能實現。


領導者無法依靠某種單一戰略方法來應對多維度的數字化變革。面對新一代技術+商業作業系統AI-CPS OS顛覆性的數字化+智慧化力量,領導者必須在行業、企業與個人這三個層面都保持領先地位:

  1. 重新行業佈局:你的世界觀要怎樣改變才算足夠?你必須對行業典範進行怎樣的反思?

  2. 重新構建企業:你的企業需要做出什麼樣的變化?你準備如何重新定義你的公司?

  3. 重新打造自己:你需要成為怎樣的人?要重塑自己並在數字化+智慧化時代保有領先地位,你必須如何去做?

AI-CPS OS是數字化智慧化創新平臺,設計思路是將大資料、物聯網、區塊鏈和人工智慧等無縫整合在雲端,可以幫助企業將創新成果融入自身業務體系,實現各個前沿技術在雲端的優勢協同。AI-CPS OS形成的字化+智慧化力量與行業、企業及個人三個層面的交叉,形成了領導力模式,使數字化融入到領導者所在企業與領導方式的核心位置:

  1. 精細種力量能夠使人在更加真實、細緻的層面觀察與感知現實世界和數字化世界正在發生的一切,進而理解和更加精細地進行產品個性化控制、微觀業務場景事件和結果控制。

  2. 智慧:模型隨著時間(資料)的變化而變化,整個系統就具備了智慧(自學習)的能力。

  3. 高效:企業需要建立實時或者準實時的資料採集傳輸、模型預測和響應決策能力,這樣智慧就從批量性、階段性的行為變成一個可以實時觸達的行為。

  4. 不確定性:數字化變更顛覆和改變了領導者曾經仰仗的思維方式、結構和實踐經驗,其結果就是形成了複合不確定性這種顛覆性力量。主要的不確定性蘊含於三個領域:技術、文化、制度。

  5. 邊界模糊:數字世界與現實世界的不斷融合成CPS不僅讓人們所知行業的核心產品、經濟學定理和可能性都產生了變化,還模糊了不同行業間的界限。這種效應正在向生態系統、企業、客戶、產品快速蔓延。

AI-CPS OS形成的數字化+智慧化力量通過三個方式激發經濟增長:

  1. 創造虛擬勞動力,承擔需要適應性和敏捷性的複雜任務,即“智慧自動化”,以區別於傳統的自動化解決方案;

  2. 對現有勞動力和實物資產進行有利的補充和提升,提高資本效率

  3. 人工智慧的普及,將推動多行業的相關創新,開闢嶄新的經濟增長空間


給決策制定者和商業領袖的建議:

  1. 超越自動化,開啟新創新模式:利用具有自主學習和自我控制能力的動態機器智慧,為企業創造新商機;

  2. 迎接新一代資訊科技,迎接人工智慧:無縫整合人類智慧與機器智慧,重新

    評估未來的知識和技能型別;

  3. 制定道德規範:切實為人工智慧生態系統制定道德準則,並在智慧機器的開

    發過程中確定更加明晰的標準和最佳實踐;

  4. 重視再分配效應:對人工智慧可能帶來的衝擊做好準備,制定戰略幫助面臨

    較高失業風險的人群;

  5. 開發數字化+智慧化企業所需新能力:員工團隊需要積極掌握判斷、溝通及想象力和創造力等人類所特有的重要能力。對於中國企業來說,創造兼具包容性和多樣性的文化也非常重要。


子曰:“君子和而不同,小人同而不和。”  《論語·子路》雲端計算、大資料、物聯網、區塊鏈和 人工智慧,像君子一般融合,一起體現科技就是生產力。


如果說上一次哥倫布地理大發現,擴充的是人類的物理空間。那麼這一次地理大發現,擴充的就是人們的數字空間。在數學空間,建立新的商業文明,從而發現新的創富模式,為人類社會帶來新的財富空間。雲端計算,大資料、物聯網和區塊鏈,是進入這個數字空間的船,而人工智慧就是那船上的帆,哥倫布之帆!


新一代技術+商業的人工智慧賽博物理作業系統AI-CPS OS作為新一輪產業變革的核心驅動力,將進一步釋放歷次科技革命和產業變革積蓄的巨大能量,並創造新的強大引擎。重構生產、分配、交換、消費等經濟活動各環節,形成從巨集觀到微觀各領域的智慧化新需求,催生新技術、新產品、新產業、新業態、新模式。引發經濟結構重大變革,深刻改變人類生產生活方式和思維模式,實現社會生產力的整體躍升。



產業智慧官  AI-CPS


用“人工智慧賽博物理作業系統新一代技術+商業作業系統“AI-CPS OS”:雲端計算+大資料+物聯網+區塊鏈+人工智慧)在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧;實現產業轉型升級、DT驅動業務、價值創新創造的產業互聯生態鏈


【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

【機器學習】乾貨丨機器學習知識點;機器學習模型的“可解釋性”到底有多重要?

長按上方二維碼關注微信公眾號: AI-CPS,更多資訊回覆:


新技術“雲端計算”、“大資料”、“物聯網”、“區塊鏈”、“人工智慧新產業:智慧製造”、智慧金融”、“智慧零售”、“智慧駕駛”、智慧城市新模式:“財富空間“工業網際網路”、“資料科學家”、“賽博物理系統CPS”、“供應鏈金融”


官方網站:AI-CPS.NET


本文系“產業智慧官”(公眾號ID:AI-CPS)收集整理,轉載請註明出處!



版權宣告產業智慧官(公眾號ID:AI-CPS推薦的文章,除非確實無法確認,我們都會註明作者和來源。部分文章推送時未能與原作者取得聯絡。若涉及版權問題,煩請原作者聯絡我們,與您共同協商解決。聯絡、投稿郵箱:erp_vip@hotmail.com




相關文章