原創(chuàng)技術(shù)文章,第一時間獲取 機器學(xué)習(xí)中的概率模型 概率論,包括它的延伸-信息論,以及隨機過程,在機器學(xué)習(xí)中有重要的作用。它們被廣泛用于建立預(yù)測函數(shù),目標函數(shù),以及對算法進行理論分析。如果將機器學(xué)習(xí)算法的輸入、輸出數(shù)據(jù)看作隨機變量,就可以用概率論的觀點對問題進行建模,這是一種常見的思路。本文對機器學(xué)習(xí)領(lǐng)域種類繁多的概率模型做進行梳理和總結(jié),幫助讀者掌握這些算法的原理,培養(yǎng)用概率論作為工具對實際問題進行建模的思維。要順利地閱讀本文,需要具備概率論,信息論,隨機過程的基礎(chǔ)知識。 為什么需要概率論? 概率模型是機器學(xué)習(xí)算法中的大家族,從最簡單的貝葉斯分類器,到讓很多人覺得晦澀難懂的變分推斷,到處都有它的影子。為什么需要概率論?這是我們要回答的第一個問題。 與支持向量機、決策樹、Boosting、k均值算法這些非概率模型相比,概率模型可以給我們帶來下面的好處: 1.對不確定性進行建模。假如我們要根據(jù)一個人的生理指標預(yù)測他是否患有某種疾病。與直接給出簡單的是與否的答案相比,如果算法輸出結(jié)果是:他患有這種疾病的概率是0.9,顯然后者更為精確和科學(xué)。再如強化學(xué)習(xí)中的馬爾可夫決策過程,狀態(tài)轉(zhuǎn)移具有隨機性,需要用條件概率進行建模。 2.分析變量之間的依賴關(guān)系。對于某些任務(wù),我們要分析各個指標之間的依賴關(guān)系。例如,學(xué)歷對一個人的收入的影響程度有多大?此時需要使用條件概率和互信息之類的方法進行計算。 3實現(xiàn)因果推理。對于某些應(yīng)用,我們需要機器學(xué)習(xí)算法實現(xiàn)因果之間的推理,這種模型具有非常好的可解釋性,與神經(jīng)網(wǎng)絡(luò)之類的黑盒模型相比,更符合人類的思維習(xí)慣。 4.能夠生產(chǎn)隨機樣本數(shù)據(jù)。有些應(yīng)用要求機器學(xué)習(xí)算法生成符合某一概率分布的樣本,如圖像,聲音,文本。深度生成模型如生成對抗網(wǎng)絡(luò)是其典型代表。 整體概覽 在機器學(xué)習(xí)中,有大量的算法都是基于概率的。下面這張圖列出了機器學(xué)習(xí)、深度學(xué)習(xí)、強化學(xué)習(xí)中典型的算法和理論所使用的概率論知識,使得大家對全貌有所了解。接下來我們將分別講述這些算法是怎么以概率論作為工具進行建模的。 有監(jiān)督學(xué)習(xí) 貝葉斯分類器 貝葉斯分類器是使用概率解決分類問題的典型代表。它的想法很簡單:根據(jù)貝葉斯公式直接計算樣本x屬于每個類的概率p(y|x) 這個概率也稱為類后驗概率。在這里p(y)是每個類出現(xiàn)的概率,p(x|y)是類條件概率,也是每個類的樣本的特征向量x所服從的概率分布。然后將樣本判定為概率值最大的那個類 這里忽略了上面那個概率計算公式中的分母p(x),因為它對所有類都是相同的,我們并不需要計算出每個類的概率值,而只需要找到概率最大的那個類。 實現(xiàn)時,需要確定每個類樣本的特征向量所服從的概率分布p(x|y)以及每個類出現(xiàn)的概率p(y)。前者的參數(shù)通常通過最大似然估計確定。如果假設(shè)每個類的樣本都服從正態(tài)分布,就是正態(tài)貝葉斯分類器。 logistic回歸 伯努利分布 + 最大似然估計 = softmax回歸 logistic回歸用于解決二分類問題,它的想法與貝葉斯分類器類似,也是預(yù)測樣本屬于每個類的概率。不同的是它沒有借助于貝葉斯公式,而是直接根據(jù)特征向量x估計出了樣本是正樣本的概率 如果這個概率值大于0.5,就被判定為正樣本,否則是負樣本。這里的參數(shù)w和b通過最大似然估計得到。可以認為,logistic回歸擬合的是伯努利分布。需要強調(diào)的是,logistic回歸雖然是一種概率模型,但它不是生成模型,而是判別模型,因為它沒有假設(shè)樣本的特征向量服從何種概率分布。 softmax回歸 多項分布 + 最大似然估計 = softmax回歸 softmax回歸是logistic回歸的多分類版本,它也是直接預(yù)測樣本x屬于每個類的概率 然后將其判定為概率最大的那個類。這種方法假設(shè)樣本的類別標簽值服從多項分布,因此它擬合的是多項分布。模型的參數(shù)通過最大似然估計得到,由此導(dǎo)出了著名的交叉熵目標函數(shù) 最大化對數(shù)似然函數(shù)等價于最小化交叉熵損失函數(shù)。softmax回歸在訓(xùn)練時的目標就是使得模型預(yù)測出的概率分布與真實標簽的概率分布的交叉熵最小化。 變分推斷 貝葉斯公式 + KL散度 = 變分推斷 貝葉斯分類器是貝葉斯推斷的簡單特例,它們的目標是計算出已知觀測變量x時隱變量z的后驗概率p(z|x),從而完成因果推斷 觀測變量的值是已知的,例如可以是樣本的特征向量。隱變量的值是不能直接觀察到的,例如樣本的類別。 這里面臨的一個問題是上式中的分母p(x)難以計算,如果x是高維隨機向量,計算這個分母涉及到計算高維聯(lián)合概率密度函數(shù)p(x,z)的積分 既然精確的計算很困難,人們就想到了一個聰明的解決方法:我們能不能找出一個概率分布q(z)來近似替代p(z|x),只要二者很相似就可以。找到這個近似概率分布q(z)的依據(jù)是它與p(z|x)的KL散度最小化,因為KL散度衡量了兩個概率分布之間的差異。KL散度越大,兩個概率分布的差異越大;如果這兩個概率分布完全相等,KL散度的值為0。由此得到了變分推斷的核心公式 lnp(x)是一個常數(shù),因此最小化二者的KL散度等價于最大化證據(jù)下界函數(shù)L(q(z))。這個下界函數(shù)通常易于優(yōu)化,我們由此可以確定q(z)。實際實現(xiàn)時,通常假定q(z)為正態(tài)分布,因為正態(tài)分布具有諸多優(yōu)良的性質(zhì)。我們也可以從變分推斷的角度來解釋EM算法。 高斯過程回歸 高斯過程回歸聽起來很玄乎,實際上非常簡單。有一組隨機變量,假設(shè)它們服從多維正態(tài)分布,那么它們就構(gòu)成了高斯過程,任意增加一個變量之后,還是服從正態(tài)分布。多維正態(tài)分布有著非常好的性質(zhì),我們可以直接得到它的邊緣分布、條件分布的解析表達式。 高斯過程回歸,就是假設(shè)我們要預(yù)測的函數(shù)在任意各個點x處的函數(shù)值f(x)形成一個高斯過程。根據(jù)高斯過程的性質(zhì),給定一組樣本值x以及他們對應(yīng)的函數(shù)值f(x),我們可以得到任意點處的函數(shù)值的概率分布,當然,這是一個正態(tài)分布,它的均值和方差分別為 得到函數(shù)在任意點處的函數(shù)值的概率分布之后,我們可以做很多事情。高斯過程回歸是貝葉斯優(yōu)化的核心模塊之一。 無監(jiān)督學(xué)習(xí) SNE降維算法 正態(tài)分布 + KL散度 = SNE 隨機近鄰嵌入(SNE)是一種基于概率的流形降維算法,將向量組變換到低維空間,得到向量組。它基于如下思想:在高維空間中距離很近的點投影到低維空間中之后也要保持這種近鄰關(guān)系,在這里距離通過概率體現(xiàn)。假設(shè)在高維空間中有兩個點樣本點和,以的概率作為的鄰居,借助于正態(tài)分布,此概率的計算公式為 投影到低維空間之后仍然要保持這個概率關(guān)系。假設(shè)和投影之后對應(yīng)的點為和,在低維空間中對應(yīng)的近鄰概率記為,計算公式與上面的相同,也使用了正態(tài)分布 如果考慮所有其他點,這些概率值構(gòu)成一個離散型概率分布,是所有樣本點成為的鄰居的概率。在低維空間中對應(yīng)的概率分布為,投影的目標是這兩個概率分布盡可能接近,需要衡量兩個概率分布之間的相似度。這里用KL散度衡量兩個多項分布之間的差距。由此得到投影的目標為最小化如下函數(shù) 最小化該目標函數(shù)就可以得到降維之后的結(jié)果。 t-SNE降維算法 t分布 + KL散度 =t- SNE t-SNE是SNE的改進版本。其中一個核心改進是將正態(tài)分布替換為t分布,t分布具有長尾的特性,在遠離概率密度函數(shù)中點處依然有較大的概率密度函數(shù)值,因此更易于產(chǎn)生遠離中心的樣本,從而能夠更好的處理離群樣本點。 高斯混合模型 多項分布 + 正態(tài)分布 = 高斯混合模型 正態(tài)分布具有很多良好的性質(zhì),在應(yīng)用問題中我們通常假設(shè)隨機變量服從正態(tài)分布。不幸的是,單個高斯分布的建模能力有限,無法擬合多峰分布(概率密度函數(shù)有多個極值),如果將多個高斯分布組合起來使用則表示能力大為提升,這就是高斯混合模型。 高斯混合模型(GMM)通過多個正態(tài)分布的加權(quán)和來定義一個連續(xù)型隨機變量的概率分布,其概率密度函數(shù)定義為 GMM可以看做是多項分布與高斯分布的結(jié)合,首先從k個高斯分布中隨機的選擇一個,選中每一個的概率為wi,然后用該高斯分布產(chǎn)生出樣本x。這里用隱變量z來指示選擇的是哪個高斯分布。高斯混合模型的參數(shù)通過最大似然估計得到,由于有隱變量的存在,無法像高斯分布那樣直接得到對數(shù)似然函數(shù)極值點的解析解,需要使用EM算法。 Mean shift算法 核密度估計 + 梯度下降法 = Mean shift算法 很多時候我們無法給出概率密度函數(shù)的顯式表達式,此時可以使用核密度估計。核密度估計(KDE)也稱為Parzen窗技術(shù),是一種非參數(shù)方法,它無需求解概率密度函數(shù)的參數(shù),而是用一組標準函數(shù)的疊加表示概率密度函數(shù)。 對于聚類,圖像分割,目標跟蹤等任務(wù),我們需求求概率密度函數(shù)的極值。均值漂移算法可以找到上面這種形式的概率密度函數(shù)的極大值點,是核密度估計與梯度上升法(與梯度下降法相反,用于求函數(shù)的極大值)相結(jié)合的產(chǎn)物。對上面的概率密度函數(shù)求梯度,可以得到下面的梯度計算公式 這個向量也稱為均值漂移向量。由此可以得到梯度上升法的迭代公式 均值漂移算法簡單而優(yōu)美,當年在目標跟蹤領(lǐng)域取得了令人刮目相看的效果。 概率圖模型 概率論 + 圖論 = 概率圖模型 概率圖模型是概率論與圖論相結(jié)合的產(chǎn)物。它用圖表示隨機變量之間的概率關(guān)系,對聯(lián)合概率或條件概率建模。在這種圖中,頂點是隨機變量,邊為變量之間的依賴關(guān)系。如果是有向圖,則稱為概率有向圖模型;如果是無向圖,則稱為概率無向圖模型。概率有向圖模型的典型代表是貝葉斯網(wǎng)絡(luò),概率無向圖模型的典型代表是馬爾可夫隨機場。使用貝葉斯網(wǎng)絡(luò)可以實現(xiàn)因果推理。 隱馬爾可夫模型 馬爾可夫鏈 + 觀測變量 = 隱馬爾可夫模型 馬爾可夫過程是隨機過程的典型代表。這種隨機過程為隨著時間進行演化的一組隨機變量進行建模,假設(shè)系統(tǒng)在當前時刻的狀態(tài)值只與上一個時刻有關(guān),與更早的時刻無關(guān),稱為“無記憶性”。 有些實際應(yīng)用中不能直接觀察到系統(tǒng)的狀態(tài)值,狀態(tài)的值是隱含的,只能得到一組稱為觀測的值。為此對馬爾可夫模型進行擴充,得到隱馬爾可夫模型(HMM)。隱馬爾可夫模型描述了觀測變量和狀態(tài)變量之間的概率關(guān)系。與馬爾可夫模型相比,隱馬爾可夫模型不僅對狀態(tài)建模,而且對觀測值建模。不同時刻的狀態(tài)值之間,同一時刻的狀態(tài)值和觀測值之間,都存在概率關(guān)系。 隱馬爾可夫模型可以表示為五元組 其中S為狀態(tài)集合,V為觀測集合,π是初始狀態(tài)的概率分布,A是狀態(tài)轉(zhuǎn)移矩陣,B是觀測矩陣。 受限玻爾茲曼機 玻爾茲曼分布 + 二部圖 = 受限玻爾茲曼機 受限玻爾茲曼機(RBM)是一種特殊的神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)為二部圖。這是一種隨機神經(jīng)網(wǎng)絡(luò)。在這種模型中,神經(jīng)元的輸出值是以隨機的方式確定的,而不像其他的神經(jīng)網(wǎng)絡(luò)那樣是確定性的。 受限玻爾茲曼機的變量(神經(jīng)元)分為可見變量和隱藏變量兩種類型,并定義了它們服從的概率分布。可見變量是神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù),如圖像;隱藏變量可以看作是從輸入數(shù)據(jù)中提取的特征。在受限玻爾茲曼機中,可見變量和隱藏變量都是二元變量,其取值只能為0或1,整個神經(jīng)網(wǎng)絡(luò)是一個二部圖。 二部圖的兩個子集分別為隱藏節(jié)點集合和可見節(jié)點集合,只有可見單元和隱藏單元之間才會存在邊,可見單元之間以及隱藏單元之間都不會有邊連接。隱變量和可見變量的取值服從下面的玻爾茲曼分布 數(shù)據(jù)生成問題 數(shù)據(jù)生成模型以生成圖像、聲音、文字等數(shù)據(jù)為目標,生成的數(shù)據(jù)服從某種未知的概率分布,具有隨機性。以圖像生成為例,假設(shè)要生成貓、狗等圖像,算法輸出隨機向量x,該向量由圖像的所有像素拼接而成。每類樣本x都服從各自的概率分布,定義了對所有像素值的約束。例如對于狗來說,如果圖像看上去要像真實的狗,則每個位置處的像素值必須滿足某些約束條件,且各個位置處的像素值之間存在相關(guān)性。算法生成的樣本x要有較高的概率值p(x),即像真的樣本。 數(shù)據(jù)生成模型通常通過分布變換實現(xiàn),原理很簡單:對服從簡單的概率分布(如正態(tài)分布,均勻分布)的數(shù)據(jù)數(shù)z進行映射,得到一個新的隨機變量g(z),這個隨機變量服從我們想要的那種概率分布。問題的核心是如何找到這個映射g(z)。深度生成模型的典型代表-生成對抗網(wǎng)絡(luò),以及變分自動編碼器,通過不同的路徑實現(xiàn)了這一功能。 生成對抗網(wǎng)絡(luò) 概率分布變換(生成器) + 二分類器(判別器) = 生成對抗網(wǎng)絡(luò) 生成對抗網(wǎng)絡(luò)由一個生成模型和一個判別模型組成。生成模型用于學(xué)習(xí)真實樣本數(shù)據(jù)的概率分布,并直接生成符合這種分布的數(shù)據(jù),實現(xiàn)分布變換函數(shù)g(z);判別模型的任務(wù)是判斷一個輸入樣本數(shù)據(jù)是真實樣本還是由生成模型生成的,即對生成模型生成的樣本進行評判,以指導(dǎo)生成模型的訓(xùn)練。在訓(xùn)練時,兩個模型不斷競爭,從而分別提高它們的生成能力和判別能力。訓(xùn)練時要優(yōu)化的目標函數(shù)定義為 訓(xùn)練完成之后,生成模型就可以用來生成樣本了,它的輸入是隨機變量z,從而保證了生成的樣本具有隨機性。可以證明,當且僅當生成器所實現(xiàn)的概率分布與樣本的真實概率分布相等時上面的目標函數(shù)取得極小值 從理論上來說,是使得生成器生成的樣本的概率分布與真實樣本的概率分布的KL散度最小化。 變分自動編碼器 變分推斷 + 神經(jīng)網(wǎng)絡(luò) = 變分自動編碼器 變分自動編碼器(VAE)是變分推斷與神經(jīng)網(wǎng)絡(luò)相結(jié)合的產(chǎn)物。整個系統(tǒng)遵循自動編碼器的結(jié)構(gòu),由編碼器和解碼器構(gòu)成。在訓(xùn)練時,編碼器將訓(xùn)練樣本映射成隱變量z所服從的概率分布的參數(shù),然后從此概率分布進行采樣得到隱變量z,解碼器則將隱變量映射回樣本變量x,即進行重構(gòu)。這種方法在標準自動編碼器的基礎(chǔ)上加入了隨機性,從而保證可以輸出帶有隨機性的數(shù)據(jù)。 訓(xùn)練時優(yōu)化的目標為 q(z|x)充當編碼器的角色,將x編碼為z。給定一個x,輸出其對應(yīng)的隱變量的概率分布。編碼器的輸出為隱變量的均值和方差,而非隱變量本身。p(x|z)充當解碼器,從z重構(gòu)出x。 強化學(xué)習(xí) 馬爾可夫決策過程 馬爾可夫過程 + 動作 + 獎勵 = 馬爾可夫決策過程 馬爾可夫決策過程(MDP)是強化學(xué)模型的抽象,是對馬爾可夫過程的擴充,在它的基礎(chǔ)上加入了動作和獎勵,動作可以影響系統(tǒng)的狀態(tài),獎勵用于指導(dǎo)智能體學(xué)習(xí)正確的行為,是對動作的反饋。 在每個時刻智能體觀察環(huán)境,得到一組狀態(tài)值,然后根據(jù)狀態(tài)來決定執(zhí)行什么動作。執(zhí)行動作之后,系統(tǒng)給智能體一個反饋,稱為回報或獎勵?;貓蟮淖饔檬歉嬖V智能體之前執(zhí)行的動作所導(dǎo)致的結(jié)果的好壞。 MDP可以抽象成一個五元組 其中S為狀態(tài)空間,A為動作空間,p為狀態(tài)轉(zhuǎn)移概率,r為回報函數(shù),是折扣因子。從0時刻起,智能體在每個狀態(tài)下執(zhí)行動作,轉(zhuǎn)入下一個狀態(tài),同時收到一個立即回報。這一演化過程如下所示 在這里,狀態(tài)轉(zhuǎn)移概率用于對不確定性進行建模,即使當前時刻的狀態(tài)值,當前時刻要執(zhí)行的動作是確定的,但下一個時刻轉(zhuǎn)讓何種狀態(tài),是具有隨機性的。 本文所介紹的機器學(xué)習(xí)算法,在《機器學(xué)習(xí)-原理、算法與應(yīng)用》(清華大學(xué)出版社,雷明著)一書中都有詳細的講述。本文提及的所有數(shù)學(xué)知識,在《機器學(xué)習(xí)的數(shù)學(xué)》(人民郵電出版,雷明著,將于2020年8月出版)一書中都有詳細而清晰的講述。 本文為SIGAI原創(chuàng) |
|
來自: taotao_2016 > 《概率》