怎樣學算法?

很多有志於深耕人工智能學術研究同學都在關注一個問題,怎樣才能迅速成長為合格的算法工程師?面對社會上高端技術人才的大量需求與優質程序員供給的嚴重不足,加之高薪水的誘惑,越來越多的人打算向人工智能轉型。然而,網絡上各種魚龍混雜的培訓班以及誤人子弟文章把很多初學者帶入歧途,單純的浮躁心理只會讓你最白費功夫,最終進不了人工只能的殿堂。

怎樣學算法?

數學知識編程能力機器學習與深度學習的知識應用方向的知識

除去教育背景,邏輯思維,學習能力,溝通能力等其他方面的因素,大多數公司在考察算法工程師的技術水平時都會考慮上面這幾個因素。接下來我們將按照這幾個方面進行展開,詳細的說明如何學習這些方面的知識以及積累經驗。

數學因素

怎樣學算法?

與其它工作方向如app、服務器開發相比,以及與計算機科學的其他方向如網絡,數據庫,分佈式計算等相比,人工智能尤其是機器學習屬於數學知識密集的方向。在各種書籍,論文,算法中都充斥著大量的數學公式,這讓很多打算入門的人或者開始學習的人感到明顯的壓力。

怎樣學算法?

編程能力

當你還是一個新手的時候,你需要瘋狂的積累你的代碼量,你可以從基本的問題出發,做一些簡單的問題,怎麼輸入數據,怎麼輸出數據,然後熟悉各種數據結構,各種常見算法,瘋狂的刷題,比如 lintcode就是一個很不錯的刷題網站,不會怎麼辦!看答案,瞭解怎麼寫,然後自己實現一遍。你可以先從easy難度的問題做起,每一個程序也就20-40行左右,甚至你可以一旦AC,反覆提交,以增強自信心,雖然這只是一個玩笑,但是它可以讓你提高你對編程的自信,對編程的喜愛,當你有自信的時候,你才能真正的把一件事情做好。當你反覆解決一個又一個的問題的時候,你要告訴自己我是個天生的編程者!然後你就可以挑戰更高難度的問題,當你積累到10W以上的代碼量的時候,你會發現你會有一個質變。一切將變的順手。當以前要想半天的語句,現在信手拈來。恭喜你跨出了很重要的一步。

怎樣學算法?

數據結構與算法

  1. 實踐化學習。動手實現。leetcode走起。學習筆記。
  2. 社交化學習。評論,互動,多問為什麼。找不足的地方,挑刺學習。講的不對,不合理。
  3. 遊戲化學習。反饋,獎勵。
  4. 時間化學習。學習需要時間,需要向時間一樣慢慢流逝。

下圖是數據結構與算法的思維導圖,供大家參考。

怎樣學算法?

相信,有了這些堅實的基礎做支撐,你一定會在算法工程師的路上越走越遠。


分享到:


相關文章: