機器學習的演算法和普通《演算法導論》裡的演算法有什麼本質上的異同?

時間 2021-05-05 23:16:49

1樓:kosora曹

《演算法導論》主要面向離散優化和組合優化;

《機器學習》、《深度學習》主要面向連續優化;

如何把離散優化與連續優化結合起來?《強化學習》應運而生

2樓:烈日烤魚

本質都是演算法,沒有區別.

演算法導論的演算法教你,給你3 5 4 2 1,如何用最少的步驟把他們排序.

機器學習的演算法,給你1 2 3 X 5, 你猜猜X最有可能是幾.

楞要說區別,演算法導論裡的演算法一般都是確定性演算法,對乙個演算法,不但知其然而且知其所以然.只有少量篇幅會聊聊沒有確定解,只有近似解的演算法.

而機器學習的演算法,大部分都是近似解,而且只知其然而不知其所以然.

3樓:冒泡

機器學習不是很熟,大概說一下個人從形式上的理解你可以把演算法抽象成乙個函式式:y=f(x)其中x是輸入,y是輸出,f是演算法執行過程

算導裡面是告訴你很多已經有的經典的f,並對其進行分析和比較,然後你可以在這個基礎上去寫更好的f,過程基本上是演繹的

機器學習則更多地是讓機器幫你找乙個比較好的f(比如根據大量x->y的樣本資料來「訓練」),這個過程你可以參與進去,也可以把大部分工作交給機器去完成,過程很可能是非演繹的,弄出來的f你可能根本看不懂,但有實用價值

當然,生成f這個演算法的演算法還是人寫的,如果你問的是這個,可以看看AI的書,算導裡面有講但是不是很多

4樓:

分界點在BP演算法,往前一步就是機器學習,往後一步就是經典演算法。

機器學習好比瞎子摸象,根據幾個瞎子摸出來的結果依然可以斷定這是大象。

5樓:jonathan lisp

有區別。

機器學習,規則是從資料中學習。要做的是如何規範這些規則以符合實際的資料

一般演算法,演算法工程師制定一些規則,用計算機的方式去實現。

The Straight Dope 0.1 documentation

6樓:find goo

機器學習,人工智慧演算法,是下19*19圍棋。

演算法導論,資料結構,是下5*5的圍棋。

圍棋的解的個數3**361=。 這個數比已知宇宙的原子數量還要大,由於計算量太大,目前的計算機根本無法窮舉完所有的解找到最優解在那裡,只能找到高概率勝率的解。

如果簡化圍棋至5*5=25,3**25=847288609443。完全可以用窮舉法計算出最優解,但需要注意計算這個最優解時,計算機的效能消耗最小化。

7樓:hijack

演算法大題上分成兩類: 數值的和非數值的。

機器學習,訊號處理,科學計算,基本上屬於數值的,

計算機裡的那些演算法基本上是非數值的。

8樓:

本質上都是搜尋問題吧,演算法導論是用 BFS 和 DFS 去找解,機器學習是用 Gradient Descent 和 Monte Carlo Method 去找近似解。像 Dynamic Programming 這種 Trick 在演算法導論(Viterbi Algorithm)和機器學習(Back Propagation)裡都會用到。

演算法導論裡也包含了不少老派(古典)人工智慧(traditional symbolic AI)的方法。

9樓:舉杯邀明月

簡單來說,演算法導論是求乙個或者多個解使用的方法,而機器學習是基於概率論最優化理論去用統計學方法學習事物之間的某種表示方法。

10樓:

大白話理解:

機器學習的「演算法」包含了模型(model)、方法(method)和演算法(algorithm)。

Model是乙個問題的數學化描述,比如小紅和小明相向而行,小紅速度a,小明速度b,倆人距離c,求相遇時間t。

Method是求解Model的方法,例如上述模型用這個方程求解:c=(a+b)*t

Algorithm是如何讓計算機解決這個方程的方法。

11樓:鄭文

機器學習演算法更強調學習,「學習」所給問題資料集的內在「規律」,是乙個不斷迭代逼近最優解的過程,其結果,往往允許存在誤差。鑑於機器學習問題的屬性,其結果也必然存在誤差。

演算法導論的演算法更強調精確和效率。針對某一具體問題設計出可以精確解決問題同時效率較高的演算法。其結果是精確解決,不允許存在誤差。

演算法導論演算法效率的提高,也直接使得某些機器學習演算法效率的提高。

12樓:

機器學習,更側重對資料概率分布給假設,然後再利用假設的特性,設計演算法解決特定問題,基本都是NP hard。

而一般演算法不做資料的假設。

(或許會有特例,但粗粗一想好像是這樣的。

13樓:業餘打字員

名詞的誤用。

演算法導論的"演算法"是演算法。

機器學習的"演算法"是數學模型,而如何計算某個模型是演算法。比如計算某個優化問題,需要用牛頓迭代,計算過程可能需要用到求最大最小值,可能需要排序查詢等等,這些就用到了演算法導論的演算法。

14樓:zen98

機器學習中的演算法可以理解為數學模型的求解方法,演算法導論裡面的則可以理解為如何寫程式能夠讓機器用更少的資源在更少的時間裡跑出結果

15樓:池底魚

上班前答一發~

演算法導論裡是從計算機資料結構的角度出發,本著最小開耗的目標,尋求問題的確定解。

而機器學習的演算法可以分為兩層,底層是學習演算法,也就是如何求解優化問題,像adam等。上層則是如何把問題抽象成優化問題,即建立模型的過程,比如ddpg中構建actor和critic的優化目標。

16樓:宗智敏

演算法導論:你明確知道你想去哪,我的任務是告訴你哪條路最快(time)或者最省錢(space)或者價效比最高(time/space trade-off)

機器學習:你想要看更美的風景但是你不知道在哪找,我的任務是通過從你和別人那裡收集來的資料,幫你找到更多更美風景的所在地(注意,這不代表給你找到的就是最好的)

17樓:單坡樹

學習了李航老師《統計學習》第一章,嘗試回答一下這個問題。

乙個具體的機器學習方法,比如Linear Regression, Logistic Regression 或者 Neutral Network等,包含三個要素,同時也是先後進行的三個步驟:1.模型(Model),對問題的數學抽象描述,這一步目的是確定乙個解空間;2.

策略(Strategy),設計Cost Function等策略來尋找解空間中的最優解;3.演算法(Algorithm),求解最優解的數學方法,比如凸優化。

演算法導論裡的「演算法」指的是解決乙個實際問題的步驟,其實和機器學習方法中的演算法是接近的,但後者數學味道更濃。

總之,演算法導論的「演算法」和機器學習方法很不一樣。

18樓:曉焓

演算法導論更偏向於工程,裡面的東西在很多方面都能用到,機器學習現在主要用於網際網路和模式識別吧,可以理解為,演算法導論是磚頭,機器學習是用磚頭蓋房子

19樓:jl wang

可以認為沒有關係,剛買了本統計機器學習來看,上面說機器學習的全稱叫統計機器學習,也可以簡稱統計學習,叫機器學習完全是商業原因,和計算機領域的演算法根本就是兩個學科。

20樓:蔣甬杭

機器學習是數學,其實演算法導論也是數學……比如離散數學之類。

演算法導論裡的演算法用於那些定義良好,有明確精確答案的問題。機器學習的演算法用於那些問題很模糊,答案也模糊的問題。

在運用於實際資料時,演算法導論裡的程式就是那些演算法本身,機器學習的程式則是演算法+訓練資料的總結。也就是說機器學習的演算法本身是無法直接用於計算實際資料的,它必須先輸入訓練資料,才能用於實際資料求解。訓練資料的好壞直接影響計算實際資料時的準確度。

21樓:劉俊是

個人體會

演算法導論裡面的對付的是結構化的資料,是離散的。這類資料都是人造的,比如字串。

機器學習面對的是連續的資料或者假設空間,至少是拓撲連續的。

所以導致2者的演算法差別很大。

22樓:

說的基本上不錯。

機器學習演算法的關注點是求得正確的解,因而要求嚴格的數學推導,而演算法導論導論的關注點是節省空間和時間,要求資料結構的合理高效。

如何區分ACM類演算法和機器學習類演算法?

thisisacompiler.機器學習演算法經過訓練之後會把這個句子分解成this is a compiler.this is a compiler.通過LL或者LR文法的parser把這個句子parse成subject verb object這樣的結構。On Chomsky and the Tw...

演算法導論中,Strassen s的演算法的問題。

AutherM 簡單地解釋應該是用order of growth為 的計算來取代一部分 growth為 使得recurrence 從 變為了 從而使得recurrence 的解由 變為 我看上述答案都沒答在點子上。嘗試答一答,如有錯陋請指出。strassen演算法的關鍵不在於是乘法還是加法,而是在於...

演算法導論的學習路線是怎樣的?

演算法導論確實很牛了,不過不需要從其它的書開始,遇到有問題的,查相關方面的資料學習就好了,還可以深入學習。我反正不知道有什麼書比它涵蓋的內容還多。 網易公開課上有MIT的演算法導論課,結合 演算法導論 學就行了,再有不會的就Google一下。 豬鼻蛇 從能看懂乙個程式語言到給乙個演算法能實現,然後C...