機器學習入門階段程式設計師易犯的5個錯誤

2021-06-21 16:11:53 字數 1417 閱讀 1346

怎樣進入機器學習領域沒有定式。我們的學習方式都有些許不同,學習的目標也因人而異。

但乙個共同的目標就是要能盡快上手。如果這也是你的目標,那麼這篇文章為你列舉了程式設計師們在通往機器學習高手道路上常見的五種錯誤。

機器學習不過是另一堆技術的集合,你可以用它來解決複雜問題。這是乙個飛速發展的領域,因此,機器學習的學術交流一般出現在學術期刊及研究生的課本裡,讓它看起來高不可攀又難於理解。

要想高效掌握機器學習,我們需要轉變觀念,從技術轉到方法,由精確變為「足夠好」,這也同樣適用於程式設計師感興趣的其它複雜技術。

由編碼開始入門機器學習會很困難,因為你需要解決的問題從乙個變成兩個:了解一項技術以便你實現它以及對於給定問題如何應用該項技術。一次解決乙個問題,並利用機器學習、統計分析環境以及演算法庫來學習如何將一項技術應用於某一問題,這樣就會容易很多。這能讓你對於若干演算法進行相對快速的抽查和調整,而無需花上大量時間閱讀研究**中含糊的演算法描述再將其編碼。

實現乙個演算法可以作為乙個單獨的專案晚些再完成,比如作為乙個練習或是等到原型系統需要投入執行時。一時只學一事,我建議從有gui的機器學習框架開始入門,不論你是不是程式設計師。

實用機器學習包括問題定義、資料準備、結果表達等步驟,它們與演算法的測試和調整都能夠並應該實現自動化。

在現代軟體開發的編譯、測試和部署中,自動化操作占有重要地位。對資料準備、演算法測試除錯、結果的表達編寫自動指令碼可以在準確性和改進速度方面獲得巨大的優勢。在專業軟體開發課程中學習的知識要牢記於心並不斷應用。

可能很多學習機器學習的程式設計師看的書、上的課對於這一領域的應用本質關注不多,導致很多人入門階段沒有使用自動化手段。實際上,將自動化技術應用到實用機器學習的方方面面會是程式設計師的巨大機遇。

你正要實現的演算法,或是與你正在求解的問題相似的問題,可能早有千百人解決了,就利用他們的經驗吧。

解決機器學習問題的知識非常多,當然它們可能都在書本或學術出版物中,但你可以訪問它們。做好你的功課,在谷歌谷歌圖書谷歌學術上搜尋,還可以去機器學習的網路社群。

如果你正要實現乙個演算法:

如果你正要求解某個問題:

如果你在程式設計函式庫或是特定某一資料結構方面遇到問題,你會選擇什麼策略,在機器學習領域就用相同的策略吧。參與網路社群並尋求可供利用的資源,可以加速你的學習和專案開發程序。入門階段可以考慮論壇和問答**,之後可以與學者和專家聯絡。

起步階段你並不需要數學理論,但是數學在機器學習中地位重要。因為它能提供最有效、最清晰的方法描述問題及系統的行為。

忽略演算法中的數學方法會導致諸多問題,如對某一方法理解有限或是對演算法編碼時受到限制。舉個例子,很多機器學習演算法的核心優化是增量式的演進。如果你能明白優化的本質(凸函式),你就能利用這些知識來使用高效的優化演算法。

將演算法的數學方法內化於心過程緩慢,但你的功力卻也隨之提公升。特別是如果你要從零開始實現高階演算法,包括演算法的內部優化,多多花時間從數學角度來理解演算法吧。

你從本帖學到了程式設計師在機器學習的入門階段容易犯的5個錯誤。5個教訓是:

機器學習入門階段程式猿易犯的5個錯誤

如何進入機器學習領域沒有定式。我們的學習方式都有些許不同,學習的目標也因人而異。但乙個共同的目標就是要能盡快上手。假設這也是你的目標。那麼這篇文章為你列舉了程式猿們在通往機器學習高手道路上常見的五種錯誤。1.將機器學習看得高不可攀 機器學習只是是還有一堆技術的集合,你能夠用它來解決複雜問題。這是乙個...

程式設計師們最易犯的10種錯誤

計算機行業中無疑程式設計師的薪資待遇是極高的,每年都有大量的人投身軟體程式設計行業,成為一名程式設計師。1 缺少必要的注釋 大段的if else缺少注釋,讓維護者沒有辦法快速分辨分支邏輯。特定地方存在hack或複雜邏輯的 缺少注釋會讓後面得人不明是什麼原因。為了你好,也為了後來者好,請務必加上 2 ...

程式設計師學習技術的階段

每個程式設計師對技術的學習和理解都是一段故事。而且每個人的學習過程和學習經歷也各不相同。和很多資深的同事和朋友也聊過他們自己的學習過程,發現大家都經歷過相同的階段,獲得了相同的結果,只是大家每個階段花費的時間長短不一樣而已。自己的經歷也是這樣的。記得我剛開始上班的時候,那時候智慧型手機還沒普及,每天...