機器學習中的概率統計

程式設計師小城發表於2019-03-17

有人說了,機器學習的演算法涉及到大量的數學基礎內容,那麼我很想好好學習數學,為後面的演算法學習做好準備。

果然很有眼光啊,那麼這一篇文章我們來仔細講講機器學習中所涉及到的數學知識吧。可以這麼說:機器學習的數學基礎主要萌發於三門課程,高等數學、線性代數和概率統計。其中又以後兩者更為居多。

感覺像是沒說,我記得大學本科裡我們們主要就是學了這三門數學課,考試也通過了,按理來說我們應該已經築牢了基礎,但是為什麼感覺還是差點火候,使不上勁兒呢?

這確實是很多小夥伴們的共同心聲,數學大家都學過了,為什麼真正到用的時候就有些虛呢?我感覺問題在這三點:

1、本科課程中的知識點並沒有完全覆蓋機器領域學習所需。

我在第二段中說了,機器學習數學基礎萌發於高等數學、線性代數和概率統計,注意我用了萌發這個詞,意思是說需要的數學知識點來源於這三塊領域,但絕不僅僅滿足於本科的教學內容,事實上,線性代數(我們會在另一篇文章中仔細分析)所需的知識應該是本科的線性代數+研究生階段的矩陣論的相關內容,而概率統計則更為廣泛、深入一些。

回想一下本科概率統計的學習內容包含了什麼?事件的概率、隨機變數及其分佈、數字特徵、引數估計與假設檢驗。差不多就這些,很重要,很核心,但似乎是遠遠不夠的吧。事實上,我們還需要補充隨機過程、時間序列分析以及隨機理論、資訊理論等一些重要的基礎知識,才能說知識結構相對完整。

2、本科課程是數學基礎理論課程,而不是面向機器學習的應用數學課程

這一點也很容易理解,因為大學開數學課的目的是講授概率統計的基礎理論,目的本來也不是為了給大家打牢機器學習的數學基礎啊。

所以如果大家不專門針對性的分清重點,強化相關重點內容的學習,自然覺得平鋪直敘沒有針對性。

3、最後是吐槽一下國內本科教材自身固有的問題:重計算技巧,輕內在邏輯

大家一定都有這種感覺,學習本科數學的時候,線性代數,上來就是計算行列式,線性方程組的解,計算逆矩陣,矩陣的秩等等。概率統計呢,則是羅列了很多種分佈,然後算期望、算方差。這樣的結果就是數學變成了算術,還是在不停的做程式一秒鐘就能做的事兒。至於說知識背後的內在邏輯和應用方法,基本上非常欠缺的,因此大家很容易考完就忘。

好了好了,說了這麼多,那我該如何重新來學習概率統計呢?你能設計一條知識路徑麼?

行,那我來試試吧,我把機器學習急需學習和掌握的概率統計內容分為了八個部分,這八個部分一方面能夠形成概率統計由淺入深、從核心延展到外圍的一個知識體系,另一方面他能涵蓋機器學習演算法中所需的概率統計知識點。

第一部分:回顧概率核心理論

我們不必過多的糾纏於盒子裡摸球,紅的白的各有多少可能性這些基本問題,相信大家都懂。我認為最核心的是搞清楚條件概率的問題,並且理清聯合概率、邊緣概率、條件概率這幾個核心概念。同時,在此基礎上熟悉和掌握貝葉斯公式和相關理論。

第二部分:核心的幾種隨機變數的分佈以及變數之間的關係

這一部分比較基礎,我們需要掌握離散型隨機變數的幾種主要的分佈,而連續型隨機變數主要就是掌握正態分佈即可。並且熟練運用程式的工具獲取分佈的期望、方差等數字特徵,瞭解概率密度函式和累積分佈函式。對多組不同的變數,熟悉協方差以及相關性的意義和計算方法。

第三部分:引數估計理論

這一部分的內容會在後續的演算法中廣泛的體現和運用,因此理論與方法顯得格外重要。需要重點掌握最小偏差無偏估計、最大似然估計和貝葉斯估計的相關內容。並且學習EM演算法。

第四部分:假設檢驗

瞭解基本的思想方法與程式工具的使用即可。

第五部分:建立隨機理論的相關概念

這裡首先需要掌握蒙特卡羅方法的基本思想。同時鞏固貝葉斯的思想方法,接觸一下馬爾科夫蒙特卡洛(MCMC)演算法,找一找處理實際問題的感覺。

第六部分:資訊理論

學習關於熵的一些理論,聯合熵、條件熵、相對熵、互資訊等概念,以及最大熵模型。

第七部分:隨機過程初步理論和應用

隨機過程本身是一門非常深的課程,素有隨機過程隨機過的江湖傳聞。其實如果從應用的角度來講,我們也不用在理論層面陷的太深,還是以基礎知識和基本應用為主。

首先馬爾科夫鏈是必須學習的,瞭解狀態轉移矩陣、多步轉移、幾種不同的狀態分類、平穩分佈等最基本的內容。然後在此概念基礎上,學習隱馬爾科夫鏈的相關內容,聚焦其基本概念,以及概率計算和引數學習的一些方法。

第八部分:時間序列分析

感覺這一塊的內容相對更加獨立,在藉助pandas工具的基礎上學習效果更好。重點是移動平均、相關性以及預測等內容。

恩,看來內容比較全,遠遠超過了大學教材的範圍,有些嚇人呀。

其實不然,我想糾正一個誤區,就是學習機器學習的數學基礎和單純學習數學比較起來是有一些不同的,基礎二字就說明了在深度上適可而止、夠用即可,反而更應注重知識體系的全面性。我們在學習的過程中,重點還是築牢基礎知識和概念,學會使用數學工具來研究更加實際的應用問題,而不是不停的糾結於工具本身。

相關文章