標籤:

如何入門學演算法?

如何入門學演算法?

來自專欄陳老師趣學演算法

隨著科學技術的發展,人工智慧已滲透到各個行業,演算法工程師非常火爆,急缺大量人才,年薪也越來越高。很多人想入手學習演算法,那麼多演算法,究竟該如何下手呢?

很多人看到招聘要求,知道演算法工程師一般要求,通常要求會機器學習、數據挖掘等等演算法,因為演算法工程師會很多具體分支:

音/視頻演算法工程師(通常統稱為語音/視頻/圖形開發工程師)

圖像處理演算法工程師

計算機視覺演算法工程師

通信基帶演算法工程師

信號演算法工程師

射頻/通信演算法工程師

自然語言演算法工程師

數據挖掘演算法工程師

搜索演算法工程師

控制演算法工程師(雲台演算法工程師,飛控演算法工程師,機器人控制演算法)

導航演算法工程師

例如有的招聘要求:

1 熟悉機器學習演算法

2 大數據處理:熟悉至少一個分散式計算框架Hadoop/Spark/Storm/ map-reduce/MPI

3 熟悉數據挖掘演算法

4 紮實的數學功底

5 至少熟悉C/C++或者Java,熟悉至少一門編程語言例如java/python/R

加分項:具有較為豐富的項目實踐經驗

那麼是不是要直接學習這些演算法呢?

其實不然,萬丈高樓平地起,任何高深的演算法都要從基礎演算法學起,不可能一口吃個胖子,所以入門演算法還是要從基礎開始:

  1. 首先學習一門語言,例如C/C++或者Java,初學者學C++比較普遍。
  2. 學一本數據結構,數據結構書有很多,具體看什麼書最好,因人而異,儘管很多人覺得嚴的書難以理解,但是無法否認,嚴的書是權威,所以仍然推薦嚴的數據結構,只不過要結合博客圖解看,那就簡單易懂了。

注意人郵版的更好一點。數據結構圖解博客:blog.csdn.net/rainchxy

  1. 然後看演算法入門書《趣學演算法》,這本書圖解多,有大量圖解,問題分析,實戰演練,適合入門者快速掌握經典演算法。然後再看《演算法導論》就簡單多了。
  2. 然後選擇自己感興趣的分支,以機器學習為例,首先看看李航的《統計學習方法》,了解一下統計學習方法,因為目前的機器學習是基於統計的,建議學一下python/R,然後看看《機器學習實戰》,這本書簡單易懂,適合入門。
  3. 接著學習什麼,就根據自己工作崗位需要了。

推薦閱讀:

Statistical algorithm - 讓人著迷的EM演算法
蒙特卡羅樹搜索之初學者指南
數學速演算法
偽·從零開始學演算法 - 1.1 演算法的簡述
015 3Sum[M]

TAG:演算法 |