閱讀932 返回首頁    go 阿裏雲 go 技術社區[雲棲]


機器學習菜鳥最常犯的5個錯誤,以及如何避免


0?wx_fmt=png 

◆ ◆ 

不要從理論開始 


傳統的方法教機器學習是自下而上的——


step1:努力學習數學。


step2:努力學習機器學習理論。


step3:努力從頭開始實現算法。


stepX???(等等等等,自行腦補。。。)


終於,開始使用機器學習(你的目標在此!


這條路漫長,艱難。

然而,這是為想要摘金奪銀的學術界大神們設計的。

你,隻想要一個結果的吃瓜群眾,湊什麼熱鬧!


陷阱

如果你有以下想法或者說法,你已不幸落井——


  • 我得先完成這門線性代數的課才行。

  • 我得回學校先讀個博士學位。 

  • 我得先啃完這本教科書。


出路

耗費4年在數學或者深奧的算法上,能將你帶到目標麼?


更大的可能是然並卵。你停步不前。或者知難而退。反正離你的目標不會越來越近。


出路是——立正,稍息,向後轉!


如果機器學習的價值在於準確的預測,那麼要學的就是如何將問題模式化並做出準確的預測。就從這開始。


然後把這件事兒弄好,好得不要不要的!


在你需要的時候,去閱讀、截取、武裝理論知識,但僅限於為你的目標服務,僅限於這樣做會使你傳遞出更大價值。


◆ ◆ 

不要去學所有機器學習 


機器學習浩瀚無邊啊。


它是計算機的自動學習過程,與人工智能多有交集。


從機器人的深奧學習理論算起,這個領域真的很大。


大得你無法一一收入囊中。


如果你有下麵的想法,你已不幸落井——


我得學會某個網頁上提到的所有新技術。

我得學會計算機視覺,自然語言處理,語音處理,等。

首先。我得學會所有的所有。


出路

找個小旮旯,集中於此。


進一步縮小範圍。


機器學習最有價值的部分是預測性建模。從數據創建模型進行預測。


從這裏開始。


接下來,集中在某種與你最相關,或者你最感興趣的模型。


然後死纏爛打。


也許你選擇了某種技術,比如深度學習。也許你選擇了某種問題,比如推薦係統。


也許你還沒拿定主意,那麼就選一個先。學好它。或者基本精通。


然後,轉戰到另一個領域。


◆ ◆ 

要在算法上虛度光陰  


機器學習確實關乎算法。


好多好多好多算法。

每個算法都是一個複雜的係統

是一個學習的小宇宙,有它自己的生態係統。


在算法的世界裏你會迷路。所有人都會。


那些人叫做學術界。


陷阱

如果你有下麵的說法,那麼你已不幸落井——


  • 我得弄明白它怎麼工作的,在我使用它之前。

  • 我得深入理解超參數先。

  • 我調參的時候得解釋清楚因果關係。


出路

算法不是結果。它們是得到結果的方法。


實際上,機器學習算法隻是一堆商品。換掉它們。試用幾十個。拿一些出來調調參數。接著換。一個更好的結果會讓你對算法更有感覺,但是要知道什麼時候止步。係統化這個過程。設計調參實驗,讓它們自動執行和分析。


機器學習無外乎算法的正確應用。但是應用機器學習不隻是在算法裏虛度光陰。集中火力在每個項目要得到的結果,即一係列的預測,或者一個可以得到這些預測的模型。


0?wx_fmt=png 


◆ ◆ 

不要從頭開始實一切   


從頭開始實現算法,你可以學到很多。


有時候你甚至需要去實現一項技術

因為沒有合適的,

或者找不到現成的實現方案。


但是,一般來說,你不必如此,你也不該如此。

你的實現可能糟透了。抱歉——


它可能有小錯誤。

它可能很慢。

它可能太占內存。

它可能處理不好邊界情形。

它甚至可能壓根兒就錯了。


陷阱

如果有以下情形,不幸你已落井——


你在寫代碼導入CSV文件(到底怎麼回事!)

你在寫代碼做一個標準的算法,比如線性回歸

你在寫代碼做交叉驗證或者超參數調節。


出路

停下來

使用一個通用的,已知是正確的,成千上萬的程序猿都在用的庫來處理邊界情形。

使用一個高度優化的庫,哪怕最後一個循環,最後一個字節都已經擠幹淨,最小限度占用內存。

使用圖形化的用戶界麵,避免不必要的編程。

每次你想要用的時候都實現所有一切,對機器學習菜鳥而言,是一個非常慢的方法。


如果你想學習實現,那麼,誠實一點,把它和學習利用應用機器學習來傳遞價值區分開來。


◆ ◆ 

不要總是換工具 


有很多非常偉大的機器學習工具。

實際上,偉大的工具,連同數據和高性能硬件,

是機器學習得以複興的原因。

但是,當你遇到接踵而至的新工具時

你就掉進流連忘返的坑裏了。


陷阱

如果你有如下情形,不幸你已落井——


使用你聽說過的新工具。

發現你每周或每月都在學習新的工具或者語言。

學一個庫,見新思遷,半途而廢。


出路

學習和使用新工具。

但是要有策略。

把新工具整合到解決問題的係統過程裏。

如果你選好一個主打平台並堅守不移,你會高效得多。至少堅持到你能擅長或者精通一個。


推薦3個平台:

· Weka Workbench

· Python Ecosystem

· R platform


你的領域內還會有其它的平台和專業工具,堅持到底是愛好者與專業人士的區別。

原文發布時間為:2016-10-11


本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號

最後更新:2017-06-02 19:33:40

  上一篇:go  Airbnb數據科學團隊進化論:如何由內而外實現數據驅動
  下一篇:go  足球數據 | 被對手進球後的十分鍾內最有可能扳回比分