機器學習菜鳥最常犯的5個錯誤,以及如何避免
選文|Aileen
翻譯|姜范波
校對|周沖
我常幫助菜鳥們學習機器學習。
但是我看到,他們在思維模式上和行動上,經常犯同樣的錯誤。
本文我要指出他們經常栽跟頭的5個地方。
我發自肺腑地相信,對于應用機器學習,任何人都可以學,并且學得很好。
希望你能夠意識到自己已經毫無懸念地掉進了以下的某個坑里,然后果斷采取行動,回到正路上。
讓我們開始吧。
不要從理論開始
傳統的方法教機器學習是自下而上的——
step1:努力學習數學。
step2:努力學習機器學習理論。
step3:努力從頭開始實現算法。
stepX???(等等等等,自行腦補。。。)
終于,開始使用機器學習(你的目標在此!)
這條路漫長,艱難。
然而,這是為想要摘金奪銀的學術界大神們設計的。
你,只想要一個結果的吃瓜群眾,湊什么熱鬧!
陷阱
如果你有以下想法或者說法,你已不幸落井——
- 我得先完成這門線性代數的課才行。
- 我得回學校先讀個博士學位。
- 我得先啃完這本教科書。
出路
耗費4年在數學或者深奧的算法上,能將你帶到目標么?
更大的可能是然并卵。你停步不前?;蛘咧y而退。反正離你的目標不會越來越近。
出路是——立正,稍息,向后轉!
如果機器學習的價值在于準確的預測,那么要學的就是如何將問題模式化并做出準確的預測。就從這開始。
然后把這件事兒弄好,好得不要不要的!
在你需要的時候,去閱讀、截取、武裝理論知識,但僅限于為你的目標服務,僅限于這樣做會使你傳遞出更大價值。
不要去學所有的機器學習
機器學習浩瀚無邊啊。
它是計算機的自動學習過程,與人工智能多有交集。
從機器人的深奧學習理論算起,這個領域真的很大。
大得你無法一一收入囊中。
陷阱
如果你有下面的想法,你已不幸落井——
- 我得學會某個網頁上提到的所有新技術。
- 我得學會計算機視覺,自然語言處理,語音處理,等。
- 首先。我得學會所有的所有。
出路
找個小旮旯,集中于此。
進一步縮小范圍。
機器學習最有價值的部分是預測性建模。從數據創建模型進行預測。
從這里開始。
接下來,集中在某種與你最相關,或者你最感興趣的模型。
然后死纏爛打。
也許你選擇了某種技術,比如深度學習。也許你選擇了某種問題,比如推薦系統。
也許你還沒拿定主意,那么就選一個先。學好它?;蛘呋揪?。
然后,轉戰到另一個領域。
不要在算法上虛度光陰
機器學習確實關乎算法。
好多好多好多算法。
每個算法都是一個復雜的系統
是一個學習的小宇宙,有它自己的生態系統。
在算法的世界里你會迷路。所有人都會。
那些人叫做學術界。
陷阱
如果你有下面的說法,那么你已不幸落井——
- 我得弄明白它怎么工作的,在我使用它之前。
- 我得深入理解超參數先。
- 我調參的時候得解釋清楚因果關系。
出路
算法不是結果。它們是得到結果的方法。
實際上,機器學習算法只是一堆商品。換掉它們。試用幾十個。拿一些出來調調參數。接著換。一個更好的結果會讓你對算法更有感覺,但是要知道什么時候止步。系統化這個過程。設計調參實驗,讓它們自動執行和分析。
機器學習無外乎算法的正確應用。但是應用機器學習不只是在算法里虛度光陰。集中火力在每個項目要得到的結果,即一系列的預測,或者一個可以得到這些預測的模型。
不要從頭開始實現一切
從頭開始實現算法,你可以學到很多。
有時候你甚至需要去實現一項技術
因為沒有合適的,
或者找不到現成的實現方案。
但是,一般來說,你不必如此,你也不該如此。
你的實現可能糟透了。抱歉——
它可能有小錯誤。
它可能很慢。
它可能太占內存。
它可能處理不好邊界情形。
它甚至可能壓根兒就錯了。
陷阱
如果有以下情形,不幸你已落井——
- 你在寫代碼導入CSV文件(到底怎么回事!)
- 你在寫代碼做一個標準的算法,比如線性回歸
- 你在寫代碼做交叉驗證或者超參數調節。
出路
停下來!
使用一個通用的,已知是正確的,成千上萬的程序猿都在用的庫來處理邊界情形。
使用一個高度優化的庫,哪怕最后一個循環,最后一個字節都已經擠干凈,最小限度占用內存。
使用圖形化的用戶界面,避免不必要的編程。
每次你想要用的時候都實現所有一切,對機器學習菜鳥而言,是一個非常慢的方法。
如果你想學習實現,那么,誠實一點,把它和學習利用應用機器學習來傳遞價值區分開來。
不要總是換工具
有很多非常偉大的機器學習工具。
實際上,偉大的工具,連同數據和高性能硬件,
是機器學習得以復興的原因。
但是,當你遇到接踵而至的新工具時
你就掉進流連忘返的坑里了。
陷阱
如果你有如下情形,不幸你已落井——
- 使用你聽說過的新工具。
- 發現你每周或每月都在學習新的工具或者語言。
- 學一個庫,見新思遷,半途而廢。
出路
學習和使用新工具。
但是要有策略。
把新工具整合到解決問題的系統過程里。
如果你選好一個主打平臺并堅守不移,你會高效得多。至少堅持到你能擅長或者精通一個。
推薦3個平臺:
· Weka Workbench
· Python Ecosystem
· R platform
你的領域內還會有其它的平臺和專業工具,堅持到底是愛好者與專業人士的區別。
總結
本文你見識了我所見識到的機器學習菜鳥常犯的5大錯誤。重要的事再說一遍,它們是:
1. 不要從理論開始
2. 不要去學機器學習的所有東西
3. 不要在算法里虛度光陰
4. 不要從頭實現一切
5. 不要總是換工具。
【本文是51CTO專欄機構大數據文摘的原創譯文,微信公眾號“大數據文摘( id: BigDataDigest)”】