第一類是做數據模型進行推薦、分類、識別、預測等工作的建模型算法工程師,通常JD上也寫成數據挖掘工程師、深度學習工程師等。這類大體的工作就是結合業務場景,選擇合適的算法模型,將數據進行處理后使用模型獲得結果,也被戲稱為“調參工程師”。
第二類是做針對性方向的算法研究,包括圖像、語音、文本等,其囊括了在外界看來很智能的人臉識別、人臉變換、語音生成、語音識別、新聞推薦、智能對話等功能。和第一類的區別主要在于處理的數據非傳統的結構化數據,需要進行針對性的處理,比如圖像的取點、二值化,語音的要素提取,文本的分詞、向量化等等。當進行了數據處理后,后續選擇模型時就和第一類類似了。
不難看出,第二類會比第一類需要一些針對性的知識體系,相對來說更好去做準備。
從學習安排上,可以以如下的學習路線做準備:
一、數學能力基礎
無論是否計算機出身,數學方面的能力在算法工作中是非常必要的基礎,需要掌握的程度如下:
1、高等數學,主要包括微分和積分、偏微分、向量值函數、方向梯度、泰勒展開等,才能更好理解算法公式,調參原理,以及迭代時梯度的概念等;
2、線性代數,主要是矩陣運算、高維向量、空間運算,這些是理解深度學習向量空間的基礎;
3、概率論及數理統計,或者稱之為概率學和統計學,要理解,機器學習本質上是一個概率問題,從數據中學習的不確定性,就是在獲得概率值。
二、計算機科學能力基礎
算法工程師是一個研發性崗位,寫代碼的能力也是必須的。
1、掌握基本的排序、查找算法
2、熟悉常用的各類數據結構,如數組、樹、表
3、將抽象邏輯思路轉為代碼,能完成leetcode上中等難度的題目
4、有編程語言學習能力,會python更好,其他語言需要花時間了解其語法特點
以上兩大基礎,如果是工科出身,應該不會需要太久做準備,可以根據缺少的部分來查漏補缺,這些部分在兩個月內完成應該問題不大。
后續才是真的開始做算法的學習:
三、機器學習算法能力基礎
1、熟悉常用機器學習算法的原理,包括線性回歸、邏輯回歸、決策樹、K均值、SVM、adaboost、CNN、RNN等
2、能夠了解各個算法的優劣和適用的數據場景
3、熟悉常用機器學習算法在代碼中的實現,深一些是能自己手寫實現,淺一些是能通過使用python的包來調用,熟悉參數
4、能夠獨立完成完整的數據項目,如在kaggle上嘗試解決入門的問題,實現從數據處理到模型選擇直到輸出結果的過程
第三部分是個長久的事情,不斷的熟悉算法和使用,并在實際數據項目中來深化,不去公司實習的話,在kaggle上多做嘗試可以積累不少經驗。
當能掌握這些后,就可算做正式入門了,目前大廠的實習生或者校招生基本就在這個水平程度,想要得到更好的機會或者能在工作中真的有好的產出,需要更多的努力和學習。
-
工程師
+關注
關注
59文章
1569瀏覽量
68502 -
算法
+關注
關注
23文章
4607瀏覽量
92837
發布評論請先 登錄
相關推薦
評論