1.定義
機器學習算法,或者說“算法工程師”這個職位名稱里的“算法”,并不是計算機系本科課程《算法與數據結構》里那個算法。那門課里講的,是排序、查找這類”確定性算法”;而這里我們說的,是用統計方法對數據進行建模的”概率性算法”。
1.1分類
算法工程師分為兩類。其中一類是偏研究型的算法工程師,例如復現paper,改善模型,發paper,出專利,這一類人才大都是科研大佬。第二類則是更加貼近業務的算法工程師,不如稱為「算法應用工程師」。這一類同學主要是與業務同學進行搭檔,通過現有的一些成熟模型來幫助業務同學解決問題。
2.主要工作
理想中的算法工程師:提出假設-》收集數據-》訓練模型-》解釋結果。
實際中的算法工程師:提出假設-》收集數據-》預處理-》預處理-》訓練模型-》調試-》調試-》重新收集數據-》預處理-》收集更多數據-》調試-》調試-》調試-》…-》放棄。
每天最重要的就是跑數據!這不是段子,而是事實。為什么“高大上”的算法工程師實際上是個數據民工,要尋找這種理想與現實的差距的原因,首先要理解一個事實:只有人能夠理解數據,機器不能。不管我們用什么機器學習算法——無論是LR,SVM,k-means,EM——對于它們來說,輸入數據都是一堆浮點數組成的矩陣而以(如果說的更本質一點,只是一堆01序列)。如果有一個特征是“小時”,而它出現了25,任何一個智商正常的人類都能明白,這是一個錯誤,然后在數據清洗的時候把這樣的數據排除。但是機器就無法理解這一點。要具備小時的概念,又要理解什么是時間,一天有多少個小時…機器怎么能自動化完成這樣的數據清洗工作?更進一步,如果人發現“小時”這個特征中大部分數據是0到12,而混入少量13(但13的數量又不是太少以至不能被當成離群點排除),人就會懷疑,是不是使用了12小時制而13是一個錯誤。機器目前是無法做到這一點的。
一位算法工程師對自己工作的反思,寫得挺實在的
3.進階之路
在機器學習領域,算法工程師腳下的進階之路是清晰的:當你掌握了工具、會改造模型,進而可以駕馭新問題的建模,就能成長為最優秀的人才。
20萬、50萬、100萬的算法工程師,到底有什么區別?
4.傳統模型VS深度學習模型
優秀的算法工程師都是不用深度學習的
講的是為什么有部分傳統的算法工程師不愿意使用深度學習算法,雖然題目有點嘩眾取寵,但是問題角度還是挺值得深思的。
-
工程師
+關注
關注
59文章
1569瀏覽量
68510
發布評論請先 登錄
相關推薦
評論