回覆列表
-
1 # 北航秦曾昌
-
2 # 狂躁流氓兔
本科學到的程式語言,資料結構那些都是工具,是為了理解計算機的運作以及程式的實現,研究生做的是研究,需要在理解的基礎上作出一些新的東西,是創造的過程,這些創造都是以數學為主,輔以程式設計實現
本科學到的程式語言,資料結構那些都是工具,是為了理解計算機的運作以及程式的實現,研究生做的是研究,需要在理解的基礎上作出一些新的東西,是創造的過程,這些創造都是以數學為主,輔以程式設計實現
從實踐的意義上說,機器學習是一種在大量的訓練資料中挖掘資訊和規律訓練出模型,利用訓練好的模型去判斷未知樣本特性的方法。那既然是大量資料,必然涉及到機率與統計學的數學知識。同時,為了更好的處理大量資料,還要藉助代數與矩陣的數學知識,將資料進行更好的表達,從而方便處理。實際上機器學習涉及到的數學還遠遠不止這些(包括最佳化,實分析等等)
下面,我們分別舉幾個例子簡單說明:
一、機率與統計
很多機率分佈都與機器學習息息相關。
例如:1) 貝葉斯公式在垃圾郵件分類中的應用。
2) 利用均勻分佈及其衍生函式,隨機生成各種分佈的近似樣本資料。
3) 高斯分佈是很多演算法的資料要求滿足的機率分佈。
4) Beta分佈在LDA主題分類中的應用。
5) Sigmoid函式在卷積神經網路作為非線性啟用函式。
6)最大似然估計在各種最佳化演算法中的應用。
二、線性代數與矩陣論
1)矩陣的奇異值分解SVD(Singular Value Decomposition)在特徵值、特徵向量中的應用。利用矩陣將圖片表示出來後,對矩陣進行奇異值分解,按照特徵值從大到小的順序對影象進行還原,結果如下圖所示,利用奇異值分解可以降低圖片的維數,同時對圖片的清晰度影響不大。
2)轉移機率矩陣在馬爾可夫隨機過程中的應用。
一個常見的例子:
假定按照經濟狀況將人群分為上、中、下三個階層,用1、2、3表示。設定當前處於某一階層只和上一代有關。轉移機率以及n代的階級情況如下圖所示,可知,多次迭代之後,第n代的階層情況跟初代狀態無關,只與轉移矩陣有關,
所以要想進一步掌握機器學習,而不只是停留在呼叫各種封裝好的的演算法包的階段,必要的機率、統計和矩陣論的知識對你深層理解機器學習演算法本質是十分必要的。