1. 程式人生 > >機器學習方法的本質是什麽?

機器學習方法的本質是什麽?

傳輸 不可 content IV 給人 極值 事情 便是 靠譜

機器學習方法本質上是人類認知方式的新世界,是人類的未來。

工業革命解放了人類的體力,以機器學習技術逐步解鎖的人工智能革命將解放人類的腦力。

這不是技術層面上的進步,而是從根本上改變人類認知世界的方式。

長久以來,人類對事物的認知經由三個步驟:原始數據——專業知識/經驗常識——認知。

這裏的原始數據指得是可被人類感知到的一切客觀存在之總體,既包括理工範疇內的計量數據,亦包括文史範疇內的事件與現象。

面對同樣的原始數據(股市數據,儀表指數,社會現象等),擁有不同知識的人將得出不同的認知;同樣,擁有相同知識的人,面對沒有數據、有少量數據、有大量數據以及有充分數據等不同情況時,也將得出不同的認知(信息均等博弈,信息不對稱博弈)。

那麽究竟是知識重要還是數據重要?

在人類歷史很長一段時間內,無疑是知識的擁有者占據了上風。

而機器學習方法的出現,則將這個趨勢徹底扭轉。

或許,“知識”未來將一文不值,而“數據”,才是價值連城。

機器學習的本質,就在於建立了(原始數據——認知)之間的直接映射,跳出了“知識”的束縛。

從此,人類的認知方式改天換地。

因為,從此我們或許再也不需要那冗桎的“知識”。

一,什麽是“知識”:

事實上,“知識”也產生於“數據”。

因為人類全部“知識”的產生過程如下:

1)最初的人類不具備任何“知識”。

2)人類所取得的任何“新的知識”,都是靈感來源於“數據”、推導基於“已有知識”、驗證於“數據”。

所以,所謂“知識”,只是對數據之間客觀聯系全部總體的系統化、邏輯化、因果化了的描述方式,正如“系統”、“邏輯”、“因果”這三個詞背後所代表的哲學意義一樣,都是客觀上並不存在,只是被我們人類人為地創造出來用於認知的工具而已。

用以憑借人腦這一低效的處理器與存儲器去理解這無限復雜的世界而不得不妥協的產物。

更直接地說,“知識”其實並不是客觀存在,只不過因為人腦無法存儲處理這世間所有的(“數據”——“認知”)關系,而妥協生成的一種中介機制、一種簡化機制,以便於人類去理解相關“數據——認知”關系對的模塊化的橋梁。例如“標簽化”,正因為人腦無法存儲也無法分析所有“河南人”“廣東人”的數據,所以我們生成了類如“河南小偷多”“廣東人吃福建人”這樣的標簽用於簡化我們對河南人與廣東人的認知。拋開這兩個玩笑性質的“標簽”不談,事實上現實生活中我們對特定職業、特定階層、特定民族所貼上的一些“標簽”,本質上往往是基於最大似然估計的,這樣當我們在沒有更多後驗信息的條件下與一個完全陌生的人打交道時,我們通過這些標簽能夠高效地以最大概率的獲取對此人的最近似的認知。

其實,人類的一切“知識”都只不過是各種形式的“標簽”而已,從而通過對某一特定族類數據的特殊化處理,實現高效理解能力的一種簡化方式。

當然,這種簡化背後所損失掉的,是精確性。因為對事物的本質最好的解釋依然是事物本身,或者說,是人類可以感知到的有關該事物的全部數據本身。就好比,要解釋什麽是蘋果,最好的方法就是遞過去一個蘋果說:“諾,這是個蘋果。”。而其它的類似於“蘋果就是圓圓的,一般為紅色的,酸甜多汁的一種水果”這樣的“知識”無論多麽精確,都只是人類面對自己有限的認知能力條件下的一種只好挑選出一些“簡化特征”的妥協而已。

二,什麽是機器學習

人腦處理能力不足因而需要“知識”來簡化運算,但電腦不需要,相比於人腦,電腦的運算能力幾乎是無限的。

所以,電腦足以也必須擔負起拋開“知識”的束縛,直接建立(“數據”——“認知”)關系庫,從而以更加深邃、更加貼近世界本來面貌的視角去認知世界的重任。

這便是機器學習的本質。

說完了本質,那麽,機器學習具體究竟是怎麽樣的一種方法呢?

這是一種全新的思維方式。

機器學習的標準範式可以表達如下:

對於一個Task及其Performance的度量方法,給出特定的Algorithm,能夠通過利用Experience Data不斷提高在該Task上的Performance的方法,就稱為機器學習。

其實這個定義就是“學習”的全部含義,這個事情按照機器的思路來做,就是機器學習。

舉現在最火的Alpha:GO(也就是計算機圍棋學)的例子,不妨設此處的“Task”就是一步棋路,“Performance”就是最後的勝率,“Experience Data”就是以往的棋譜。然後設計出一個Algorithm,使得構建出的“這步棋我該走到哪裏呢——模型”能通過利用過往數據而取得“Performance:勝率”的提高。

為了實現每次利用Experience data對Performance的提升,當前最主流的方法就是“誤差反向傳播法”。這種方法的核心思想就是:讓機器自由去試錯,然後根據嘗試的結果與樣本的真實結果之間的誤差反向調整試錯策略。誤差較小的嘗試要獎勵,誤差較大的嘗試給予懲罰,然後將這個嘗試過程一直循環進行下去,直到多學習到的結果在所有樣本上的表現達到我們所定義的最優。通俗來說,這與訓練一條狗去服從我們的指令或是訓練自己完成題集上的全部習題等過程並沒有什麽區別。

有了“誤差反向傳播”算法,Alpha:GO們就可以通過每次利用“Experience data:棋譜”使得自己下棋的勝率提高一點點。這便是一個機器學習方法的實例。

因為這個“下棋機器”從歷史的數據中確實學到了點什麽。

講到這裏,可能有人會感覺,似乎機器學習很弱雞啊,隨便一個棋手看看以前的棋譜也都可以學到點什麽啊。

幸運的是或者(對於柯潔們來說)不幸的是,對於機器而言,“學到點什麽”就等價於“學到了全部”。

因為它可以“一直學”。

只要有了:

1)合理的算法保證每次對Experience Data的學習都能使Performance提高一點點,

2)足夠的運算能力。

這兩點設計,機器的能力必將達到極值,在可獲取的Experience Data約束範圍內的極值。因為機器可以一夜之間學遍所有棋譜,包括古譜、網絡棋譜、以及自己和自己下的棋譜。而且還能神tm能保證每次進步一點點。

而人類棋手窮極一生可能做到這點嗎?

所以人類棋手進步的通道更多的轉向了聽取前輩的教誨,鉆研棋理,總結技巧,或者說,轉向了“知識”,人類各行各業的佼佼者歸根結底都是知識的“富有者”。

其實,在人類的學習中,也有類似於機器學習的學習過程,那便是基於千百次嘗試中通過“懲惡揚善”所積累出的個人經驗或直覺本能。只可惜,對於人類來說,這部分“學習結果”是無法共享的,一個老司機的開車能力是一個新手通過怎樣的言傳身教都無法企及的。

而對機器而言,第一不依賴於知識,只要有足夠多的病例數據,在完全沒有任何醫學基礎的條件下也可以通過合理的算法對疾病進行診斷,且準群度媲美甚至遠超一眾經驗豐富的“老中醫”;第二,學習結果在機器間可以共享,一臺機器(或者說一套算法)達到了某一高度,所有的機器便都可以達到這樣的高度。(沒錢買不起設備?沒錢買不起數據?沒錢買不起程序?)。

三,人類學習與機器學習

正因為計算與處理能力的差別,導致了人類與機器在學習方法上的差異。

機器計算能力無窮無盡,所以機器學習很粗暴,有多少,學多少。其最終能達到的高度只取決於數據量。

當數據量充足時,機器學習方法所能得到的結果,可無限逼近於事物的本質面貌。

不需要理論,不需要知識。

或者說,機器通過對海量數據進行學習所得到的結果,就是該問題最終極最權威的“理論”與“知識”。只是,“不足為外人道哉”,這是一種隱式的(知其然不知其所以然)“知識”。

就好比,Alpha:GO並不懂棋理,也說不出什麽理論基礎,它只知道怎麽下能贏,至於為什麽要這麽下,它自己無法解釋,誰也無法解釋。

但這並不妨礙我們認可Alpha:GO已掌握了圍棋的真諦。

而人類計算能力有限,不可能做到對全部數據的充分學習。因而人類轉向了一種“分布式”的處理方式,將每個人做為一個獨立的處理單元各自做出一點微不足道的小貢獻,同時建立起“知識”這一顯式的(可閱讀,可解釋的)抽象表示事物關系的體系作為各個分布單元人之間傳輸信息的接口。

因此,人類盡管個體能力有限,但人類這個群體卻是飛速發展;同時,作為無數個體“知識”的匯總而構成的“科學”,幫助著我們每個人類依靠著自身非常低效的處理能力,也能對客觀事物給出相當靠譜的解釋。

這真是“我為人人,人人為我”的境界啊。

從這個意義上,雖然人類的自身能力有限,但實際上人類卻發明了一種更為先進的認知系統。

用於突破造物主施加於人類之上的桎梏。

體能上的桎梏我們已經通過工業革命突破,智力上的桎梏則要交給人工智能來突破。

四,最後

不要小看機器學習,這必將成為人類世界的一種新的思維方式,滲透入各行各業。

更不要小看人類,因為是人類造出了機器,這是人類“善假於物”特性在當代最完美的演繹。

人類,永遠能在自己有限的能力範圍內,做出驚天動地的偉業!

小禮物走一走,來簡書關註我



作者:sharekiller
鏈接:https://www.jianshu.com/p/2dd876c82a85
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

機器學習方法的本質是什麽?