技能簡介
1. Computer Science Fundamentals and Programming
計算機科學基礎和編程
1、數據結構(數據堆棧、隊列、多位數組、樹形以及圖像等等)、
2、算法(搜索、分類、優化、動態編程等)、
3、計算性與復雜性(P對NP、NP完全問題、大O符號以及近似算法等)、
4、計算機架構(存儲、緩存、帶寬、死鎖和分布式處理等等)。
當你在編程的時候必須能夠對以上提到的這些基礎知識進行應用、執行、修改或者處理。課后練習、編碼競賽還有黑客馬拉松比賽都是你不可或缺的磨練技能的絕佳途徑。
2. Probability and Statistics
概率論和數理統計
1、概率的形式表征(條件概率、貝葉斯法則、可能性、獨立性等)
2、從其中衍生出的技術(貝葉斯網、馬爾科夫決策過程、隱藏式馬可夫模型等)是機器學習算法的核心,這些理論可以用來處理現實世界中存在的不確定性問題。
3、統計學,這個學科提供了很多種衡量指標(平均值、中間值、方差等)、
4、分布(均勻分布、正態分布、二項式分布、泊松分布等)
5、分析方法(ANOVA、假設實驗等),
這些理論對于觀測數據模型的建立和驗證非常必要。很多機器學習算法的統計建模程序都是可以擴展的。
3. Data Modeling and Evaluation
數據建模及評估
數據建模就是對一個給定的數據庫的基本結構進行評估的過程,目的就是發現其中所蘊含的
1、有用模式(相互關系,聚合關系、特征矢量等)
2、預測以前案例(分類,回歸、異常檢測等)的特征。
3、評估過程的關鍵就是不斷地對所給模型的優良性能進行評價。
4、根據手中的任務,你需要選取一種恰當的精準/誤差衡量指標(比如日志分類的損失、線性回歸的誤差平方和等等)
5、求值策略(培訓測試、連續Vs. 隨機交叉驗證等)。
通過對算法的反復學習,我們可以發現其中會存在很多誤差,而我們可以根據這些誤差對模型(比如神經網絡的反相傳播算法)進行細微的調整,因此即使你想能夠運用最基本的標準算法,也需要你對這些測量指標有所了解。
4. Applying Machine Learning Algorithms and Libraries
應用機器學習算法和庫
盡管通過程式庫/軟件包/API
1、框架:(比如scikit-learn,Theano, Spark MLlib, H2O, TensorFlow等)
可以廣泛地實現機器學習算法的標準化執行,但是算法的應用還包括
2、選取合適的模型
(決策、樹形結構、最近鄰點、神經網絡、支持向量機器、多模型集成等)、
3、適用于數據的學習程序
(線性回歸、梯度下降法、基因遺傳算法、袋翻法、模型特定性方法等),
4、同時還需要能夠了解超參數對學習產生影響的方式。
5、需要注意不同方式之間存在的優勢和劣勢,
6、以及那些可能會讓你受牽絆的大量陷阱
(偏差和方差、高擬合度與低擬合度、數據缺失、數據丟失等)。
對于數據科學和機器學習所帶來的這些方面的挑戰,大家可以去Kaggle網站獲取很多學習參考,你可發現不同的問題當中存在的細微差別,從而可以讓你更好的掌握機器學習的算法。
5. Software Engineering and System Design
軟件工程和系統設計
在每天工作結束的時候,機器學習工程師通常產生的成果或者應交付的產品就是一種軟件。
1、這種軟件其實也是一種小型插件,它可以適用于相對更大型的產品或者服務的生態系統。
2、你需要很好地掌握如何才能讓這些彼此不同的小插件協同工作,并與彼此進行流暢的溝通(使用庫函數調用、數據接口、數據庫查詢等)的方法,
3、為了讓其他的插件可以依附你的插件進行很好的工作,你也得需要為你的差價建立合適的接口。
4、精心設計的系統可以避免以后可能出現的瓶頸問題,并讓你的算法系統滿足數據量激增時候的擴展性能。
軟件工程的最佳的實踐經驗
(需求分析、系統設計、模塊化、版本控制、測試以及歸檔等)
5、對于產能、協作、質量和可維護性而言是不可獲取的無價之寶。
-
工程師
+關注
關注
59文章
1571瀏覽量
68560 -
人工智能
+關注
關注
1792文章
47425瀏覽量
238959
發布評論請先 登錄
相關推薦
評論