03.01 機器學習需要哪些數學基礎?

wo人生如戲


最主要的是線性代數和概率論。

線性代數

現在最流行的機器學習模型,神經網絡基本是就是一大堆向量、矩陣、張量。從激活函數到損失函數,從反向傳播到梯度下降,都是對這些向量、矩陣、張量的操作和運算。

其他“傳統”機器學習算法也大量使用線性代數。比如線性迴歸

聽名字就知道和線性代數關係密切了。

而主成分分析,從線性代數的觀點看,就是對角化協方差矩陣。

概率

特別是當你讀論文或者想深入一點的時候,概率論的知識非常有幫助。

包括邊緣概率、鏈式法則、期望、貝葉斯推理、最大似然、最大後驗、自信息、香農熵、KL散度,等等。

其他

神經網絡很講究“可微”,因為可微的模型可以通過梯度下降的方法優化。梯度下降離不開求導。所以多變量微積分也需要。另外,因為機器學習是基於統計的方法,所以統計學的知識也缺不了。不過大部分理工科應該都學過這兩塊內容,所以這也許不屬於需要補充的內容。


論智


對於搞機器學習的同學來說,高等數學、線性代數和概率論與數理統計是最重要的三門的數學基礎了。下面我來分別說明這三方面在機器學習中的作用

一. 高等數學

高等數學裡面的微積分、牛頓迭代、拉格朗日乘數法、泰勒展開等等知識點在機器學習中都有應用到。例如在邏輯迴歸模型求梯度時候需要求偏導、優化目標使用的牛頓迭代方法、帶約束優化問題的SVM需要用到拉格朗日乘數法等等,還有其它高等數學的知識點在機器學習中或多或少都有體現。

二. 線性代數

推薦系統使用的SVD分解、張量分解、非負矩陣分解NMF,PCA主成分分析中求特徵值、矩陣運算。下面我貼一下之前我用矩陣求導解最小二乘問題的公式推導過程,可以體會一下線性代數的重要程度。

最小二乘的解,可以通過梯度下降迭代或牛頓迭代方法求解,但也可以基於矩陣求導來計算,它的計算方式更加簡潔高效,不需要大量迭代,只需解一個正規方程組。

總之,線性代數對於機器學習來說比高數還重要。

三. 概率論與數理統計

概率論與數理統計那就更重要了,比如樸素貝葉斯分類和概率圖模型用到的貝葉斯公式,高斯過程、最大熵模型,採樣方法,NLP領域的大部分算法都與概率論相關,像基於LDA的主題模型、基於CRF的序列標註模型、分詞系統等等。

所以要搞機器學習,高等數學、線性代數和概率論與數理統計都是必不可少的數學基礎。


薛定諤的小貓貓


我們不從具體層面上談論這個問題,讓我們從表面上來更好地回答這個問題。


需要的基礎數學知識有哪些?

回顧大學生涯中學習過的數學知識有:

  1. 高等數學

  2. 線性代數

  3. 概率與統計

這三者沒有一個是機器學習所不需要的。高等數學中我們會用到微積分、導數以及其他的一些數學分析方法;線性代數中矩陣計算、變換幾乎就是機器學習最為核心的計算;概率與統計學是機器學習用到的另一個強有力的工具。要給這三者排個序的話,我個人認為在機器學習中最重要的數學工具應該是線性代數,因為機器學習中數據的存儲方式大多是以向量、以矩陣的形式來存儲,計算、分析上也需要矩陣的性質。此外,概率與統計則是另一門重要的與機器學習息息相關的學科,因為機器學習做的大都是接收輸入,而預測一個輸出,有預測自然就有概率的存在。

數學知識就足夠了嗎?

很多時候,我們可能並不需要數學知識便可以構建一個機器學習的模型,但是這個模型極有可能是不完善的,可能其準確度是很低的。那是不是說這個時候,只要我們學過線性代數、高等數學、概率論就可以輕鬆完成參數的調整呢?顯然不是的,即便是我們掌握了數學工具,但是還是需要學會如何在機器學習領域使用這些工具,這才是學習機器學習的意義所在。

結論及學習方法

總而言之,在學習機器學習之前,需要首先學習高等數學、線性代數以及概率、統計學。在有了這些基礎之後,我們才能夠事半功倍地學習有關機器學習的知識。學習機器學習的途徑最好是結合書與視頻一起學習。視頻學習能夠加快你的學習進度,並且能夠少走彎路,對一些深奧概念能夠更好的理解;看書則可以彌補你看視頻時缺乏的個人思考,能夠進一步鞏固所學知識。

這就是我的一些看法,喜歡請關注我吧~


科技者聯盟


首先我們要知道,機器學習理論是一個涵蓋統計、概率、計算機科學和算法方面的領域,該理論的初衷是以迭代方式從數據中學習,找到可用於構建智能應用程序的隱藏洞察。儘管機器學習和深度學習有巨大的發展潛力,但要深入掌握算法的內部工作原理並獲得良好的結果,就必須透徹地瞭解許多技術的數學原理。搞清楚這些數學原理,可以幫助我們:選擇正確的算法、選擇參數設置和驗證策略、通過理解偏差-方差權衡,識別欠擬合和過擬合、估算正確的置信區間和不確定性。

從上面的圖可以看出,普遍認為線性代數、微積分、概率論、統計學是比較重要的四塊內容,首先可以告訴大家的是,統計學是核心,微積分告訴我們怎樣學習和優化模型,線性代數使得算法能在超大型數據集上運行,概率論幫我們預測某個事件發生的可能性。

機器學習包含了統計學,微積分,線性代數和概率論知識,關係如下:

微積分告訴我們怎樣優化

線性代數讓算法適用於大型數據集

概率論幫我們預測某個特定輸出的可能性

統計學則表明是不是我們的目標




DatawhaleCN


我們知道,機器學習涉及到很多的工具,其中最重要的當屬數學工具了,因此必要的數學基礎可謂是打開機器學習大門的必備鑰匙。機器學習涉及到的數學基礎內容包括三個方面,分別是線性代數、概率統計和最優化理論。下面小編就會好好給大家介紹一下機器學習中涉及到的數學基礎知道,讓大家在日常的機器學習中可以更好地運用數學工具。

首先我們給大家介紹一下線性代數,線性代數起到的一個最主要的作用就是把具體的事物轉化成抽象的數學模型。不管我們的世界當中有多麼紛繁複雜,我們都可以把它轉化成一個向量,或者一個矩陣的形式。這就是線性代數最主要的作用。所以,在線性代數解決表示這個問題的過程中,我們主要包括這樣兩個部分,一方面是線性空間理論,也就是我們說的向量、矩陣、變換這樣一些問題。第二個是矩陣分析。給定一個矩陣,我們可以對它做所謂的SVD分解,也就是做奇異值分解,或者是做其他的一些分析。這樣兩個部分共同構成了我們機器學習當中所需要的線性代數。

然後我們說一下概率統計,在評價過程中,我們需要使用到概率統計。概率統計包括了兩個方面,一方面是數理統計,另外一方面是概率論。一般來說數理統計比較好理解,我們機器學習當中應用的很多模型都是來源於數理統計。像最簡單的線性迴歸,還有邏輯迴歸,它實際上都是來源於統計學。在具體地給定了目標函數之後,我們在實際地去評價這個目標函數的時候,我們會用到一些概率論。當給定了一個分佈,我們要求解這個目標函數的期望值。在平均意義上,這個目標函數能達到什麼程度呢?這個時候就需要使用到概率論。所以說在評價這個過程中,我們會主要應用到概率統計的一些知識。

最後我們說一下最優化理論,其實關於優化,就不用說了,我們肯定用到的是最優化理論。在最優化理論當中,主要的研究方向是凸優化。凸優化當然它有些限制,但它的好處也很明顯,比如說能夠簡化這個問題的解。因為在優化當中我們都知道,我們要求的是一個最大值,或者是最小值,但實際當中我們可能會遇到一些局部的極大值,局部的極小值,還有鞍點這樣的點。凸優化可以避免這個問題。在凸優化當中,極大值就是最大值,極小值也就是最小值。但在實際當中,尤其是引入了神經網絡還有深度學習之後,凸優化的應用範圍越來越窄,很多情況下它不再適用,所以這裡面我們主要用到的是無約束優化。同時,在神經網絡當中應用最廣的一個算法,一個優化方法,就是反向傳播。


CDA數據分析師


隨著大數據的興起,機器學習越來越受人們的關注,機器學習的理論是眾多學科的交叉,在數學方面至少要熟悉掌握線性代數與概率論!

線性代數篇

我個人覺得學習線性代數最重要的不是學習矩陣的運算、解方程,因為這些東西軟件都能替代的。最關鍵在於如何深入的理解子空間、正交、特徵值、特徵向量以及線性變換。主要在於理解,學好線性代數就在於能否將這些知識聯繫起來,連貫起來。

概率論篇

又稱概率與統計,需要深入的學習貝葉斯統計以及Graphical models,從基本的貝葉斯模型出發深入到統計網絡的估計與推斷。要了解概率論的知識很輕鬆,但是想學好實在是太難了。

另外就是關於分析方面的知識,就是大學裡所學的微積分以及數學分析,因為這是很多學科領域的基礎,要學習機器學習這些知識都是必備的。

沒有任何學科是容易學的,因此要想學好機器學習就一定要先打好基礎才是。有什麼問題都可以在下方留言,我一定認真解答!

您的關注、點贊就是對我最大的鼓勵和支持!


讀研生活


微積分,線性代數,概率論在機器學習幾乎所有算法中不可或缺。如果你數學不是那麼紮實,大學學的數學知識都還給老師了(大部分同學都是如此),那麼重新溫習一下這些重要概念也不錯。考慮到理論的數量,我們並不建議大家從大部頭開始。儘管一開始可以用它查詢具體概念,但是初學者先關注簡單的話題比較好。我建議從提綱之類的視頻教材入手,其中所有核心概念均被涉及,次要概念可在需要的時候自行查詢。這種方法雖然不夠系統,但卻避免了這樣的缺陷:大量晦澀概念使得沒有紮實理論背景的人望而卻步。


你可以看看菜鳥窩機器學習vip就業課的具體大綱,python基礎、數據分析、數學都是從0基礎開始,老師都是BAT工業界多年實踐經驗的,能讓你在最短時間入門機器學習,並且擁有持續讀paper等的自學能力,不過培訓跟相親一樣要看眼緣,我這裡有他們公開課的全套資料包括PPT源碼,想要的可以私我哦。


不自然的劉海


好多粉絲私信我說想要入門機器學習、人工智能,今天我來給大家說下大致需要的知識。

1、概率與數理統計

機器學習是一門建立在統計基礎上的學科,你需要的知識有最大似然估計方法、貝葉斯統計、均方差、直方圖、各類分佈如高斯分佈、正態分佈等等。

2、線性代數

線性代數在機器學習中起到一個計算工具的作用,大量矩陣算法被用來訓練神經網絡和各種機器學習算法模型。線性代數需要掌握矩陣、特徵向量和特徵值、歸一化和正交化,矩陣乘法等等。

3、微積分

在學習機器學習的過程中難免會需要推導各類公式,那麼微積分是不可避免的,例如在線性迴歸算法中需要推導梯度下降算法,這就需要用到導數的知識。


編程鎮魔司


本人也是IT行業的從業者,正在研究和學習人工智能的課程,機器學習是人工智能的一部分,同時也可以做數據分析,所以用到數學知識是必然的!

下面這張圖詳細的介紹了人工智能一些領域所需要的基礎知識,希望對你的學習有所幫助!

歡迎關注,歡迎探討,如有諮詢,知無不言



安易之之


1)數學是我們學習其他理工、科技的最重要的基礎,科學本身就是用數學框架與模型來描述自然運作的規律。牛頓當年出版的《自然哲學的數學原理》,就是用數學來描述自然哲學(也就是自然運作的規律)其實包括物理在內的其他科學,都是以數學為基礎的。

2)我們從實驗中得到數據,構造假設(一般是數學模型或者方程),再驗證假設。尤其是今天的信息科學包括通信、計算機、人工智能等等,幾乎可以認為就是數學,通過編程來實現而已。機器學習如果是一門科學的話,它是關於算法的科學。 它與我們人類科學發現過程是類似的。首先通過我們的感官來得到證據(Evidence),之後構建很多假設(Hypothesis)試圖來解釋這些證據。能夠印證數據或證據的假設就是理論,如果不能解釋,就不斷的修正參數來調整假設,直到我們找到一個最合適的假設。 我們的科學發現過程如此,機器學習亦是如此。

3)所以最基礎知識就是數學,也看到有的回答說需要邏輯。這個也是對的,其實嚴格上來講邏輯與數學也不分家。 作為一個普通的人工智能工程師,不是所有的數學都需要。 主要是高等數學(微積分、優化)、線性代數、概率與統計這三門是非常重要而且必要的數學基礎。 很難相信不懂什麼是高斯分佈可以用貝葉斯方法做推理,不懂線性代數可以理解高維空間流形,不懂微積分可以理解反向傳播,和不懂優化能理解SVM.

4)關於基礎的數學書籍, 我個人比較喜歡的是

S. Ross 的書,包括《First Course in Probability》

https://www.amazon.com/First-Course-Probability-9th/dp/032179477X

《Introduction to Probability Models》

https://zhidao.baidu.com/share/b3054c8544cc41001c01047f338d06c6.html

5)關於專業書籍,可以看我以前的帖子。

https://www.wukong.com/question/6471062370604024078/


分享到:


相關文章: