如何入門學演算法?
07-12
如何入門學演算法?
來自專欄陳老師趣學演算法
隨著科學技術的發展,人工智慧已滲透到各個行業,演算法工程師非常火爆,急缺大量人才,年薪也越來越高。很多人想入手學習演算法,那麼多演算法,究竟該如何下手呢?
很多人看到招聘要求,知道演算法工程師一般要求,通常要求會機器學習、數據挖掘等等演算法,因為演算法工程師會很多具體分支:
音/視頻演算法工程師(通常統稱為語音/視頻/圖形開發工程師)
圖像處理演算法工程師
計算機視覺演算法工程師通信基帶演算法工程師信號演算法工程師射頻/通信演算法工程師
自然語言演算法工程師數據挖掘演算法工程師搜索演算法工程師控制演算法工程師(雲台演算法工程師,飛控演算法工程師,機器人控制演算法)導航演算法工程師
例如有的招聘要求:
1 熟悉機器學習演算法
2 大數據處理:熟悉至少一個分散式計算框架Hadoop/Spark/Storm/ map-reduce/MPI3 熟悉數據挖掘演算法4 紮實的數學功底5 至少熟悉C/C++或者Java,熟悉至少一門編程語言例如java/python/R
加分項:具有較為豐富的項目實踐經驗
那麼是不是要直接學習這些演算法呢?
其實不然,萬丈高樓平地起,任何高深的演算法都要從基礎演算法學起,不可能一口吃個胖子,所以入門演算法還是要從基礎開始:
- 首先學習一門語言,例如C/C++或者Java,初學者學C++比較普遍。
- 學一本數據結構,數據結構書有很多,具體看什麼書最好,因人而異,儘管很多人覺得嚴的書難以理解,但是無法否認,嚴的書是權威,所以仍然推薦嚴的數據結構,只不過要結合博客圖解看,那就簡單易懂了。
注意人郵版的更好一點。數據結構圖解博客:http://blog.csdn.net/rainchxy。
- 然後看演算法入門書《趣學演算法》,這本書圖解多,有大量圖解,問題分析,實戰演練,適合入門者快速掌握經典演算法。然後再看《演算法導論》就簡單多了。
- 然後選擇自己感興趣的分支,以機器學習為例,首先看看李航的《統計學習方法》,了解一下統計學習方法,因為目前的機器學習是基於統計的,建議學一下python/R,然後看看《機器學習實戰》,這本書簡單易懂,適合入門。
- 接著學習什麼,就根據自己工作崗位需要了。
推薦閱讀:
※Statistical algorithm - 讓人著迷的EM演算法
※蒙特卡羅樹搜索之初學者指南
※數學速演算法
※偽·從零開始學演算法 - 1.1 演算法的簡述
※015 3Sum[M]
TAG:演算法 |