回覆列表
  • 1 # 宇宙意識體

    沒有必要全部自己做一遍,也不可能。現在的人工智慧演算法越來越多,一個人是不可能去窮盡這些的。

    應該分門別類地把演算法歸類,每個門類選擇代表性演算法進行復原和學習,這樣是一種全面掌握演算法的方法。

    另外還有一個辦法,就是保持最新演算法的資訊跟蹤,盯住前瞻性、前沿性動態資訊,這樣能夠高屋建瓴地學習新演算法,也是提高自己演算法能力的基本途徑。

    最後,要對人工智慧的演算法原理系統掌握,各類演算法的方法要精通,這樣就能夠研究性地學習演算法,分析演算法,只有從原理上通達了演算法技術,才能夠更好地學習和掌握現有的機器學習方法。

  • 2 # 枝枝葉葉

    自己實現沒必要,太耗費時間了,但是搞懂演算法的 原理,步驟,和關鍵細節,然後修改,實現自己的創意,獲取更高的準確率

  • 3 # 程式設計圈

    如果你是個搬磚的,那不需要;

    如果你是個前端開發工程師,那不需要;

    如果你是後端開發工程師,那也不需要;

    如果你做人工智慧或ai的應用整合工作,那實現一遍最好,不實現一遍多少會影響工作效率;

    如果你搞資料標註一類工作的,那也不需要;

    如果你做ai演算法的,那必要性比較大;

    如果你做ai方向科研的,這應該是基本功吧。

  • 4 # AI知庫

    這個非常有必要,而且是學習機器學習的最佳途徑之一。通過復現程式碼,既可以熟悉和掌握原演算法的設計思想、實現方法,也能學習其工程和技術實現。

  • 5 # 噔噔Toast

    把機器學習的演算法都去親自實現一遍是學習的最佳實踐。

    親自實現演算法會對機器學習中的各類演算法和公式推理知其然知其所以然。

    會對你後面要研究的問題,諸如在構建問題,整理資料,選擇演算法,驗證評估結果方面做到心中有數。

  • 6 # 會飛的魚go

    實現很有必要,甚至一定要。都實現一遍倒是不必。

    1. 在掌握基本的演算法流程、加深對演算法的理解之外,實現機器學習演算法能夠幫助我們建立起一種直覺:資料--模型之間的關係。這一點可能有點玄學的味道...稍微往黑了點說,就是調參的直覺、模型選擇的直覺、特徵選擇/設計的直覺等...經驗有的時候是事半功倍的效果。

    2. 在實際應用場景中,其實經常會遇到需要實現一些特殊設計的演算法。比如要實現某篇paper中的演算法/或者自己跑實驗,一般情況下這些演算法並不是(甚至肯定不是)通用演算法包提供的演算法,一定要自己實現。這樣的時候,如果以前有實現過基礎的演算法的經驗,會有很大幫助。

    3. 實現基本的演算法,幫助掌握演算法流程。這樣會更容易應對新的程式設計框架。

    4. 其實很多模型也有很多種解法。拿LR來說,常見的一階的Gradient Descent、二階的BFGS/L-BFGS之外(這些是好多庫的預設方法),一階的Back-tracking Line Search方法、Nesterov"s Line Search等方法,實現起來(特別是分散式實現)比較複雜,讓沒有自己實現過任何機器學習演算法的人來寫。。。還是算了吧。。。

    5. 演算法的細節:優化、高效計算等(矩陣乘法的加速等)在實際工作中是蠻重要的。因為機器學習在大規模資料下最大的挑戰就是如何『算』得更快:收斂速度/計算時間、計算資源/機器開銷等。所以得要知道在哪裡有優化的空間才行。

    6. 但是全部實現一遍確實沒必要,不過常用的演算法的基本版還是要儘量都寫一寫的。

  • 7 # LoveLittleWhite

    關鍵的演算法可以簡單實現練習練習,真正的深入應用都是在理解基礎演算法基礎上查文獻去攻某一個state of art

  • 中秋節和大豐收的關聯?
  • 有人用過哪些好用的軟文釋出平臺?