機器學習入門一定要避開的3個陷阱

2021-09-01 06:20:45 字數 1695 閱讀 3407

機器學習入門一定要避開的3個陷阱

最近秋招已經進入尾聲,有不少朋友反饋,面試的過程中,面試官提到的許多常見機器學習演算法相關問題都沒有準確的回答出來,相關簡略**的現場演示也沒有成功寫出來,經常被問得啞口無言,最終也沒有獲得好的offer。

應用的時候也只是呼叫一些封裝好的框架來簡單地調調包,調調參。這種活似乎每個人都會,不能在眾多人中脫穎而出。

總結以上問題出現的原因

1、理論學習時缺少對演算法的推導,對演算法只是乙個大概了解

2、對常用的機器學習演算法,沒有嘗試去用程式語言去實現,對演算法模型的優化細節和引數的選擇沒有乙個很好的理解。

遇到這些問題該怎麼辦?

簡單過一遍演算法是遠遠不夠的。

那樣我們只能大概了解該演算法是乙個用於解決分類還是回歸等問題。但當涉及到具體的演算法流程(模型的擬合函式、目標函式和優化函式),自己卻不知道從哪處說起。也不知道為何該演算法是有效的。

這時候就考驗大家的機器學習功底了,類似的分類演算法有很多種,類似的回歸演算法也有很多種。

那麼什麼場景下使用svm,什麼場景下使用決策樹,什麼場景下又使用線性回歸呢?這個模型的引數又應該根據怎樣的思路去優化?等等問題可能會在之後具體的應用場景中煩惱到你。

學習乙個新的演算法的正確姿勢

閱讀相關書籍或學習課程的時候

需要跟著書本/老師的思路一步一步地對演算法的由來、演算法擬合函式的有效性、演算法的目標函式(如最小二乘法,對數似然函式等)與如何使用該演算法的優化函式去進行模型引數的優化(如梯度下降)等流程要有個深刻的認識。

不要求每次都能具體地詳細推導出來(可適當地安排時間來複習一下推導課程),但起碼在之前第一次學習,第一次複習的時候,就要有著深刻的認識,這樣之後多次的演算法應用中就更加得心應手了。

入門一定要避開的幾大陷阱

1、收藏過多的資料

資料不在多,而在於精。比如書籍,推薦李航博士的《統計學習方法》和周志華教授的《機器學習》,這兩本對入門初學者就非常的友好了。也可以選擇一門較好的課程,系統地跟著老師去學習。

2、惡補相關的數學知識

機器學習是需要同學們具有一定的數學基礎,如微積分和概率論等基礎知識。有些同學認識到這點的時候,就會一開始就先惡補這些數學知識,不僅消耗大量的時間,而且可能還產生一種對機器學習的消極性

數學知識是肯定需要的,我們可以在學習乙個新的演算法的時候,遇到了哪個不懂的數學知識,再去回憶學習。這樣在查漏補缺的同時,還可以有更好的系統認知。

3. 對每個演算法都要去重新實現

用程式語言去重新實現乙個演算法固然可以加深對演算法的認識。

那是不是說我們需要對每個演算法都要去實現呢?答案是不需要的,因為自己實現的演算法往往是不完美的,效率也不高。

但是我們需要盡量對傳統的演算法(如邏輯回歸,決策樹,梯度下降等)重新實現一遍,因為之後很多新的變種演算法,都是基於傳統的機器學習演算法進行改良的。我們掌握傳統機器學習演算法的基礎,就可以更容易的理解新的演算法。

Creator3D 入門一定要會的幾種資源載入

今天菜鳥整理了一些creator3d最常見的資源載入方面的東西和大家分享一下,希望對大家有所幫助,菜鳥今天寫的主要是專案中常見的動態載入顯示和json讀取。在creator3d中進行動態載入和cocos creator中一樣,首先需要確保動態載入的資源應該存放在根目錄assets 下的resourc...

給入門程式設計師的一些學習建議(一定要看)

當你學程式設計的時候,要看看你的鍵盤,以敲壞鍵盤為人生目標!什麼時候你通過敲 把鍵盤敲壞了,你就離高手不遠了。當然啦,如果鍵盤比較好的話,根本敲不壞。如果想要具備乙個高效的學習方法,首先要具備乙個正確的學習價值觀。可以把整個學習過程比作聽英語聽力,當你在聽英語聽力的時候,假如有100個單詞,如果聽到...

這19個錯誤,想學好UG的一定得避開!

有很多人說剛接觸ug都不知道要怎麼學習!ug 是乙個三維製圖 軟體,三維軟體都大同小異,學會乙個以後其它的上手摸索一會兒也就會了,但是如何開始呢?很多人疑惑自己到底能學會這類軟體嗎?是否明確了自己為什麼要學習這類件?學習ug nx需要有哪些知識基礎?學習ug nx需要走那幾個步驟?學習ug nx通常...