機器學習所需的所有概率基礎
鑒于您已閱讀本文,因此您的概率基本原理已準備好進行機器學習的概率為100%。

機器學習就是關于做出預測的一切。 從預測具有多種功能的房屋價格到基于單細胞測序確定腫瘤是否為惡性。 這些預測僅僅是預測-輸出的值是從數據中找到的相關性得出的-并不是在現實世界中發生的確定性值或事件。
因此,我們可以認為機器學習是在給定一定的輸入或公認的相關性的情況下輸出最可能或概率性的結果(幾乎像條件概率P(x | y)。因此,需要對概率論有扎實的理解才能理解機器學習 在更深層次上;雖然許多使用機器學習的人僅將其用作"黑匣子"(他們不在乎模型如何提出預測,而只是在預測本身),但其他人卻在意理解ML模型是如何產生的 它的預測,并利用對ML模型如何學習的理解,以便更深入地了解他們正在研究的過程的機制。
機器學習中的許多"學習"過程實際上是從概率和概率分布中派生的,因此,了解這些概念背后的數學將使我們能夠更深入地理解機器學習。
在本部分中,我將介紹高中水平的統計信息-如果您已經熟悉條件概率和高斯分布的簡單版本,則可以繼續進行下一部分。
想象一下,您正在乘坐飛機,并且正在嘗試預測飛機在特定時間到達目的地的可能性。 您需要做的第一件事是了解會改變到達時間的不確定性(波動變量)的來源。 一些示例包括:
- 湍流
- 更多空中交通
- 閃電
- 其他惡劣天氣
這稱為被建模系統的固有隨機性。 其他類型的不確定性源于不完整的可觀察性-在我們的情況下,這可能意味著您可能無法預測即將發生的空中交通流量。 最后,建模不完善,就是您遺漏了大量變量的可能性。
上面的每個變量都由一個隨機變量表示,該變量可以具有多個值,每個值都有不同的發生概率。
概率密度函數和質量函數分別用于連續函數和離散函數。
例如,如果X是特定量湍流的隨機變量,則P(X = x)是隨機變量X取該特定值的概率。
認知計算-一種被廣泛認為是……的最重要表現的技能
作為其用戶,我們已逐漸將技術視為理所當然。 這些天幾乎沒有什么比這更普遍了……
聯合概率分布與正常分布相似,不同之處在于,您現在嘗試封裝兩個變量的隨機性,因此
P(x,y)= P(X = x,Y = y)
本質上,這是兩個變量采用非常具體的值的可能性。
現在,如果我告訴您在飛機上飛行時到達目的地的概率為0.000000001,您將不相信我,但您必須考慮到有足夠的燃料 到那里,飛機已經過檢修。
P(您會準時到達目的地|加油,維修已完成)
這稱為條件概率。
分布類型
高斯分布
好的-現在有許多數學上表示分布的方法。 最常見的方法是旋轉高斯分布(或正態分布),而正態名稱是合適的,因為它是最常用于近似其他分布的分布。
您可以使用以下表達式在笛卡爾坐標上繪制方程式:

Sigma和µ分別代表總體標準偏差和均值。
想象一下,我們想要一次或三個繪制兩個變量的分布。 事情很快就會瘋狂起來。 這是二維高斯分布的樣子。

> Two dimensional multivariate gaussian distribution, where x1 and x2 represent the values of the tw

> The equation for a multivariate gaussian distribution
在這里,我們不僅要了解一個變量的"標準偏差",還要了解變量之間的相互關系。 換句話說,回到我們的飛機示例中,如果湍流度更高,這是否意味著壞的可能性更大? 我們使用協方差矩陣,其中協方差由以下公式表示。

本質上,您是將兩個隨機變量的標準偏差相乘,以查看它們之間的比例關系(彼此之間的依存程度)。
拉普拉斯分布
如果我們將高斯分布和拉普拉斯分布視為丘陵,那么高斯分布具有一個平滑的頂點。 換句話說,如果您將球放在頂部,則在加速之前,球會開始平穩滾動。

另一方面,拉普拉斯分布的山頂非常陡峭,放在頂部的球將立即開始加速。

信息論就是關于一組給定的值和概率捕獲多少信息。
例如,如果我告訴您您今天要呼吸,會感到驚訝嗎? 可能不是,因為這周您有99.99999%的機會還活著。 因此,該信息的信息含量低。 另一方面,其他信息具有更高的信息內容-可能性越小,它們擁有的信息就越多。
例如,如果我告訴你夏天要下雪,那條信息將具有超高的信息含量。
讓我們更正式地定義信息(在數學上這意味著什么)。
我們可以通過采用特定概率的負對數來計算信息內容。
現在,夏季實際上下雪的可能性確實很小(例如,下雪的概率為0.0001%,不會下雪的概率為99.9999%)。 因此,我們獲得大量信息的可能性非常低。

> Equation for self-information content
為了預測包含的平均信息量或預期信息量,我們從分布中的事件中找到預期的信息量。
現在,為什么信息在機器學習中很重要? 有時,我們輸入一個概率分布,然后得到另一個輸出,這兩個都是針對相同的隨機變量x,我們想看看分布之間的相似程度。
對于采用分派作為輸入的變體自動編碼器,嘗試在幾個潛在變量中進行編碼,然后進行解構以嘗試重新創建原始分布,請務必查看新分布是否具有更多或更少的信息 比原來的大一號。
我們可以通過檢查新發行版是否具有較高的信息內容來檢查模型是否"學習"了任何東西。 我們可以使用KL(Kullback-Leibler)散度來度量。

> Equation for Kuller-Leibler Divergence
結構化概率模型
結構化概率模型(具有節點和邊)用于表示多個變量和與之關聯的條件概率之間的相互作用。
例如,查看下面的結構化概率模型。 節點由小寫字母表示,有向邊表示條件關系。 換句話說,c取決于b上的a,因為a和b的箭頭指向它。

我們可以通過查看每個變量的條件概率乘積來表示找到所有五個變量的某種組合的概率。

"給定"符號右側的變量表示提供有向箭頭的節點。
無向模型不需要定向邊緣(帶有箭頭)。 它們只是在表示依賴關系的變量之間有一行。

無向模型中的每個集團都由相互連接的節點組成。 例如,在上圖中,a,b和c是集團。 每個集團都有與之關聯的獨特功能,可以從中得出一個因素。
就是這樣-您需要了解的有關機器學習概率的全部信息:)