1. 程式人生 > >【機器學習】如何成為當下合格的演算法工程師

【機器學習】如何成為當下合格的演算法工程師

學習方面的問題
Q1:計算機專業本科生,非ACMER。演算法達到什麼程度才算是合格,有什麼量化手段嗎?
Answer:傳統演算法和資料結構功底紮實。比如LintCode上的題目簡單和中等難度毫無壓力做出,Hard難度在給了一定時間和一定提示時可以獨立完成。
微積分,統計學,離散數學

Q2:成為資料探勘工程師有必要要搞程式設計競賽嗎?現在大二,之前沒有接觸過競賽
Answer:資料探勘的話是Kaggle,KDD的競賽

Q3:資料探勘一定要學spark嗎
Answer:Python是剛需,Spark可以到用的時候再學

Q4:怎麼練習普通演算法呢,看算導刷oj嗎?
Answer:分為兩步:第一步是模組化訓練,比如專門做圖論和動態規劃的題。第二步是在LintCode上隨便選擇一個題,不看標籤,獨立做出。

Q5:有一定高等數學基礎和機器學習演算法概念的小白,如何進行實戰訓練。
Answer:分為兩步:第一階段是參加Kaggle,KDD競賽。第二階段是學習爬蟲,自己爬取電商,微博等資料,做訓練

Q6:作為一個數據挖掘工程師,還有沒有必要深入研究傳統的演算法,還是重點關注機器學習等統計的演算法?
Answer:重點關注機器學習等統計的演算法,這兩種有很大的不同

Q7:請問演算法工程師和資料探勘 data scientist 等崗位在技能要求和工作內容方面有什麼區別嗎?
Answer:中小廠不區分。大廠可能會區分。演算法工程師更底層一些,關注演算法模型的開發和調優,資料探勘更側重模型的建模和使用,應用和業務方面。

Q8:傳統的資料結構和演算法是否對於機器學習是有必要的?如果有,主要體現在什麼地方?
Answer:首先傳統的資料結構和演算法可以鍛鍊計算機思維,其實具體的資料結構和演算法還是會用到的,比如搜尋query時詞之間關係,可以用字串的距離,動態規劃,字典樹等

技術問題
Q1: 假設資料集有商店id這個屬性,取值上千個,把它做OHE後去學習,雖然結果提升了,但維度增加了很多。但不做OHE,用分類樹去學習,結果並不好,可以有什麼方法緩解資料集的擴大與最後結果的技巧嗎
Answer:這是特徵工程中非常典型的問題,OHE後有可能會過擬合, 商店間有相似性,量化後對商店進行聚類,再用這些類去做分類的訓練