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