機器學習中的概率模型
轉自:https://zhuanlan.zhihu.com/p/164551678
機器學習中的概率模型
概率論,包括它的延伸-信息論,以及隨機過程,在機器學習中有重要的作用。它們被廣泛用于建立預測函數,目標函數,以及對算法進行理論分析。如果將機器學習算法的輸入、輸出數據看作隨機變量,就可以用概率論的觀點對問題進行建模,這是一種常見的思路。本文對機器學習領域種類繁多的概率模型做進行梳理和總結,幫助讀者掌握這些算法的原理,培養用概率論作為工具對實際問題進行建模的思維。要順利地閱讀本文,需要具備概率論,信息論,隨機過程的基礎知識。
為什么需要概率論?
概率模型是機器學習算法中的大家族,從最簡單的貝葉斯分類器,到讓很多人覺得晦澀難懂的變分推斷,到處都有它的影子。為什么需要概率論?這是我們要回答的第一個問題。
與支持向量機、決策樹、Boosting、k均值算法這些非概率模型相比,概率模型可以給我們帶來下面的好處:
-
對不確定性進行建模。假如我們要根據一個人的生理指標預測他是否患有某種疾病。與直接給出簡單的是與否的答案相比,如果算法輸出結果是:他患有這種疾病的概率是0.9,顯然后者更為精確和科學。再如強化學習中的馬爾可夫決策過程,狀態轉移具有隨機性,需要用條件概率進行建模。
-
分析變量之間的依賴關系。對于某些任務,我們要分析各個指標之間的依賴關系。例如,學歷對一個人的收入的影響程度有多大?此時需要使用條件概率和互信息之類的方法進行計算。
-
實現因果推理。對于某些應用,我們需要機器學習算法實現因果之間的推理,這種模型具有非常好的可解釋性,與神經網絡之類的黑盒模型相比,更符合人類的思維習慣。
-
能夠生產隨機樣本數據。有些應用要求機器學習算法生成符合某一概率分布的樣本,如圖像,聲音,文本。深度生成模型如生成對抗網絡是其典型代表。
整體概覽
在機器學習中,有大量的算法都是基于概率的。下面這張圖列出了機器學習、深度學習、強化學習中典型的算法和理論所使用的概率論知識,使得大家對全貌有所了解。接下來我們將分別講述這些算法是怎么以概率論作為工具進行建模的。
有監督學習
貝葉斯分類器
貝葉斯分類器是使用概率解決分類問題的典型代表。它的想法很簡單:根據貝葉斯公式直接計算樣本 x\mathbf{x}x 屬于每個類的概率 p(y∣x)p(y|\mathbf{x})p(y∣x)
p(y∣x)=p(x∣y)p(y)p(x)p(y|\mathbf{x})=\frac{p(\mathbf{x}|y)p(y)}{p(\mathbf{x})} p(y∣x)=p(x)p(x∣y)p(y)?
這個概率也稱為類后驗概率。在這里 p(yp(yp(y )是每個類出現的概率,p(x∣y)p(\mathbf{x}|y)p(x∣y) 是類條件概率,也是每個類的樣本的特征向量 x\mathbf{x}x 所服從的概率分布。然后將樣本判定為概率值最大的那個類
argmaxyp(x∣y)p(y)argmax_y\ p(\mathbf{x}|y)p(y) argmaxy??p(x∣y)p(y)
這里忽略了上面那個概率計算公式中的分母 p(x)p(\mathbf{x})p(x),因為它對所有類都是相同的,我們并不需要計算出每個類的概率值,而只需要找到概率最大的那個類。
實現時,需要確定每個類樣本的特征向量所服從的概率分布 p(x∣y)p(\mathbf{x}|y)p(x∣y) 以及每個類出現的概率 p(y)p(y)p(y)。前者的參數通常通過最大似然估計確定。如果假設每個類的樣本都服從正態分布,就是正態貝葉斯分類器。
logistic回歸
伯努利分布+最大似然估計=logistic回歸
logistic 回歸用于解決二分類問題,它的想法與貝葉斯分類器類似,也是預測樣本屬于每個類的概率。不同的是它沒有借助于貝葉斯公式,而是直接根據特征向量 x\mathbf{x}x 估計出了樣本是正樣本的概率
p(x)=11+exp(?wTx+b)p(\mathbf{x})=\frac{1}{1+\rm{exp}(-\mathbf{w}^T\mathbf{x}+b)} p(x)=1+exp(?wTx+b)1?
如果這個概率值大于 0.5,就被判定為正樣本,否則是負樣本。這里的參數 w\mathbf{w}w 和 bbb 通過最大似然估計得到。可以認為,logistic 回歸擬合的是伯努利分布。需要強調的是,logistic 回歸雖然是一種概率模型,但它不是生成模型,而是判別模型,因為它沒有假設樣本的特征向量服從何種概率分布。
softmax回歸
多項分布 + 最大似然估計 = softmax回歸
softmax 回歸是 logistic 回歸的多分類版本,它也是直接預測樣本 x\mathbf{x}x 屬于每個類的概率
hθ(x)=1∑i=1keθiTx[eθ1Tx…eθkTx]h_\theta(\mathbf{x})=\frac{1}{\sum_{i=1}^ke^{\theta_i^T\mathbf{x}}}\begin{bmatrix} e^{\theta_1^T\mathbf{x}} \\ \dots \\e^{\theta_k^T\mathbf{x}} \end{bmatrix}\quad hθ?(x)=∑i=1k?eθiT?x1????eθ1T?x…eθkT?x????
然后將其判定為概率最大的那個類。這種方法假設樣本的類別標簽值服從多項分布,因此它擬合的是多項分布。模型的參數通過最大似然估計得到,由此也導出了著名的交叉熵目標函數:
?∑i=1l∑j=1k(yijlnexp(θjTxi)∑t=1kexp(θjTxi))-\sum_{i=1}^l\sum_{j=1}^k(y_{ij}\ ln\frac{\rm{exp}{(\theta}_j^T\mathbf{x}_i)}{\sum_{t=1}^k\rm{exp}(\theta_j^T\mathbf{x}_i)}) ?i=1∑l?j=1∑k?(yij??ln∑t=1k?exp(θjT?xi?)exp(θjT?xi?)?)
最大化對數似然函數等價于最小化交叉熵損失函數。softmax 回歸在訓練時的目標就是使得模型預測出的分布與真實標簽的概率分布的交叉熵最小化。
變分推斷
貝葉斯公式+KL散度=變分推斷
貝葉斯分類器是貝葉斯推斷的簡單特例,它們的目標是計算出已知觀測變量 x\mathbf{x}x 時因變量 z\mathbf{z}z 的后驗概率 p(z∣x)p(\mathbf{z}|\mathbf{x})p(z∣x) ,從而完成因果推斷:
p(z∣x)=p(x∣z)p(z)p(x)p(\mathbf{z|x})=\frac{p(\mathbf{x|z})p(\mathbf{z})}{p(\mathbf{x})} p(z∣x)=p(x)p(x∣z)p(z)?
觀測變量 x\mathbf{x}x 的值是已知的,例如可以使樣本的特征向量。隱變量的值 z\mathbf{z}z 是不能直接觀察到的,例如樣本的類別。
這里面臨的一個問題是上式中分母的 p(x)p(\mathbf{x})p(x) 難以計算,如果 x\mathbf{x}x 是高維隨機向量,計算這個分母涉及到計算高維聯合概率密度函數 p(x,z)p(\mathbf{x},\mathbf{z})p(x,z) 的積分:
p(z∣x)=p(x∣z)p(z)∫zp(x∣z)p(z)dzp(\mathbf{z|x})=\frac{p(\mathbf{x|z})p(\mathbf{z})}{\int_\mathbf{z}p(\mathbf{x|z)}p(\mathbf{z})d\mathbf{z}} p(z∣x)=∫z?p(x∣z)p(z)dzp(x∣z)p(z)?
既然精確地計算很困難,人們就想到了一個聰明的解決辦法:我們能不能找出一個概率分布 q(z)q(\mathbf{z})q(z) 來近似替代 p(z∣x)p(\mathbf{z|x})p(z∣x),只要二者很相似就可以。找到這個近似概率分布 q(z)q(\mathbf{z})q(z) 的依據是它與 p(z∣x)p(\mathbf{z|x})p(z∣x) 的KL散度最小化,因為KL散度衡量了兩個概率分布之間的差異。KL散度越大,兩個概率分布的差異越大;如果這兩個概率分布完全相等,KL散度的值為 0。由此得到了變分推斷的核心公式:
lnp(x)=DKL(q(z)∣∣p(z∣x))?∫zq(z)ln?q(z)p(z,x)dz=DKL(q(z)∣∣p(z∣x))+L(q(z))\begin{align} ln\ p(\mathbf{x})&=D_{KL}(q(\mathbf{z})||p(\mathbf{z|x}))-\int_\mathbf{z}q(\mathbf{z})\ln\frac{q(\mathbf{z})}{p(\mathbf{z},\mathbf{x})}d\mathbf{z}\\ &=D_{KL}(q(\mathbf{z})||p(\mathbf{z|x}))+L(q(\mathbf{z})) \end{align} ln?p(x)?=DKL?(q(z)∣∣p(z∣x))?∫z?q(z)lnp(z,x)q(z)?dz=DKL?(q(z)∣∣p(z∣x))+L(q(z))??
ln?p(x)\ln\ p(\mathbf{x})ln?p(x) 是一個常數,因此最小化二者的KL散度等價于最大化證據下界函數L(q(z))L(q\mathbf{(z}))L(q(z))。這個下界函數通常易于優化,我們由此可以確定 q(z)q(\mathbf{z})q(z)。實際實現時,通常假定 q(z)q(\mathbf{z})q(z) 為正態分布,因為正態分布具有諸多優良的性質。我們也可以從變分推斷的角度來解釋EM算法。
高斯過程回歸
高斯過程回歸聽起來很玄乎,實際上非常簡單。有一組隨機變量,假設它們服從多維正態分布,那么它們就構成了高斯過程,任意增加一個變量之后,還是服從正態分布。多維正態分布有著非常好的性質,我們可以直接得到它的邊緣分布、條件分布的解析表達式。
高斯過程回歸,就是假設我們要預測的函數在任意各個點 xxx 處的函數值 f(x)f(x)f(x) 形成一個高斯過程。根據高斯過程的性質,給定一組樣本值 xxx 以及他們對應的函數值 f(x)f(x)f(x) ,我們可以得到任意點處的函數值的概率分布,當然,這是一個正態分布,它的均值和方差分別為:
μ=kTK?1(f(x1:t)?μ(x1:t))+μ(xt+1)σ2=k(xt+1,xt+1)kTK?1k\mu=\mathbf{k}^T\mathbf{K}^{-1}(f(\mathbf{x}_{1:t})-\mu(\mathbf{x}_{1:t}))+\mu(\mathbf{x}_{t+1})\\ \sigma^2=k(\mathbf{x}_{t+1},\mathbf{x}_{t+1})\mathbf{k}^T\mathbf{K}^{-1}\mathbf{k} μ=kTK?1(f(x1:t?)?μ(x1:t?))+μ(xt+1?)σ2=k(xt+1?,xt+1?)kTK?1k
得到函數在任意點處的函數值的概率分布之后,我們可以做很多事情。高斯過程回歸是貝葉斯優化的核心模塊之一。
無監督學習
SNE降維算法
正態分布+KL散度=SNE
隨機近鄰嵌入(SNE)是一種基于概率的流形降維算法,將向量組
xi,i=1,…,l\mathbf{x}_i,\ \ i=1,\dots,l xi?,??i=1,…,l
變換到低維空間,得到向量組
yi,i=1,…,l\mathbf{y}_i,\ \ i=1,\dots,l yi?,??i=1,…,l
它基于如下思想:在高維空間中距離很近的點投影到低維空間中之后也要保持這種近鄰關系,在這里距離通過概率體現。假設在高維空間中有兩個點樣本點 xi\mathbf{x}_ixi? 和 xj\mathbf{x}_jxj? ,xj\mathbf{x}_jxj? 以 pj∣ip_{j|i}pj∣i? 的概率作為 xi\mathbf{x}_ixi? 的鄰居,借助于正態分布,此概率的計算公式為:
pj∣i=exp(?∣∣xi?xj∣∣2/2σi2)∑k≠iexp(?∣∣xi?xk∣∣2/2σi2)p_{j|i}=\frac{\rm{exp}(-||\mathbf{x}_i-\mathbf{x}_j||^2/2\sigma_i^2)}{\sum_{k\ne i}\rm{exp}(-||\mathbf{x}_i-\mathbf{x}_k||^2/2\sigma_i^2)} pj∣i?=∑k=i?exp(?∣∣xi??xk?∣∣2/2σi2?)exp(?∣∣xi??xj?∣∣2/2σi2?)?
投影到低維空間之后仍然要保持這個概率關系。假設 xi\mathbf{x}_ixi? 和 xj\mathbf{x}_jxj? 投影之后對應的點為 yi\mathbf{y}_iyi? 和 yj\mathbf{y}_jyj? ,在低維空間中對應的近鄰概率記為:qj∣iq_{j|i}qj∣i?,計算公式與上面的相同,也使用了正態分布
qj∣i=exp(?∣∣yi?yj∣∣2)∑k≠iexp(?∣∣yi?yk∣∣2)q_{j|i}=\frac{\rm{exp}(-||\mathbf{y}_i-\mathbf{y}_j||^2)}{\sum_{k\ne i}\rm{exp}(-||\mathbf{y}_i-\mathbf{y}_k||^2)} qj∣i?=∑k=i?exp(?∣∣yi??yk?∣∣2)exp(?∣∣yi??yj?∣∣2)?
如果考慮所有其他點,這些概率值構成一個離散型概率分布 pip_ipi? ,是所有樣本點稱為 xi\mathbf{x}_ixi? 鄰居的概率。在低維空間中對應的概率分布為 qiq_iqi? ,投影的目標是這兩個概率的分布盡可能接近。需要衡量兩個概率分布之間的相似度。這里用KL散度衡量兩個多項分布之間的差距。由此得到投影的目標為最小化如下函數:
L(yi)=∑i=1lDKL(pi∣qi)=∑i=1l∑j=1lpj∣iln?pj∣iqj∣iL(\mathbf{y}_i)=\sum_{i=1}^lD_{KL}(p_i|q_i)=\sum_{i=1}^l\sum_{j=1}^lp_{j|i}\ln\frac{p_{j|i}}{q_{j|i}} L(yi?)=i=1∑l?DKL?(pi?∣qi?)=i=1∑l?j=1∑l?pj∣i?lnqj∣i?pj∣i??
最小化該目標函數就可以得到降維之后的結果。
t-SNE降維算法
t分布 + KL散度 = t-SNE
t-SNE是SNE的改進版本。其中一個核心改進是將正態分布替換為t分布,t分布具有長尾的特性,在遠離概率密度函數中點處依然有較大的概率密度函數值,因此更易于產生遠離中心的樣本,從而能夠更好的處理離群樣本點。
高斯混合模型
多項分布 + 正態分布 = 高斯混合模型
正態分布具有很多良好的性質,在應用問題中我們通常假設隨機變量服從正態分布。不幸的是,單個高斯分布的建模能力有限,無法擬合多峰分布(概率密度函數有多個極值),如果將多個高斯分布組合起來使用則表示能力大為提升,這就是高斯混合模型。
高斯混合模型(GMM)通過多個正態分布的加權和來定義一個連續型隨機變量的概率分布,其概率密度函數定義為:
p(x)=∑i=1kwiN(x;μi,Σi)p(\mathbf{x})=\sum_{i=1}^kw_iN(\mathbf{x};\mathbf{\mu}_i,\Sigma_i) p(x)=i=1∑k?wi?N(x;μi?,Σi?)
GMM可以看做是多項分布與高斯分布的結合,首先從 kkk 個高斯分布中隨機的選擇一個,選中每一個的概率為 wiw_iwi?,然后用該高斯分布產生出樣本 x\mathbf{x}x。這里用隱變量 z\mathbf{z}z 來指示選擇的是哪個高斯分布。高斯混合模型的參數通過最大似然估計得到,由于有隱變量的存在,無法像高斯分布那樣直接得到對數似然函數極值點的解析解,需要使用EM算法。
Mean shift算法
核密度估計 + 梯度下降法 = Mean shift算法
很多時候我們無法給出概率密度函數的顯式表達式,此時可以使用核密度估計。核密度估計(KDE)也稱為Parzen窗技術,是一種非參數方法,它無需求解概率密度函數的參數,而是用一組標準函數的疊加表示概率密度函數。
p(x)=1nhd∑i=1nK(x?xih)p(\mathbf{x})=\frac{1}{nh^d}\sum_{i=1}^nK(\frac{\mathbf{x}-\mathbf{x}_i}{h}) p(x)=nhd1?i=1∑n?K(hx?xi??)
對于聚類,圖像分割,目標跟蹤等任務,我們需求概率密度函數的極值。均值漂移算法可以找到上面這種形式的概率密度函數的極大值點,是核密度估計與梯度上升法(與梯度下降法相反,用于求函數的極大值)相結合的產物。對上面的概率密度函數求梯度,可以得到下面的梯度計算公式
mh,G(x)=∑i=1nxig(∣∣x?xih∣∣2)∑i=1ng(∣∣x?xih∣∣2)\mathbf{m}_{h,G}(\mathbf{x})=\frac{\sum_{i=1}^n\mathbf{x}_ig(||\frac{\mathbf{x}-\mathbf{x}_i}{h}||^2)}{\sum_{i=1}^ng(||\frac{\mathbf{x}-\mathbf{x}_i}{h}||^2)} mh,G?(x)=∑i=1n?g(∣∣hx?xi??∣∣2)∑i=1n?xi?g(∣∣hx?xi??∣∣2)?
這個向量也稱為均值漂移向量。由此可以得到梯度上升法的迭代公式
xt+1=xt+mt\mathbf{x}_{t+1}=\mathbf{x}_t+\mathbf{m}_t xt+1?=xt?+mt?
均值漂移算法簡單而優美,當年在目標跟蹤領域取得了令人刮目相看的效果。
概率圖模型
概率論 + 圖論 = 概率圖模型
概率圖模型是概率論與圖論相結合的產物。它用圖表示隨機變量之間的概率關系,對聯合概率或條件概率建模。在這種圖中,頂點是隨機變量,邊為變量之間的依賴關系。如果是有向圖,則稱為概率有向圖模型;如果是無向圖,則稱為概率無向圖模型。概率有向圖模型的典型代表是貝葉斯網絡,概率無向圖模型的典型代表是馬爾可夫隨機場。使用貝葉斯網絡可以實現因果推理。
隱馬爾可夫模型
馬爾可夫鏈 + 觀測變量 = 隱馬爾可夫模型
馬爾可夫過程是隨機過程的典型代表。這種隨機過程為隨著時間進行演化的一組隨機變量進行建模,假設系統在當前時刻的狀態值只與上一個時刻有關,與更早的時刻無關,稱為“無記憶性”。
有些實際應用中不能直接觀察到系統的狀態值,狀態的值是隱含的,只能得到一組稱為觀測的值。為此對馬爾可夫模型進行擴充,得到隱馬爾可夫模型(HMM)。隱馬爾可夫模型描述了觀測變量和狀態變量之間的概率關系。與馬爾可夫模型相比,隱馬爾可夫模型不僅對狀態建模,而且對觀測值建模。不同時刻的狀態值之間,同一時刻的狀態值和觀測值之間,都存在概率關系。
隱馬爾可夫模型可以表示為五元組:
{S,V,π,A,B}\{S,V,\mathbf{\pi},\mathbf{A},\mathbf{B}\} {S,V,π,A,B}
其中 SSS 為狀態集合,VVV 為觀測集合,π\piπ 是初始狀態的概率分布,A\mathbf{A}A 是狀態轉移矩陣,B\mathbf{B}B 是觀測矩陣。
受限玻爾茲曼機
玻爾茲曼分布 + 二部圖 = 受限玻爾茲曼機
受限玻爾茲曼機(RBM)是一種特殊的神經網絡,其網絡結構為二部圖。這是一種隨機神經網絡。在這種模型中,神經元的輸出值是以隨機的方式確定的,而不像其他的神經網絡那樣是確定性的。
受限玻爾茲曼機的變量(神經元)分為可見變量和隱藏變量兩種類型,并定義了它們服從的概率分布。可見變量是神經網絡的輸入數據,如圖像;隱藏變量可以看作是從輸入數據中提取的特征。在受限玻爾茲曼機中,可見變量和隱藏變量都是二元變量,其取值只能為 0 或 1,整個神經網絡是一個二部圖。
二部圖的兩個子集分別為隱藏節點集合和可見節點集合,只有可見單元和隱藏單元之間才會存在邊,可見單元之間以及隱藏單元之間都不會有邊連接。隱變量和可見變量的取值服從下面的玻爾茲曼分布:
p(x)=e?energy(x)Zp(x)=\frac{e^{-energy(x)}}{Z} p(x)=Ze?energy(x)?
數據生成問題
數據生成模型以生成圖像、聲音、文字等數據為目標,生成的數據服從某種未知的概率分布,具有隨機性。假設要生成貓、狗的圖像,算法輸出隨機向量 x\mathbf{x}x ,該向量由圖像的所有像素拼接而成,每類樣本 x\mathbf{x}x 都服從各自的概率分布,定義了所有像素值的約束。例如對于狗來說,如果看上去要像真實的狗,則每個位置處的像素值必須滿足某些約束條件,且哥哥同位置處的像素值之間存在相關性。算法生成的樣本 x\mathbf{x}x 要有較高的概率值 p(x)p(\mathbf{x})p(x) ,即像真的樣本。
數據生成模型通常通過分布變換實現,原理很簡單:對服從簡單的概率分布(如正態分布,均勻分布)的數據數 z\mathbf{z}z 進行映射,得到一個新的隨機變量 g(z)g(\mathbf{z})g(z),這個隨機變量服從我們想要的那種概率分布。問題的核心是如何找到這個映射 g(z)g(\mathbf{z})g(z)。深度生成模型的典型代表-生成對抗網絡,以及變分自動編碼器,通過不同的路徑實現了這一功能。
生成對抗網絡
概率分布變換(生成器) + 二分類器(判別器) = 生成對抗網絡
生成對抗網絡由一個生成模型和一個判別模型組成。生成模型用于學習真實樣本數據的概率分布,并直接生成符合這種分布的數據,實現分布變換函數 g(z)g(\mathbf{z})g(z);判別模型的任務是判斷一個輸入樣本數據是真實樣本還是由生成模型生成的,即對生成模型生成的樣本進行評判,以指導生成模型的訓練。在訓練時,兩個模型不斷競爭,從而分別提高它們的生成能力和判別能力。訓練時要優化的目標函數定義為:
minGmaxDV(D,G)=Ex~pdata(x)[ln?(1?D(G(z)))]min_G\ max_D\ V(D,G)=\mathbb{E}_{\mathbf{x}\sim p_{data}(\mathbf{x})}[\ln(1-D(G(\mathbf{z})))] minG??maxD??V(D,G)=Ex~pdata?(x)?[ln(1?D(G(z)))]
訓練完成之后,生成模型就可以用來生成樣本了,它的輸入是隨機變量 z\mathbf{z}z ,從而保證了生成的樣本具有隨機性。可以證明,當且僅當生成器所實現的概率分布與樣本的真實概率分布相等時上面的目標函數取得極小值 pg=pdatap_g=p_{data}pg?=pdata? 。
從理論上來說,是使得生成器生成的樣本的概率分布與真實樣本的概率分布的KL散度最小化。
變分自動編碼器
變分推斷 + 神經網絡 = 變分自動編碼器
變分自動編碼器(VAE)是變分推斷與神經網絡相結合的產物。整個系統遵循自動編碼器的結構,由編碼器和解碼器構成。在訓練時,編碼器將訓練樣本 x\mathbf{x}x 映射成隱變量 z\mathbf{z}z 所服從的概率分布的參數,然后從此概率分布進行采樣得到隱變量 z\mathbf{z}z,解碼器則將隱變量 z\mathbf{z}z 映射回樣本變量 x\mathbf{x}x,即進行重構。這種方法在標準自動編碼器的基礎上加入了隨機性,從而保證可以輸出帶有隨機性的數據。
訓練時優化的目標為:
ln?p(x)?DKL[q(z∣x)∣∣p(z∣x)]=Ez~q[ln?p(x∣z)]?DKL[q(z∣x)∣∣p(z∣x)]\ln p(\mathbf{x})-D_{KL}[q(\mathbf{z|x})\ ||\ p(\mathbf{z|x})]=\mathbb{E}_{\mathbf{z}\sim q}[\ln p(\mathbf{x|z})]-D_{KL}[q(\mathbf{z|x})\ ||\ p(\mathbf{z|x})] lnp(x)?DKL?[q(z∣x)?∣∣?p(z∣x)]=Ez~q?[lnp(x∣z)]?DKL?[q(z∣x)?∣∣?p(z∣x)]
q(z∣x)q(\mathbf{z|x})q(z∣x) 充當編碼器的角色,將 x\mathbf{x}x 編碼為 z\mathbf{z}z 。給定一個 x\mathbf{x}x ,輸出其對應的隱變量的概率分布。編碼器的輸出為隱變量所服從分布的均值和方,而非隱變量本身。p(x∣z)p(\mathbf{x|z})p(x∣z) 充當解碼器,從 z\mathbf{z}z 重構出 x\mathbf{x}x 。
強化學習
馬爾可夫決策過程
馬爾可夫過程 + 動作 + 獎勵 = 馬爾可夫決策過程
馬爾可夫決策過程(MDP)是強化學模型的抽象,是對馬爾可夫過程的擴充,在它的基礎上加入了動作和獎勵,動作可以影響系統的狀態,獎勵用于指導智能體學習正確的行為,是對動作的反饋。
在每個時刻智能體觀察環境,得到一組狀態值,然后根據狀態來決定執行什么動作。執行動作之后,系統給智能體一個反饋,稱為回報或獎勵。回報的作用是告訴智能體之前執行的動作所導致的結果的好壞。
MDP可以抽象成一個五元組:
{S,A,p,r,γ}\{S,A,p,r,\gamma\} {S,A,p,r,γ}
其中 SSS 為狀態空間,AAA 為動作空間,ppp 為狀態轉移概率,rrr 為回報函數, γ\gammaγ 是折扣因子。從 0 時刻起,智能體在每個狀態下執行動作,轉入下一個狀態,同時收到一個立即回報。這一演化過程如下所示:
在這里,狀態轉移概率用于對不確定性進行建模,即使當前時刻的狀態值,當前時刻要執行的動作是確定的,但下一個時刻轉讓何種狀態,是具有隨機性的。