0
| 本文作者: 奕欣 | 2017-02-23 18:23 |
想必對人工智能有所了解的同學,都學習過周志華教授深入淺出的《機器學習》吧?

雷鋒網認為,其中尤為讓人印象深刻的地方,莫過于從封面到每一章節貫徹的西瓜理論……
不論是從“什么樣的西瓜才甜”引申出機器學習的含義,或是通過“西瓜各類特點的權重”介紹各類枯燥晦澀的概念及算法,周志華教授都用西瓜形象地做出了類比,讓雷鋒網AI科技評論小編一度覺得周教授最喜歡的水果肯定是西瓜。

不過周志華教授的“西瓜論”是一本教科書,可能有更多的小白讀者沒有詳細閱讀每一章節,那么如何用同樣的水果理論,以簡潔的語句闡述機器學習的含義?
無獨有偶,優秀的觀點總是相似的。雖然《機器學習》并沒有英文版本,但機器學習愛好者 Pararth Shah 2012 年在谷歌當實習生的時候,就在 Quora上用“芒果”類比,回答了“如何向沒有計算機科學基礎的人們解釋機器學習與數據挖掘?”的問題。Pararth Shah 就讀于斯坦福大學計算機學院,目前在谷歌研發及機器智能團隊擔任軟件工程師。
他的完整回答如下,雷鋒網AI科技評論做了全文編譯,與讀者們分享:
某天你去買芒果。你挑選后,小販會稱重,你需要根據根據重量乘以標記的固定單價來付錢。

毋庸置疑,你會選擇那些最甜、最熟的芒果(因為是按重量計費而不是按質量)。那么你要怎么挑選呢?
你依稀記得,外婆告訴你,那些有光澤的黃芒果會比沒光澤的黃芒果更甜。所以你就定下了一個挑選標準:只在那些有光澤的黃芒果里挑選。然后,你仔細觀察了芒果的顏色,然后從中選出了那些有光澤的黃芒果,給錢,回家!然后,幸福和快樂是結局?
有點天真了。
你回到家開始吃芒果。然而其中有的芒果并不如你想象中的甜。你覺得人生崩塌了!很明顯,你外婆所說的真理并不總是那么管用(外婆怎么會有錯QAQ!)然而現實如此無情,你只能承認:除了顏色,選芒果肯定要考慮別的因素。

在深思熟慮后(吃了無數各種各樣類型的芒果后),你得到一個結論,有光澤的黃色芒果肯定是甜的,但是個頭小一點的有光澤黃色芒果只有一半概率是甜的(這個結論是這樣得到的:如果你買了100個有光澤的黃色芒果,有50個是大的,50個是小的,而大芒果50個都是甜的,而小的則一半一半)。
哇哦,你覺得自己仿佛發現了一個新的真理,下次買芒果的時候決定把它當作圭臬。然而真相總是那么殘酷,你發現你最喜歡的小販不來了!你只能和另一個小販買芒果了,但是他家的貨是從其它村進的。然后你發現自己剛剛發現的真理又不管用了。你不得不重新開始品嘗各種各樣的芒果,最后得到的結論是:沒光澤的黃色小芒果才是甜的。
突然有一天,住在另一個城市的遠房表妹來看你,你想請人家吃芒果。然而,她特地和你強調,她不在意到底甜不甜,只要多汁就可以了。再一次(悲慘地),你又開始了吃芒果的試驗,然后發現軟的芒果最多汁。
隨后,你又搬到了世界的另一端。在這個地方賣的芒果是另一個品種。經過實驗,你發現綠色的芒果竟然比黃色的要好吃。

你結婚了,而你的太太非常討厭芒果。她喜歡吃蘋果。你又開始了買蘋果的征程。以前你做出的關于芒果的種種結論,現在毫無意義了。你需要通過同樣的試驗,得到蘋果外觀與好吃與否的結論。你這么做了,因為你愛她。
那么,想象你正在寫一個程序,能夠幫助你選芒果(或者蘋果等別的什么玩意兒)。你寫了一些類似這樣的規則:
if (顏色是亮黃的 and 個頭大的 and 我最喜歡的小販): 芒果是甜的。
if (軟的): 芒果多汁。
等等等等。
你會用這些規則去挑選芒果。你也會把這些規律發給你弟弟,告訴他這就是買芒果的真理。而且你也確信他會按照這些規則去選。
但每一次實驗,你可能都會得到一些新的觀察結果,你需要人為地調整這些規則。你需要理解影響芒果質量的所有因素,而且它們各自所占的比重是多少。
如果問題變得非常復雜,僅憑人為的判斷也很難形成正確的結論。那么,你的研究可能讓你在芒果科學順利拿個PhD(如果真的有的話)。
但不是每個人都有這樣的精力研究芒果的。
ML算法顛覆了傳統的各種算法。它能夠自動從提供的數據中學習,讓你的程序變得更加聰明。
你隨機從市場里挑選了一些芒果(訓練數據),并做出每個芒果的特征數據表,從顏色、大小、形狀、產地、小販名字等等(特點),加上甜度、多汁度、成熟度(輸出變量)。你將這些數據用來訓練機器學習算法(分類/回歸),然后它會建立一個芒果外觀與質量的模型。
下一次你再去市場,你就選擇一些有著典型特性的芒果(測試數據),然后用來檢驗這個ML算法。它會先得到一個芒果的甜度、多汁度和成熟度的結論。可能這個算法會采用你之前做的那種判斷方法(決策樹),也有可能采用其它的方法,但你不需要擔心這一點。
耶!現在你可以信心滿滿地去買芒果了,不用擔心挑選芒果需要考慮的種種細節。而且,你可以讓算法變得越來越好(強化學習),如果它學習了足夠多的訓練數據,它能夠提升準確性,而且在犯錯時也能夠及時改正。但最好的一點是,你可以用這個算法去訓練不同的模型,不論是蘋果橘子香蕉葡萄還是櫻桃西瓜,你都能讓你愛的人開開心心(吃到甜甜的水果)。
這就是機器學習能給予你的。如果你覺得不酷,來打我啊。
總而言之,機器學習就是:讓你的算法變得聰明,這樣你就不用自己擼袖子干了。
這個回答簡直和周教授的西瓜論有異曲同工之妙,堪稱濃縮版的水果機器學習導論。如果你對機器學習一無所知, 想必讀完這個回答后也會豁然開朗不少吧。