[轉人工智能工程師學習路線及具備的5項基本技能


原文地址:http://blog.csdn.net/BaiHuaXiu123/article/details/52478853

 

摘要

學習路線

這里寫圖片描述

你是否對機器學習充滿興趣呢?其實到目前為止,每天有越來越多的工程師開始將好奇的目光轉向機器學習領域。實際上,你會發現現在沒有哪一個領域比機器學習能引起更多的曝光率和關注度。機器學習已經以一種高調姿態闖入廣大民眾的意識當中,無論是采用機器學習等相關技術的Google AlphaGo以5局4勝的戰績打敗人類世界的圍棋冠軍,還是采用了機器學習技術的Twitter能夠鑒定是否你在酩酊大醉的時候發布了推文,無論你通過怎樣的方式發現並知道機器學習技術的存在,有一件事不言而喻:機器學習的時代已經到來。 
這里寫圖片描述

盡管機器學習技術看起來這般神器,但是對於機器學習技術的好奇心是一碼事兒,而想要讓該技術在相關產業當中發揮作用實際上又是另外一碼事兒。這篇文章將會幫助你了解作為一名機器學習工程師具備怎樣的思維方式以及需要什么樣的專業技能才可以開展工作。 
如果你正在考慮投身機器學習工程師的職業生涯,那么在一開始的時候,你必須弄清楚兩件非常重要的事情。首先,機器學習工程師的崗位並不是一個“純粹的”學術角色,你不需要具備科學研究經驗或者專業的學術教育背景。其次,如果你僅僅具備軟件工程師的能力或者僅僅具備數據科學的經驗還遠無法成為一名合格的機器學習工程師,除非你同時掌握以上兩方面的技術經驗。

數據分析 Vs. 機器學習工程師

如果想成為一名機器學習工程師,那么你必須弄清楚前者和數據分析師之間的區別,而且這非常重要。簡單來講,兩者之間最為關鍵的區別就是他們最終的目標大相徑庭。作為一位數據分析師,你的主要職責就是分析數據,並從這些抽象的數據當中提煉出具體的能讓大家明白的故事,並從中產生具有可行性的洞察。數據分析工作的重點就是向公眾傳播並展示圖表、模型已經可視化效果。數據的分析和展示由人類執行,並且其他人會根據你展示的數據做出商業決策。尤其是這一點必須引起你足夠的重視——你數據分析后產生的結果的“受眾”是人。但是從機器學習工程師的角度來看的話,他們最終輸出的結果是一種可以工作的軟件(而不是你一路以來創建的分析結果或者可視化圖形),並且你所輸出結果的“受眾”通常由其他軟件插件組成,只需很少在少量人力勞動的監護下這些軟件插件就可以自行運轉。軟件的智能性意味着可行性,但是在機器學習模型中,決策的制定由系統來決定,並且系統可以影響產品或者服務的行為方式。這就是軟件工程技術為什么對機器學習工程師而言如此重要。 
  

Understanding The Ecosystem——弄懂軟件的生態系統

在你開始着手學習具體技能之前,我還要再向大家闡明另外一個概念。成為一名機器學習工程師必須要求你自己能夠清楚地了解你所設計的整個軟件系統。 
  讓我們打個比方,如果你正在為一個連鎖店項目工作,並且公司需要根據客戶以往的購買歷史開始有針對性的發放優惠券,目的是想生成能夠讓消費者可以實際使用的優惠券。在數據分析模型當中,你可以收集消費者的采購數據,對這些數據分析之后可以觀察出消費者的采購行為趨勢,並據此提出響應的策略。機器學習的方法是編寫一個可以自動生成優惠券的系統。但是學習采取什么方式才能編寫出這樣一種系統呢?這種方式奏效嗎?你不得不去通盤了解項目開發所處的生態系統——包括商品庫存、商品類目、價格、采購訂單、銷售點終端軟件、CRM管理系統等等。 
  歸根結底,項目的處理流程和機器學習算法的理解關系不大,或者和應用他們的方式和時間也沒有太多關系,但是卻需要你能夠對系統的相互關聯性有很深入的了解,並需要你可以成功編寫一個具有高度集成和接口功能的軟件。請切記,機器學習輸出的結果實際上是一個可以有效運行的軟件! 
  現在,就讓我們開始了解成為一名機器學習工程師所需要注意的各種細節方面的事宜。我們會把這些信息分成兩個基本點進行闡述:技能簡介以及語言和庫。首先我們將從技能介紹開始,在日后的內容中我們將介紹機器學習的語言和庫。

技能簡介

1. Computer Science Fundamentals and Programming

計算機科學基礎和編程

對機器學習工程師而言,計算機科學基礎的重要性包括數據結構(數據堆棧、隊列、多位數組、樹形以及圖像等等)、算法(搜索、分類、優化、動態編程等)、科計算性與復雜性(P對NP、NP完全問題、大O符號以及近似算法等)和計算機架構(存儲、緩存、帶寬、死鎖和分布式處理等等)。 
  當你在編程的時候必須能夠對以上提到的這些基礎知識進行應用、執行、修改或者處理。課后練習、編碼競賽還有黑客馬拉松比賽都是你不可或缺的磨練技能的絕佳途徑。 
  

2. Probability and Statistics

概率論和數理統計

概率的形式表征(條件概率、貝葉斯法則、可能性、獨立性等)和從其中衍生出的技術(貝葉斯網、馬爾科夫決策過程、隱藏式馬可夫模型等)是機器學習算法的核心,這些理論可以用來處理現實世界中存在的不確定性問題。和這個領域密切相關的還有統計學,這個學科提供了很多種衡量指標(平均值、中間值、方差等)、分布(均勻分布、正態分布、二項式分布、泊松分布等)和分析方法(ANOVA、假設實驗等),這些理論對於觀測數據模型的建立和驗證非常必要。很多機器學習算法的統計建模程序都是可以擴展的。

3. Data Modeling and Evaluation

數據建模及評估

數據建模就是對一個給定的數據庫的基本結構進行評估的過程,目的就是發現其中所蘊含的有用模式(相互關系,聚合關系、特征矢量等)和/或者預測以前案例(分類,回歸、異常檢測等)的特征。評估過程的關鍵就是不斷地對所給模型的優良性能進行評價。根據手中的任務,你需要選取一種恰當的精准/誤差衡量指標(比如日志分類的損失、線性回歸的誤差平方和等等)和求值策略(培訓測試、連續Vs. 隨機交叉驗證等)。通過對算法的反復學習,我們可以發現其中會存在很多誤差,而我們可以根據這些誤差對模型(比如神經網絡的反相傳播算法)進行細微的調整,因此即使你想能夠運用最基本的標准算法,也需要你對這些測量指標有所了解。 
  

4. Applying Machine Learning Algorithms and Libraries

應用機器學習算法和庫

盡管通過程式庫/軟件包/API(比如scikit-learn,Theano, Spark MLlib, H2O, TensorFlow等)可以廣泛地實現機器學習算法的標准化執行,但是算法的應用還包括選取合適的模型(決策、樹形結構、最近鄰點、神經網絡、支持向量機器、多模型集成等)、適用於數據的學習程序(線性回歸、梯度下降法、基因遺傳算法、袋翻法、模型特定性方法等),同時還需要你能夠了解超參數對學習產生影響的方式。你也需要注意不同方式之間存在的優勢和劣勢,以及那些可能會讓你受牽絆的大量陷阱(偏差和方差、高擬合度與低擬合度、數據缺失、數據丟失等)。對於數據科學和機器學習所帶來的這些方面的挑戰,大家可以去Kaggle網站獲取很多學習參考,你可發現不同的問題當中存在的細微差別,從而可以讓你更好的掌握機器學習的算法。

5. Software Engineering and System Design

軟件工程和系統設計

在每天工作結束的時候,機器學習工程師通常產生的成果或者應交付的產品就是一種軟件。這種軟件其實也是一種小型插件,它可以適用於相對更大型的產品或者服務的生態系統。你需要很好地掌握如何才能讓這些彼此不同的小插件協同工作,並與彼此進行流暢的溝通(使用庫函數調用、數據接口、數據庫查詢等)的方法,為了讓其他的插件可以依附你的插件進行很好的工作,你也得需要為你的差價建立合適的接口。精心設計的系統可以避免以后可能出現的瓶頸問題,並讓你的算法系統滿足數據量激增時候的擴展性能。軟件工程的最佳的實踐經驗(需求分析、系統設計、模塊化、版本控制、測試以及歸檔等)對於產能、協作、質量和可維護性而言是不可獲取的無價之寶。

Machine Learning Job Roles——機器學習的工作角色

由於現在越來越多的公司開始嘗試采用新興技術為自己挖掘更多的利潤,於是和機器學習相關的崗位需求也在不斷的增加。下面這幅圖片為大家展示了和數據分析師相比,對於一名典型的機器學習工程師而言,相對重要的核心技能包含以下內容: 
這里寫圖片描述

The Future of Machine Learning——機器學技術的發展展望

機器學習工程師最讓人欲罷不能的特征或許就是這個崗位角色擁有看起來無所不能的廣泛適應性。包括教育行業、計算機科學還有更多領域在內的很多行業已經受到了機器學習的積極影響。實際上你會發現沒有哪個領域不會應用機器學習技術。對於某些行業案例而言,他們對機器學習技術有極其迫切的需求。健康醫療產業就是一個顯而易見的例子。機器學習技術已經在健康醫療長夜中的很多重要領域得到了廣泛的應用,無論是致力於減少護理差異,還是醫學掃描分析,機器學習技術正在潛移默化地為這些領域帶來改變。來自紐約大學的數學科學克朗學院和數據科學中心的助理教授David Sontag先生最近發表了關於機器學習技術和健康醫療系統的演講,在演講中他討論了機器學習是如何通過自己的潛力改變了整個醫療產業。 
  毫無疑問,這個世界正在發生着快速和戲劇性的轉變。對於機器學習工程師的需求正在呈現指數型的增長趨勢。世間充滿了復雜的挑戰,並因此需要更加復雜的系統才可以將這些挑戰迎刃而解。而機器學習工程師們就是可以建造這些系統的最佳人選。如果你的未來需要借助機器學習技術獲得更好的發展,那么此時此刻就是你邁出腳步掌握相關技能並開發你思維的最佳時機! 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM