【編者按】機器學(xué)習(xí)的核心在于“學(xué)習(xí)”。學(xué)習(xí)能力原本用于判斷一個生命是否具有智能,而實現(xiàn)人工智能也必然需要機器具有學(xué)習(xí)能力,機器學(xué)習(xí)研究的目的是讓機器像人一樣,但是現(xiàn)在很多云計算企業(yè)包括一些初創(chuàng)公司利用機器學(xué)習(xí)為噱頭,這可能會讓很多人產(chǎn)生誤解,作者以自己親身經(jīng)歷闡述了什么叫做“機器學(xué)習(xí)”,Bill Franks是Teradata的首席分析官,本文來自SmartDataCollective。
CSDN推薦:歡迎免費訂閱《Hadoop與大數(shù)據(jù)周刊》獲取更多Hadoop技術(shù)文獻、大數(shù)據(jù)技術(shù)分析、企業(yè)實戰(zhàn)經(jīng)驗,生態(tài)圈發(fā)展趨勢。
以下為原文:
大數(shù)據(jù)規(guī)模和復(fù)雜度的增長給現(xiàn)有IT架構(gòu)以及計算能力帶來了極大挑戰(zhàn),機器學(xué)習(xí)領(lǐng)域的研究為處理未來更加龐大和復(fù)雜的數(shù)據(jù)提供了可能性,然而“機器學(xué)習(xí)”這個詞常常被誤用甚至濫用。
生活中,一些機器學(xué)習(xí)領(lǐng)域的術(shù)語被越來越多的引用,比如模式識別、無監(jiān)督學(xué)習(xí)等等。近年來,機器學(xué)習(xí)被廣泛地應(yīng)用到各行各業(yè)。我一直努力將許多傳統(tǒng)的數(shù)據(jù)挖掘和統(tǒng)計算法應(yīng)用到機器學(xué)習(xí),這是有益的嘗試,雖然大多數(shù)人還不太理解這些,很多時候,傳統(tǒng)算法被貼上新標(biāo)簽以用于炒作,其中大多僅是對機器學(xué)習(xí)中的算法進行簡單分類,實際上并沒有從根本上作任何創(chuàng)新和改變。
機器學(xué)習(xí)研究的是怎樣用計算機模擬或?qū)崿F(xiàn)人類學(xué)習(xí)活動,機器學(xué)習(xí)的核心在于“學(xué)習(xí)”。學(xué)習(xí)能力原本用于判斷一個生命是否具有智能,而實現(xiàn)人工智能也必然需要機器具有學(xué)習(xí)能力,機器學(xué)習(xí)研究的目的是讓機器像人一樣,通過外界環(huán)境的影響不斷改進機器自身的性能,一臺真正有學(xué)習(xí)能力的機器,應(yīng)該做到隨著機器解決問題的增多,機器的性能或解決問題的能力不斷增強,而現(xiàn)在許多所謂的“機器學(xué)習(xí)”實際上不具備“學(xué)習(xí)”能力。
許多初創(chuàng)企業(yè),特別是在云領(lǐng)域,經(jīng)常宣傳自身機器學(xué)習(xí)的能力,有時候,算法是不能從用戶界面看到的,因此用戶可能無法知道界面下的算法是怎樣的運行機制。用戶可能會誤以為正在使用的某個新功能或算法已經(jīng)接近人工智能,然而,如果他們知道他們花錢得到的只是一些處于早期、非常不成熟的工具,只是用來構(gòu)建一個決策樹的新方式,他們會怎么想?
也許我的看法有些過時,但我一直認為相比數(shù)據(jù)挖掘,機器學(xué)習(xí)更接近人工智能。關(guān)于機器學(xué)習(xí),我一直想得到一種可以動態(tài)自我調(diào)整并了解如何應(yīng)用新規(guī)則的算法,而這有別于像k-均值聚類分析的迭代算法。可以說聚類算法每一次傳遞后都進行了“學(xué)習(xí)”并動態(tài)調(diào)整,然而,預(yù)先設(shè)定的規(guī)則并不會改變。一旦k-均值算法開始迭代,最后的答案就被注定了,即使我們當(dāng)時還不知道答案是什么,開始迭代后發(fā)生的所有結(jié)果都可以按照需求手動復(fù)制。K-均值算法使用固定的規(guī)則,而且算法從來沒有“學(xué)會”用不同的方式解決問題。
與K-均值聚類算法類似,如今許多算法都被打上了機器學(xué)習(xí)標(biāo)簽,其實只是多用了一些迭代,這遠遠談不上自適應(yīng)或者“學(xué)習(xí)”。在高中時代,我第一次認識到真正的人工智能與一套復(fù)雜規(guī)則之間有著巨大的區(qū)別。在一次科學(xué)展覽的項目中,我為我的電腦寫了一段程序,讓電腦玩Isolation――Isolation是在8 x 6網(wǎng)格上進行的游戲,玩家將他們的棋子移到一個開放的空格,然后找到下一個可以移動到的空格,在你被對手困住無法移動之前,你需要先把對手困住,最先困住對方的人獲勝。
當(dāng)我在玩這個游戲之前,我意識到在眾多可以選擇的空格中選擇一個會對之后的兩步或三步有戰(zhàn)略意義,當(dāng)然直接影響到下一步行動,考慮到這點要比那些只考慮一步的人有更大的勝算。我的計算機程序利用了這樣的優(yōu)勢,該程序首先確定下一步它可以移動到的空格,接著,該程序考慮除了當(dāng)前的這一步,下一步還有多少種可能的行動方案,當(dāng)然程序還會考慮到下下步的行動方案,最后程序會從所有可能情況中選擇一個最優(yōu)的方案。
當(dāng)我將我的程序放到科學(xué)展覽上演示時,大多數(shù)人都感到驚訝,可能因為很多人沒玩過這個游戲,我倒不覺得這個程序有多神奇,在我看來這就像是一個中等熟練的玩家打敗一個新手一樣,然而,很多人以為我的電腦真得有智能,特別是因為它的三個難度級別。難度級別之間的唯一區(qū)別是電腦會隨機選擇一個空格而不是選擇最佳的策略,人們認為程序背后有智能算法,事實上只是一些復(fù)雜的規(guī)則集合。
我在程序中采用了一些簡單的、重復(fù)性規(guī)則,足以使它可以在這樣一個策略游戲中打敗大多數(shù)人,然而計算機并不能真正地思考和學(xué)習(xí),它只是需遵循我預(yù)先設(shè)定、迭代的規(guī)則。有句老話說“任何足夠先進的技術(shù)都與魔法無異”。我開始懷疑將基于規(guī)則足夠復(fù)雜的算法與人工智能或自適應(yīng)機器學(xué)習(xí)區(qū)分開是不是真的很難?
判斷是不是機器學(xué)習(xí)最關(guān)鍵的還是看“機器是否具備學(xué)習(xí)能力”。其實機器學(xué)習(xí)經(jīng)常被誤以為是機械學(xué)習(xí),機械學(xué)習(xí)只是將外界環(huán)境提供的信息簡單存儲起來,沒有推理過程,通過使用復(fù)雜的、基于規(guī)則的算法給人一種“智能”的錯覺,實際上只是類似于“死記硬背”的學(xué)習(xí)方式。
真正的機器學(xué)習(xí),不僅僅是存儲信息這么簡單,現(xiàn)實世界中信息包括語音信號、數(shù)字圖像等,通常都是高維數(shù)據(jù),為了正確地理解這些數(shù)據(jù),就需要對這些信息進行處理――降維,找出隱藏在高維數(shù)據(jù)中的低維結(jié)構(gòu)。從數(shù)據(jù)分析的角度來說,機器學(xué)習(xí)過程就是數(shù)據(jù)挖掘的過程,機器通過挖掘出外界環(huán)境數(shù)據(jù)中潛在的規(guī)律,從而“理解”數(shù)據(jù),理解外界環(huán)境,也就達到了“學(xué)習(xí)”的境界。機器學(xué)習(xí)還應(yīng)該具有演繹、歸納和類比的能力,比如演繹能力中最重要的方法就是經(jīng)典的三段論(大前提:學(xué)生需要學(xué)習(xí);小前提:小明是學(xué)生;結(jié)論:小明需要學(xué)習(xí)),只需要為機器提供大前提和小前提,機器就可能給出正確的結(jié)論;而歸納能力則需要機器通過歸納求解出對事物總的概念描述,類似于人類抽象思維的能力;類比能力是演繹和推理的結(jié)合,這是機器學(xué)習(xí)最關(guān)鍵的部分,利用相似性將已存儲的信息與新事物進行匹配,檢驗相似程度,不斷更新機器已有的知識庫,以解決更多的問題。
我不明白將基于迭代規(guī)則的算法打上機器學(xué)習(xí)標(biāo)簽是不是一種營銷的手段?因為有很多人只是跟風(fēng)而已,他們不明白他們認為是學(xué)習(xí)和自適應(yīng)的算法事實上只是一些復(fù)雜規(guī)則的集合。
原文鏈接:When Machine Learning Isn’t Learning (編譯/毛夢琪 責(zé)編/魏偉)
以“ 云計算大數(shù)據(jù) 推動智慧中國 ”為主題的 第六屆中國云計算大會 將于5月20-23日在北京國家會議中心隆重舉辦。產(chǎn)業(yè)觀察、技術(shù)培訓(xùn)、主題論壇、行業(yè)研討,內(nèi)容豐富,干貨十足。票價優(yōu)惠,馬上 報名 !