-
1 # 論智
-
2 # 讀研生活
隨著大資料的興起,機器學習越來越受人們的關注,機器學習的理論是眾多學科的交叉,在數學方面至少要熟悉掌握線性代數與機率論!
線性代數篇
我個人覺得學習線性代數最重要的不是學習矩陣的運算、解方程,因為這些東西軟體都能替代的。最關鍵在於如何深入的理解子空間、正交、特徵值、特徵向量以及線性變換。主要在於理解,學好線性代數就在於能否將這些知識聯絡起來,連貫起來。
機率論篇
又稱機率與統計,需要深入的學習貝葉斯統計以及Graphical models,從基本的貝葉斯模型出發深入到統計網路的估計與推斷。要了解機率論的知識很輕鬆,但是想學好實在是太難了。
另外就是關於分析方面的知識,就是大學裡所學的微積分以及數學分析,因為這是很多學科領域的基礎,要學習機器學習這些知識都是必備的。
-
3 # 皓天178297455
學好數學是基礎(高等數學、線性代數、機率論與數理統計)
上圖為古埃及測量土地時,應用了三角學技術。這些數學的基礎,是我們以後機器學習的數學模型基礎。(數學來自於人類生產實踐中,數學的基礎是產生物理學、化學、人工智慧、大資料等學科抽象的核心基礎),數學是對現實世界的人類抽象認知。
(托勒密宇宙模型)用此數學模型很精確預測年曆、月曆、日曆。
機器學習(Machine Learning)是一種偏於技術的方法。包括三個方面:
一、監督學習(Supervised Learning)
掃描各種演算法資料集,並給定正確的答案。使機器得到一個最優模型,再利用這個模型將所有新的資料樣本對映為相應的輸出結果,對輸出結果進行簡單的判斷而實現分類的目的,那麼這個最優模型也就具有了對未知資料進行分類的能力。
二、無監督學習(Unsupervised Learning)
給定的資料樣本,沒有正確答案,需機器找出可能具有的結構,對資料進行建模。
三、強化學習(Reforcement Learning)
延遲滿足,根據結果調整行為。
機器學習演算法是個黑盒,可以重用,來解決很多不同的分類問題。
“機器學習”是一個涵蓋性術語,覆蓋了大量類似的泛型演算法。
-
4 # 抹茶因
現在很多想從事於機器學習的朋友都存在很多困惑,主要是很多相關的書看不懂,尤其是數學部分,機器學習的基礎是數學。數學並非是一個可選可不選的理論方法,而是不可或缺的支柱。對於機器學習演算法工程師而言,微積分、線性代數、機率論毫無疑問是需要掌握的。
為什麼要強調數學?
毫無疑問機器學習中數學是重要的,例如你需要:
1.選擇合適的演算法,包括考慮精度、訓練時間、模型的複雜性、引數和數量特徵;
2.選擇引數設定和驗證策略;
3.通過了解偏差方差權衡來識別擬合不足與過度擬合;
4.估計正確的置信區間和不確定性。
你必需具備的數學知識機率論
離散型和連續型隨機變數主要分佈(伯努利分佈、二項式分佈、正態分佈、 指數分佈、 泊松分佈、Beta 和 Gamma 分佈)矩估計和最大似然估計貝葉斯統計相關性係數和協方差(Correlation and Covariance)機率是機器學習演算法中頻繁用到的。不過基礎的機率知識在統計學中已經包括了,而比較深入的機率知識其實在機器學習演算法設計的時候並不經常用到。
線性代數
向量和矩陣矩陣的行列式特徵向量和特徵值矩陣分解(如 SVD)線性代數在深度學習領域有著舉足輕重的作用,它是深度學習各種演算法的基本數學工具。尤其是矩陣的各種變換,因為大量機器學習演算法都是在和矩陣打交道。
微積分
極限與導數微分和積分數值計算與最最佳化方法比如,現在無比熱門的神經網路,最佳化方法幾乎全是基於梯度下降,而梯度下降,其實就是鏈式求導。不過,理工科應該都學過這方面的課程。
最好要掌握:
離散數學:畢竟離散數學是描述計算機問題的基礎。許多演算法的思想也是基於離散數學的。離散數學研究的一些問題對於描述計算機問題也有很大啟發。
隨機過程,實分析:機器學習往深裡做肯定需要用這種,高階的數學語言去對問題進行描述。
泛函:泛函分析是一門非常抽象的課程。泛函的很多內容都是從數學分析,線性代數,實分析等抽象出來的,同時也是它們的推廣,泛函研究更廣泛更一般的空間,研究共性的問題。而數學分析,高等代數研究的是個性的問題,都很具體。
各種演算法和理論用到的數學知識
下面我們一張圖來看典型演算法和理論結論所用到的數學知識:
推薦書目
《An Introduction Statistical to Learning 》《 The Elements of Statistical Learning 》它們講述的都是統計學習,或者機器學習的方法。其中前一本可以看成是後一本的簡化版。它更通俗、更簡單一些,後面這個稍微有些難。這兩本書可以反覆閱讀,每次都有不同的收穫。
-
5 # 薛定諤的小貓貓
對於搞機器學習的同學來說,高等數學、線性代數和機率論與數理統計是最重要的三門的數學基礎了。下面我來分別說明這三方面在機器學習中的作用
一. 高等數學高等數學裡面的微積分、牛頓迭代、拉格朗日乘數法、泰勒展開等等知識點在機器學習中都有應用到。例如在邏輯迴歸模型求梯度時候需要求偏導、最佳化目標使用的牛頓迭代方法、帶約束最佳化問題的SVM需要用到拉格朗日乘數法等等,還有其它高等數學的知識點在機器學習中或多或少都有體現。
二. 線性代數推薦系統使用的SVD分解、張量分解、非負矩陣分解NMF,PCA主成分分析中求特徵值、矩陣運算。下面我貼一下之前我用矩陣求導解最小二乘問題的公式推導過程,可以體會一下線性代數的重要程度。
最小二乘的解,可以透過梯度下降迭代或牛頓迭代方法求解,但也可以基於矩陣求導來計算,它的計算方式更加簡潔高效,不需要大量迭代,只需解一個正規方程組。
總之,線性代數對於機器學習來說比高數還重要。
三. 機率論與數理統計機率論與數理統計那就更重要了,比如樸素貝葉斯分類和機率圖模型用到的貝葉斯公式,高斯過程、最大熵模型,取樣方法,NLP領域的大部分演算法都與機率論相關,像基於LDA的主題模型、基於CRF的序列標註模型、分詞系統等等。
所以要搞機器學習,高等數學、線性代數和機率論與數理統計都是必不可少的數學基礎。
-
6 # 皇室大西瓜1、機率與數理統計
機器學習是一門建立在統計基礎上的學科,你需要的知識有最大似然估計方法、貝葉斯統計、均方差、直方圖、各類分佈如高斯分佈、正態分佈等等。
2、線性代數線性代數在機器學習中起到一個計算工具的作用,大量矩陣演算法被用來訓練神經網路和各種機器學習演算法模型。線性代數需要掌握矩陣、特徵向量和特徵值、歸一化和正交化,矩陣乘法等等。
3、微積分在學習機器學習的過程中難免會需要推導各類公式,那麼微積分是不可避免的,例如線上性迴歸演算法中需要推導梯度下降演算法,這就需要用到導數的知識。
-
7 # CDA資料分析師
我們知道,機器學習涉及到很多的工具,其中最重要的當屬數學工具了,因此必要的數學基礎可謂是開啟機器學習大門的必備鑰匙。機器學習涉及到的數學基礎內容包括三個方面,分別是線性代數、機率統計和最最佳化理論。下面小編就會好好給大家介紹一下機器學習中涉及到的數學基礎知道,讓大家在日常的機器學習中可以更好地運用數學工具。
首先我們給大家介紹一下線性代數,線性代數起到的一個最主要的作用就是把具體的事物轉化成抽象的數學模型。不管我們的世界當中有多麼紛繁複雜,我們都可以把它轉化成一個向量,或者一個矩陣的形式。這就是線性代數最主要的作用。所以,線上性代數解決表示這個問題的過程中,我們主要包括這樣兩個部分,一方面是線性空間理論,也就是我們說的向量、矩陣、變換這樣一些問題。第二個是矩陣分析。給定一個矩陣,我們可以對它做所謂的SVD分解,也就是做奇異值分解,或者是做其他的一些分析。這樣兩個部分共同構成了我們機器學習當中所需要的線性代數。
然後我們說一下機率統計,在評價過程中,我們需要使用到機率統計。機率統計包括了兩個方面,一方面是數理統計,另外一方面是機率論。一般來說數理統計比較好理解,我們機器學習當中應用的很多模型都是來源於數理統計。像最簡單的線性迴歸,還有邏輯迴歸,它實際上都是來源於統計學。在具體地給定了目標函式之後,我們在實際地去評價這個目標函式的時候,我們會用到一些機率論。當給定了一個分佈,我們要求解這個目標函式的期望值。在平均意義上,這個目標函式能達到什麼程度呢?這個時候就需要使用到機率論。所以說在評價這個過程中,我們會主要應用到機率統計的一些知識。
最後我們說一下最最佳化理論,其實關於最佳化,就不用說了,我們肯定用到的是最最佳化理論。在最最佳化理論當中,主要的研究方向是凸最佳化。凸最佳化當然它有些限制,但它的好處也很明顯,比如說能夠簡化這個問題的解。因為在最佳化當中我們都知道,我們要求的是一個最大值,或者是最小值,但實際當中我們可能會遇到一些區域性的極大值,區域性的極小值,還有鞍點這樣的點。凸最佳化可以避免這個問題。在凸最佳化當中,極大值就是最大值,極小值也就是最小值。但在實際當中,尤其是引入了神經網路還有深度學習之後,凸最佳化的應用範圍越來越窄,很多情況下它不再適用,所以這裡面我們主要用到的是無約束最佳化。同時,在神經網路當中應用最廣的一個演算法,一個最佳化方法,就是反向傳播。
-
8 # 科技者聯盟
我們不從具體層面上談論這個問題,讓我們從表面上來更好地回答這個問題。
需要的基礎數學知識有哪些?回顧大學生涯中學習過的數學知識有:
高等數學
線性代數
機率與統計
這三者沒有一個是機器學習所不需要的。高等數學中我們會用到微積分、導數以及其他的一些數學分析方法;線性代數中矩陣計算、變換幾乎就是機器學習最為核心的計算;機率與統計學是機器學習用到的另一個強有力的工具。要給這三者排個序的話,我個人認為在機器學習中最重要的數學工具應該是線性代數,因為機器學習中資料的儲存方式大多是以向量、以矩陣的形式來儲存,計算、分析上也需要矩陣的性質。此外,機率與統計則是另一門重要的與機器學習息息相關的學科,因為機器學習做的大都是接收輸入,而預測一個輸出,有預測自然就有機率的存在。
數學知識就足夠了嗎?很多時候,我們可能並不需要數學知識便可以構建一個機器學習的模型,但是這個模型極有可能是不完善的,可能其準確度是很低的。那是不是說這個時候,只要我們學過線性代數、高等數學、機率論就可以輕鬆完成引數的調整呢?顯然不是的,即便是我們掌握了數學工具,但是還是需要學會如何在機器學習領域使用這些工具,這才是學習機器學習的意義所在。
結論及學習方法總而言之,在學習機器學習之前,需要首先學習高等數學、線性代數以及機率、統計學。在有了這些基礎之後,我們才能夠事半功倍地學習有關機器學習的知識。學習機器學習的途徑最好是結合書與影片一起學習。影片學習能夠加快你的學習進度,並且能夠少走彎路,對一些深奧概念能夠更好的理解;看書則可以彌補你看影片時缺乏的個人思考,能夠進一步鞏固所學知識。
-
9 # DatawhaleCN
首先我們要知道,機器學習理論是一個涵蓋統計、機率、計算機科學和演算法方面的領域,該理論的初衷是以迭代方式從資料中學習,找到可用於構建智慧應用程式的隱藏洞察。儘管機器學習和深度學習有巨大的發展潛力,但要深入掌握演算法的內部工作原理並獲得良好的結果,就必須透徹地瞭解許多技術的數學原理。搞清楚這些數學原理,可以幫助我們:選擇正確的演算法、選擇引數設定和驗證策略、透過理解偏差-方差權衡,識別欠擬合和過擬合、估算正確的置信區間和不確定性。
從上面的圖可以看出,普遍認為線性代數、微積分、機率論、統計學是比較重要的四塊內容,首先可以告訴大家的是,統計學是核心,微積分告訴我們怎樣學習和最佳化模型,線性代數使得演算法能在超大型資料集上執行,機率論幫我們預測某個事件發生的可能性。
機器學習包含了統計學,微積分,線性代數和機率論知識,關係如下:
微積分告訴我們怎樣最佳化
線性代數讓演算法適用於大型資料集
機率論幫我們預測某個特定輸出的可能性
統計學則表明是不是我們的目標
-
10 # 未來資料科技
本人也是IT行業的從業者,正在研究和學習人工智慧的課程,機器學習是人工智慧的一部分,同時也可以做資料分析,所以用到數學知識是必然的!
回覆列表
最主要的是線性代數和機率論。
線性代數現在最流行的機器學習模型,神經網路基本是就是一大堆向量、矩陣、張量。從啟用函式到損失函式,從反向傳播到梯度下降,都是對這些向量、矩陣、張量的操作和運算。
其他“傳統”機器學習演算法也大量使用線性代數。比如線性迴歸
聽名字就知道和線性代數關係密切了。
而主成分分析,從線性代數的觀點看,就是對角化協方差矩陣。
機率特別是當你讀論文或者想深入一點的時候,機率論的知識非常有幫助。
包括邊緣機率、鏈式法則、期望、貝葉斯推理、最大似然、最大後驗、自資訊、夏農熵、KL散度,等等。
其他神經網路很講究“可微”,因為可微的模型可以透過梯度下降的方法最佳化。梯度下降離不開求導。所以多變數微積分也需要。另外,因為機器學習是基於統計的方法,所以統計學的知識也缺不了。不過大部分理工科應該都學過這兩塊內容,所以這也許不屬於需要補充的內容。