如何向外行解釋機器學習和資料探勘
有網友在 Quora 上提問:對於那些非電腦科學行業的人,你會如何向他們解釋機器學習和資料探勘? 史丹佛大學的印度學生、機器學習愛好者 Pararth Shah 在2012年12月22日的回覆,非常經典,得贊數有 3700+。下面內容,由@jiqihuman 編譯。
買點芒果去
假設有一天你準備去買點芒果。有個小販擺放了一車。你可以一個一個挑,然後小販根據你挑的芒果的斤兩來算錢(在印度的典型情況)。顯然,你想挑最甜最熟的芒果對吧(因為小販是按芒果的重量來算錢,而不是按芒果的品質來算錢的)。可是你準備怎麼挑呢?
你記得奶奶和你說過, 嫩黃的芒果比暗黃的甜。 所以你有了一個簡單的判斷標準:只挑嫩黃的芒果。你檢查各個芒果的顏色, 挑了些嫩黃的,買單,走人,爽不?
可沒那麼簡單。
生活是很複雜的
你回到家,開始慢慢品嚐你的芒果。你發現有一些芒果沒有想的那麼甜。你焦慮了。顯然,奶奶的智慧不夠啊。挑芒果可不是看看顏色那麼簡答的。
經過深思熟慮(並且嚐了各種不同型別的芒果), 你發現那些大個兒的,嫩黃的芒果絕對是甜的,而小個兒,嫩黃的芒果,只有一半的時候是甜的(比如你買了100個嫩黃的芒果,50個比較大,50個比較小,那麼你會發現50個大個兒的芒果是甜的,而50個小個兒的芒果,平均只有25個是甜的)。
你對自己的發現非常開心,下次去買芒果的時候你就將這些規則牢牢的記在心裡。但是下次再來到市集的時候,你發現你最喜歡的那家芒果攤搬出了鎮子。於是你決定從其它賣芒果的小販那裡購買芒果,但是這位小販的芒果和之前那位產地不同。現在,你突然發現你之前學到的挑芒果辦法(大個兒的嫩黃的芒果最甜)又行不通了。你得從頭再學過。你在那位小販那裡,品嚐了各類芒果,你發現在這裡,小個兒、暗黃的芒果其實才是最甜的。
沒多久,你在其它城市的遠房表妹來看你。你準備好好請她吃頓芒果。但是她說芒果甜不甜無所謂,她要的芒果一定要是最多汁的。於是,你又用你的方法品嚐了各種芒果,發現比較軟的芒果比較多汁。
之後,你搬去了其它國家。在那裡,芒果吃起來和你家鄉的味道完全不一樣。你發現綠芒果其實比黃芒果好吃。
再接著,你娶了一位討厭芒果的太太。她喜歡吃蘋果。你得天天去買蘋果。於是,你之前積累的那些挑芒果的經驗一下子變的一文不值。你得用同樣的方法,去學習蘋果的各項物理屬性和它的味道間的關係。你確實這樣做了,因為你愛她。
有請計算機程式出場
現在想象一下,最近你正在寫一個計算機程式幫你挑選芒果(或者蘋果)。你會寫下如下的規則:
if(顏色是嫩黃 and 尺寸是大的 and 購自最喜歡的小販): 芒果是甜的 if(軟的): 芒果是多汁的
等等等等。
你會用這些規則來挑選芒果。你甚至會讓你的小弟去按照這個規則列表去買芒果,而且確定他一定會買到你滿意的芒果。
但是一旦在你的芒果實驗中有了新的發現, 你就不得不手動修改這份規則列表。你得搞清楚影響芒果質量的所有因素的錯綜複雜的細節。
如果問題越來越複雜, 則你要針對所有的芒果型別,手動地制定挑選規就變得非常困難。你的研究將讓你拿到芒果科學的博士學位(如果有這樣的學位的話)。
可誰有那麼多時間去做這事兒呢。
有請機器學習演算法
機器學習演算法是由普通的演算法演化而來。通過自動地從提供的資料中學習,它會讓你的程式變得更“聰明”。
你從市場上的芒果裡隨機的抽取一定的樣品(訓練資料), 製作一張表格, 上面記著每個芒果的物理屬性, 比如顏色, 大小, 形狀, 產地, 賣家, 等等。(這些稱之為特徵)。
還記錄下這個芒果甜不甜, 是否多汁,是否成熟(輸出變數)。你將這些資料提供給一個機器學習演算法(分類演算法/迴歸演算法),然後它就會學習出一個關於芒果的物理屬性和它的質量之間關係的模型。
下次你再去市集, 只要測測那些芒果的特性(測試資料),然後將它輸入一個機器學習演算法。演算法將根據之前計算出的模型來預測芒果是甜的,熟的, 並且/還是多汁的。
該演算法內部使用的規則其實就是類似你之前手寫在紙上的那些規則(例如, 決策樹),或者更多涉及到的東西,但是基本上你就不需要擔心這個了。
瞧,你現在可以滿懷自信的去買芒果了,根本不用考慮那些挑選芒果的細節。更重要的是,你可以讓你的演算法隨著時間越變越好(增強學習),當它讀進更多的訓練資料, 它就會更加準確,並且在做了錯誤的預測之後自我修正。但是最棒的地方在於,你可以用同樣的演算法去訓練不同的模型, 比如預測蘋果質量的模型, 桔子的,香蕉的,葡萄的,櫻桃的,西瓜的,讓所有你心愛的人開心:)
這,就是專屬於你的機器學習,是不是很酷啊。
機器學習:讓你的演算法更聰明, 所以你就可以偷懶嘍。
原文連結: Pararth Shah 翻譯: 伯樂線上 - jiqihuman
相關文章
- 趣文:如何向外行解釋機器學習和資料探勘機器學習
- 《資料探勘:實用機器學習技術》——資料探勘、機器學習一舉兩得機器學習
- 機器學習、資料探勘及其他機器學習
- 機器學習和資料探勘的推薦書單機器學習
- ShifuML/shifu: Hadoop上的機器學習和資料探勘框架Hadoop機器學習框架
- [機器學習&資料探勘]SVM---核函式機器學習函式
- 常用的機器學習&資料探勘知識(點)機器學習
- .NET資料探勘與機器學習開源框架機器學習框架
- 萌新向Python資料分析及資料探勘 前言Python
- 如何向外行解釋什麼是記憶體溢位記憶體溢位
- 資料探勘,人工智慧,機器學習會議總結人工智慧機器學習
- [機器學習&資料探勘]機器學習實戰決策樹plotTree函式完全解析機器學習函式
- 資料探勘和資料提取能做什麼?
- [機器學習&資料探勘]樸素貝葉斯數學原理機器學習
- [機器學習&資料探勘]SVM---軟間隔最大化機器學習
- 如何向外行人解釋什麼是記憶體溢位記憶體溢位
- 詳細解釋資料探勘中的 10 大演算法(上)演算法
- OLAP和資料探勘——資料倉儲手冊
- 【Mark Schmidt課件】機器學習與資料探勘——MLE與MAP機器學習
- 資料的迷局和現實-文科外行如何解讀RTB廣告資料和優化的黑盒子優化
- 如何向妻子解釋物件導向設計(OOD)物件
- 資源|28本必讀的經典機器學習/資料探勘書籍機器學習
- 大資料時代,如何做資料探勘與分析!大資料
- 如何向妻子解釋設計模式設計模式
- 如何提升企業的資料探勘能力
- 如何用資料探勘找到合適房源?
- 教你如何用R進行資料探勘
- 紐約如何利用資料探勘預防火災
- 如何系統地學習資料探勘
- 資料探勘和資料提取該怎麼區分?
- 自學資料探勘
- Web資料探勘Web
- 序列資料探勘
- 資料探勘概念
- 機器學習解釋模型:黑盒VS白盒(附資料連結)機器學習模型
- 資料分析入門必知:機器學習最通俗的解釋?機器學習
- 如何向親戚朋友解釋什麼是IP,埠和域名
- 機器學習&資料探勘筆記_16(常見面試之機器學習演算法思想簡單梳理)機器學習筆記面試演算法