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