掌握機器學習技能最常見的五個錯誤
掌握機器學習技能沒有最正確的方法,每個人的學習方法都有不同。為了幫助更快地熟練機器學習技能,這個博客著重指出在學習中常見的五個錯誤:
1. 把機器學習看的基石
機器學習只是眾多幫助解決復雜問題的技能之一,因為它是一個在萌芽中的領域,機器學習通常出現在學術期刊論文,和研究生的課本中。這使得大眾認為它是高大上,堅無不摧,無所不能。思維需要轉變,從高端技術到實用具體處理方法,從精細到“適可而止”。這對于學習其他復雜方法也一樣。
2. 寫機器學習代碼
從寫代碼開始掌握機器學習使問題變得不必要的復雜,因為你至少需要解決兩個問題:第一,怎么用代碼實現技術,第二,怎么把這個技術應用于給定的問題。一次解決一個問題會比較容易,平衡機器學習,統計知識和算法庫來掌握怎么把技術應用于給定問題。這使得你可以快速發現,實踐,調試各種算法,然后選擇一兩個最合適的算法做精細研究,而不是用大量的時間在科研論文中研究模糊不清的算法。
3. 手動的解決問題
機器學習的應用包括界定問題,準備數據,呈現分析結果,調試算法,測試算法等,都可以自動完成。自動化是現代軟件在編譯,測試,部署方面的重大發展。用腳本語言來完成數據準備,算法調試,結果呈現,可以更高效,更快捷。記住并重新使用在軟件工程中的技能。不能實現自動很多程度上是因為許多程序員都是從書本開始學習機器學習的技能,或者不注重應用的課程。事實上,把機器學習應用自動化對于程序員是個大的機會。
4. 對于普通問題重新發明解決方法
在你自己從零開始實現算法解決問題時,已經有成百上千的人已經解決了類似的問題,發掘他們的經驗。 “不要重新發明輪子”。已經有豐富的實現算法的技能和代碼了。雖然仍然有很多還停留在書本或論文中,但是你可以去挖掘它。用google, google books, google scholar去搜索算法和問題,參與機器學習的網上社區。
5. 忽略數學
你不需要堅實的數學理論來開始使用機器學習技能,但是數學是機器學習最重要的部分。因為它用最有效最清晰明了的方式闡釋問題和系統的行為。忽略算法的數學基礎會造成很多問題,比如對于技能了解有限,對算法理解不清。比如,很多算法核心都有逐漸更新的優化機制。知道優化機制的特性可以使你有效的調試算法,發掘問題。
綜上所述,五個經驗就是
1. 不要機器學習當成基石
2. 不要寫機器學習算法的代碼
3. 不要手動調試算法,應用算法
4. “不要重新發明輪子”
5. 不要忽略數學。
英文原文