選自 acando.no 作者: Popov, Sergey 機(jī)器之心編譯 參與:吳攀、亞洲、微胖 要應(yīng)用科學(xué)方法進(jìn)行數(shù)據(jù)探索,就應(yīng)該知道可以應(yīng)用什么程度的方法。神經(jīng)網(wǎng)絡(luò)對(duì)股市預(yù)測(cè)而言是無效的。蒙特卡羅算法也不能提供太多幫助,而應(yīng)用不當(dāng)?shù)碾S機(jī)森林算法能夠真正毀掉你在東南亞的假期。如果它被 NSA(美國國家安全局)使用,后果會(huì)更嚴(yán)重。在這篇文章中,我們將簡(jiǎn)要介紹機(jī)器學(xué)習(xí)方法的分類,并了解它們是如何與不同的業(yè)務(wù)范圍關(guān)聯(lián)的。 序言 從搖籃到墳?zāi)?,我們的一生不斷地做著決定,從我們第一個(gè)吸引母親注意力的決定到要求醫(yī)生治療疼痛的最后一個(gè)決定。做決定是我們生命中的關(guān)鍵部分,而動(dòng)機(jī)(有意識(shí)或有點(diǎn)模糊)則是這一過程的背景。我們可以使用規(guī)則引擎(BRE)和一些先前的邏輯,作為我們計(jì)算機(jī)化的「決策者」,從這種意義來看,商業(yè)也沒什么不同。 不久之前,BRE 被認(rèn)為是是商業(yè)智能(BI)的最重要的組成部分。事實(shí)上,有效的 BRE 的實(shí)現(xiàn)可以非常簡(jiǎn)單,如[2]中所展現(xiàn)的那樣。使用 IoC (Java) 或 NDS (OraDB),輕權(quán)重 BRE 可被正確應(yīng)用在有需要的地方(靠近對(duì)象改變的位置,事件源),相關(guān)代碼示例和支持 DB 結(jié)構(gòu)已可供下載。 但是,很多時(shí)候外部 BRE 只會(huì)使情況復(fù)雜化——增加技術(shù)基礎(chǔ)設(shè)施的復(fù)雜性、 需要對(duì)象的序列化/反序列化、增加額外的成本(有時(shí)候相當(dāng)高)。最重要的是,經(jīng)典 BRE 只能以「是/否」的方式回答有明確定義的問題,而對(duì)問題的提出只有很少的貢獻(xiàn)。而如果該邏輯是模糊的和/或基于隨機(jī)數(shù)據(jù),那結(jié)果甚至?xí)愕?。因此,為決策構(gòu)建動(dòng)機(jī)不僅是商業(yè)智能中最重要的部分,同時(shí)也是最困難的部分,因?yàn)樗鼘⑿枰褂米赃m應(yīng)算法的預(yù)測(cè)元素和模擬進(jìn)行統(tǒng)計(jì)數(shù)據(jù)分析。
預(yù)測(cè)、仿真和適應(yīng)代表了學(xué)習(xí)能力的存在,可參考下表中 Arthur Samuel 的定義。意識(shí)論(Gnosiology,專注于知識(shí)理論的哲學(xué)概念)確定了三種獨(dú)特的知識(shí)獲取途徑:監(jiān)督式、無監(jiān)督式和強(qiáng)化。每一種都有解決問題的自己的一套方法和算法集合,而根據(jù)實(shí)際的問題又有不同程度的適用性。不同的方法集合之間并沒有明確的界線,而且因?yàn)榻y(tǒng)計(jì)和學(xué)習(xí)算法的總量超過 700,在這樣一篇短文章中要提及其中一半都不可能。在這里我將只會(huì)嘗試關(guān)聯(lián)和分組這些具有商業(yè)領(lǐng)域適用性的學(xué)習(xí)方法和最常見的算法——從獲取知識(shí)的機(jī)器學(xué)習(xí)方法開始。 為簡(jiǎn)單起見,我將使用經(jīng)典人工智能書籍(A. Cachko, Eureka 的《人工智能》)[3]中的一個(gè)比喻:童話故事,其中白馬王子在一個(gè)非常非常遙遠(yuǎn)的王國里尋找睡美人,給他提供幫助的只有一只只能說「是」和「否」(見上面的 BRE),卻無所不知的貓頭鷹。 監(jiān)督式學(xué)習(xí)(Supervised Learning) 通過王國的地圖和有口語障礙的貓頭鷹,白馬王子可以使用二分法,即將地圖不斷對(duì)分,然后不斷問貓頭鷹「公主在哪里」,直到最后在地圖上定位到公主所在的大約一個(gè)洞穴大小的位置。在這里,白馬王子就得到了監(jiān)督器回歸(Regression)算法類別中二分法回歸隔離(Bisection Regression Isolation)的幫助?;貧w算法是一個(gè)相當(dāng)寬泛的算法類別,其中包括帶有單個(gè)或多個(gè)變量的線性回歸(Linear Regression)。另一組常見類別是基于分類(Classification)、線性和非線性、以及向量機(jī)支持;其中向量機(jī)支持是回歸和分類方法的結(jié)合,重點(diǎn)是建立概率分類器,幫助創(chuàng)建用于尋找公主的最優(yōu)模型。 監(jiān)督式學(xué)習(xí)最驚艷的特征是神經(jīng)網(wǎng)絡(luò)(NN),我們?cè)谶@里提到它的原因是隨著現(xiàn)在硬件變得能夠支持這一概念,神經(jīng)網(wǎng)絡(luò)正變得越來越流行。用童話故事的比喻來闡釋這一方面和其實(shí)際應(yīng)用——自組織映射(SOM)是很困難的,但讓我們想象一下:在定位所在的洞穴后,白馬王子需要驗(yàn)證其中的姑娘是否是真正的美人。當(dāng)然,白馬王子對(duì)此已經(jīng)發(fā)展出了他自己的驗(yàn)證標(biāo)準(zhǔn)(由權(quán)重(W:weight)支持),并將通過光學(xué)識(shí)別頭發(fā)、臉頰、下巴、嘴唇和其它特征來應(yīng)用這一標(biāo)準(zhǔn)(即:測(cè)試更新模型)。所以,換句話說,一個(gè)樹形結(jié)構(gòu)的鏈狀神經(jīng)元總體上負(fù)責(zé)從被觀察對(duì)象中得出特定模式,并以某種形式的降維算法(dimensionality reduction algorithm)進(jìn)行特征提取。網(wǎng)絡(luò)中的神經(jīng)元越多,就越精確(權(quán)重的神經(jīng)元乘法器的神經(jīng)元樹突樹累積效應(yīng)),特征識(shí)別和組裝成一幅完整圖像(神經(jīng)元求和箱)的速度也越快。 監(jiān)督式學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò) 可能有人會(huì)問,這些權(quán)重(W)標(biāo)準(zhǔn)從何而來?當(dāng)然,王子最初是從他父親和母親那里,以及《紳士愛美人》那樣的電影(監(jiān)督器,提供了最初的模型)中學(xué)到的。這些是部分權(quán)重系數(shù),因?yàn)槔硭?dāng)然地,他們可能會(huì)產(chǎn)生部分地令人滿意的結(jié)果(過早的婚姻通常不能維持)。所以白馬王子的一生都在調(diào)整這些權(quán)重的比例,它們用滿意度閾值獲取偏導(dǎo)數(shù);如「金發(fā)真的開不好車」、「紅發(fā)太瘋狂了」。 在數(shù)學(xué)上,一些人稱之為「數(shù)學(xué)方便(mathematical convenience)」——根據(jù)對(duì)輸出的滿意度水平調(diào)整我們處理器的數(shù)學(xué)函數(shù)。在這里還應(yīng)該提及的是反向傳播(backpropagation)現(xiàn)象。神經(jīng)網(wǎng)絡(luò)可以通過每個(gè)帶有自適應(yīng)反饋的運(yùn)算放大器鏈電子地被表現(xiàn)出來。當(dāng)你帶有所有可能信號(hào)處理器的復(fù)雜音響系統(tǒng)變得過于大聲時(shí),你會(huì)扭動(dòng)末級(jí)放大器的主音量控制。 神經(jīng)網(wǎng)絡(luò)也是如此,其中你可以讓調(diào)整反向傳播,這非常適合放大器鏈——因?yàn)閲?yán)重的信號(hào)失真,在前置放大器上施加強(qiáng)勁的功率放大是很有風(fēng)險(xiǎn)的。因?yàn)槟懔私夥糯笃髦械姆答亼?yīng)該是負(fù)反饋,否則自適應(yīng)識(shí)別將徹底失敗。自我調(diào)整是我們將討論的下一個(gè)學(xué)習(xí)方法的關(guān)鍵特征。 無監(jiān)督學(xué)習(xí)(Unsupervised Learning) 讓我們假設(shè)貓頭鷹的語言障礙變得更糟糕了,白馬王子再也不能依靠監(jiān)督器了。但白馬王子仍然還有地圖和決心。他知道美人在一個(gè)洞穴中,而洞穴在山中最常見,而不是在沼澤或沙漠中。也許在數(shù)據(jù)選擇中使用更多參數(shù)會(huì)有用——例如,公主是因?yàn)橐粋€(gè)毒蘋果而陷入昏睡的,所以,蘋果林肯定不會(huì)離山坡太遠(yuǎn)等(假設(shè)爛掉的蘋果不會(huì)吸引公主的注意)。聚類(Clustering)、降維(Dimensional Reduction)、主成分分析(Principal Component Analysis)和其它貝葉斯統(tǒng)計(jì)方法,將幫助我們的王子找到地圖上最有可能的區(qū)域以進(jìn)行更為詳細(xì)的調(diào)查(在機(jī)器學(xué)習(xí)方面更多模型訓(xùn)練)。 在很多方面,我們的王子會(huì)嘗試實(shí)施最明顯的無線電定位和目標(biāo)識(shí)別方法(這時(shí)候是被動(dòng)定位):通過分析和檢測(cè)數(shù)據(jù)分布規(guī)律,尋找檢測(cè)過的分布規(guī)律的均值和標(biāo)準(zhǔn)方差,以及應(yīng)用奈曼-皮爾遜準(zhǔn)則進(jìn)行選擇——通過一個(gè)確鑿的找到公主( positive Princess detection)的固定概率(比如, 0.95 和正態(tài)分布)最小化錯(cuò)過目標(biāo)的概率。 你可能注意到,我并沒有完全正確地提出奈曼-皮爾遜準(zhǔn)則(最小化的參數(shù)通常是錯(cuò)誤的警報(bào)),但為了簡(jiǎn)單起見,我省略了我們可能有多個(gè)睡美人的情況(其中一些是誘餌,不是真正的公主或不是美人或沒有睡著或多種情況都有。讓我們希望王子是真正有決心的,不會(huì)偏離)。 所有這些知識(shí)還將在以后王子變成國王后繼續(xù)幫助他公平收稅和偵查騙稅漏稅。貝葉斯統(tǒng)計(jì)理論高度靈活,因此,我們以后的好國王(之前的王子)就將能在一定的業(yè)務(wù)范圍(蘋果酒酒廠)內(nèi)獲取申報(bào)了的納稅的分布規(guī)律,發(fā)現(xiàn)異常偏差,將這些偏差和特定酒廠在開曼群島(避稅勝地)開設(shè)商業(yè)辦公室的事實(shí)聯(lián)系起來,然后將其作為一種逃稅模式進(jìn)行處理。 一般來說,無監(jiān)督學(xué)習(xí)方法可以(且在大多數(shù)情況下應(yīng)該)支持和強(qiáng)化有監(jiān)督的方法,因?yàn)槟憧梢岳斫舛址ㄔ谇懊娴亩温渲幸驯蛔C明遠(yuǎn)不是最優(yōu)的。 強(qiáng)化學(xué)習(xí)(Reinforcement Learning) 情況越來越糟——不僅貓頭鷹走了,王子也已經(jīng)丟了王國的地圖。這是一個(gè)沉重的打擊,我們的王子現(xiàn)在并不比一個(gè)沒有監(jiān)督器(可以給出方向和虛擬的墻)的機(jī)器人真空吸塵器高明多少。這是個(gè)相當(dāng)痛苦的試錯(cuò)過程,它基于我們每一步之后所得到的反饋——正反饋或負(fù)反饋。顯然,這在統(tǒng)計(jì)學(xué)上相當(dāng)接近于馬爾可夫序列(Markov sequence)和離散決策過程。在概率上,它可以通過蒙特卡羅方法加以描述。 如前面的段落所述,顯然當(dāng)?shù)玫狡渌椒ā绕涫怯斜O(jiān)督機(jī)器學(xué)習(xí)——的支持時(shí),該學(xué)習(xí)方法將能提供最好的結(jié)果。神經(jīng)網(wǎng)絡(luò)中的通用近似(universal approximation)是該學(xué)習(xí)方法的實(shí)現(xiàn)中最常見的組合。 將問題領(lǐng)域與算法和工具關(guān)聯(lián),支持算法的方法(如下)
上面的機(jī)器學(xué)習(xí)分類沒有對(duì)應(yīng)到它們所支持的已有工具和算法,所以是不完整的。此外,該表格還將成為將已有算法鏈接到相關(guān)商業(yè)案例的資源。 支持的工具和算法(如下) 注意,F(xiàn)link 和 Kafka 是技術(shù)支持工具,為接下來的兩種工具提供事件分布(event distribution)和映射化簡(jiǎn)(map-reduce)。
機(jī)器學(xué)習(xí)不是靈丹妙藥。它從數(shù)學(xué)統(tǒng)計(jì)中借用了很多東西,機(jī)器學(xué)習(xí)可以被應(yīng)用在我們需要廣泛的數(shù)據(jù)準(zhǔn)備/模擬以用于預(yù)測(cè)分析和最終決策的地方。你不需要任何預(yù)測(cè)就能預(yù)見白馬王子和醒來的美人將會(huì)「從此以后幸福地生活在一起,并在同一天死去。」使用統(tǒng)計(jì)方法的無線電定位和目標(biāo)指示已經(jīng)被顯著成功地使用了數(shù)十年。這里的關(guān)鍵詞是「學(xué)習(xí)」,下表中,我們突出顯示了一些經(jīng)過選擇的對(duì)機(jī)器學(xué)習(xí)能力有很高要求的商業(yè)領(lǐng)域。 商業(yè)領(lǐng)域和其所應(yīng)用的算法的對(duì)應(yīng)(如下,數(shù)字索引來自上面的工具和算法表格)
結(jié)論 如前所述,這篇分類并不追求完全覆蓋機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)所可能的算法,也不會(huì)將機(jī)器學(xué)習(xí)定位為數(shù)據(jù)分析的通用方法。就像前面的童話故事力求展示的那樣,每一種算法都有自己的優(yōu)點(diǎn)和缺點(diǎn),而且使用不當(dāng)就可能會(huì)導(dǎo)致災(zāi)難性的后果[4]。例如,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練往往很慢,大規(guī)模物理實(shí)現(xiàn)也很艱難,訓(xùn)練過程中出現(xiàn)的神經(jīng)網(wǎng)絡(luò)權(quán)重可能會(huì)難以理解。隨機(jī)森林訓(xùn)練更快也更容易實(shí)現(xiàn),但在森林構(gòu)建過程中不能對(duì)泛化誤差(generalisation error)進(jìn)行合適估計(jì),這可能會(huì)導(dǎo)致顯著的失敗。因此,一個(gè)半島電視臺(tái)記者可能會(huì)被誤認(rèn)為是基地組織恐怖分子。使用來自一個(gè)函數(shù)集合的所有宣稱的 80 種標(biāo)準(zhǔn)(幾乎所有標(biāo)準(zhǔn)都來自于 GSM 使用模式),可以創(chuàng)建一個(gè)不平衡決策樹(misbalanced decision tree)。 一般而言,隨機(jī)森林并不適合用來預(yù)測(cè)超出訓(xùn)練數(shù)據(jù)范圍的結(jié)果?;诖耍覀兛梢愿爬ㄕf:只有算法所基于的數(shù)據(jù)集良好、完全和有代表性時(shí),算法本身才能良好、完全和有代表性(這就是 Flink 和 Kafka 被作為數(shù)據(jù)收集和分類的關(guān)鍵組分的原因)。對(duì)于一個(gè)成功的輸出來說,對(duì)數(shù)據(jù)科學(xué)家的需求是很關(guān)鍵的。了解數(shù)據(jù)集統(tǒng)計(jì)分布規(guī)律是使用任何算法的第一步。決策應(yīng)該基于一種為檢測(cè)分布規(guī)律(并不總是高斯分布)適配過的受限奈曼皮爾森方法。我們希望現(xiàn)在你可以看到在你的技術(shù)基礎(chǔ)設(shè)施中,商業(yè)智能遠(yuǎn)比基礎(chǔ)技術(shù)架構(gòu)中的明顯規(guī)則引擎(BRE,如 Oracle)的實(shí)現(xiàn)更復(fù)雜。 參考文獻(xiàn) 1. Machine Learning, Tom Mitchell, McGraw Hill, 1997. 2. Applied SOA Patterns on the Oracle Platform, Pack Publishing, Sergey Popov – August 12, 2014. 3. Artificial Intelligence, A. Cachko, Eureka Publishing, 1978. 4. The NSA’s SKYNET program may be killing thousands of innocent people (http:///security/2016/02/the-nsas-skynet-program-may-be-killing-thousands-of-innocent-people/) 5. Levin B.R. Theoretical Foundations of Statistical Radio Engineering, 1989, Radio and Communications. 6. Tikhonov V.I. The optimal signal reception, 1983, Radio and Communications. 7. Top-banner 'Snow White and Prince Charming Check the Map' (https://www./photos/toadmahone/57834838) |
|