机器学习 [白板推导](六)[核方法、指数族分布]
7. 核方法
7.1. 背景
对于严格线性可分问题,感知机、SVM等算法都可以提供很好的解决方案,但对于非线性分类问题,需要一个非线性转换来将其变为线性问题。
高维空间往往比低维空间更容易线性可分,因此可以通过一些非线性变换将已知维度计算出新的维度,便有可能将非线性问题变为线性问题。
然而在实际问题中,可以将非线性问题转化为线性问题的变换函数 ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x) 可能是非常复杂的,而根据概率派思想,将一个问题最终看做一个优化问题,则往往需要计算内积,如 ( ϕ ( x ⃗ i ) − ϕ ( x ⃗ ˉ ) ) T ( ϕ ( x ⃗ j ) − ϕ ( x ⃗ ˉ ) ) \left (\phi(\vec{x}_i) - \phi(\bar{\vec{x}}) \right )^T\left (\phi(\vec{x}_j) - \phi(\bar{\vec{x}}) \right ) (ϕ(xi)−ϕ(xˉ))T(ϕ(xj)−ϕ(xˉ)),这会给优化带来非常可怕的复杂度。
事实上,我们所关心的是最终的内积的值,而不需要 ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x) 的结果,因此如果有一个函数可以一步得到内积,即 K ( x ⃗ i , x ⃗ j ) ≡ ( ϕ ( x ⃗ i ) − ϕ ( x ⃗ ˉ ) ) T ( ϕ ( x ⃗ j ) − ϕ ( x ⃗ ˉ ) ) K(\vec{x}_i, \vec{x}_j) \equiv \left (\phi(\vec{x}_i) - \phi(\bar{\vec{x}}) \right )^T\left (\phi(\vec{x}_j) - \phi(\bar{\vec{x}}) \right ) K(xi,xj)≡(ϕ(xi)−ϕ(xˉ))T(ϕ(xj)−ϕ(xˉ)),无需计算 ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x) 即可直接得到内积结果,就可以很大程度简化优化的难度,因此核方法诞生了, K ( x ⃗ i , x ⃗ j ) K(\vec{x}_i, \vec{x}_j) K(xi,xj) 即为(正定)核函数。
7.2. 定义
核:若存在函数 K K K 使得 K : X × X → R K:X \times X\rightarrow \mathbb{R} K:X×X→R,其中 X X X 为特征空间, R \mathbb{R} R为全体实数域,则称 K K K 为核函数。
正定核:对于一个核函数 K K K,若存在非线性变换 ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x)( ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x)属于希尔伯特空间,希尔伯特空间指完备的、可能是无限维的、被赋予内积的线性空间),使得 K ( x ⃗ i , x ⃗ j ) ≡ ϕ ( x ⃗ i ) T ϕ ( x ⃗ j ) K(\vec{x}_i, \vec{x}_j) \equiv \phi(\vec{x}_i) ^T\phi(\vec{x}_j) K(xi,xj)≡ϕ(xi)Tϕ(xj),换言之任意N个样本的Gram矩阵 [ K ( x ⃗ 1 , x ⃗ 1 ) K ( x ⃗ 1 , x ⃗ 2 ) ⋯ K ( x ⃗ 1 , x ⃗ N ) K ( x ⃗ 2 , x ⃗ 1 ) K ( x ⃗ 2 , x ⃗ 2 ) ⋯ K ( x ⃗ 2 , x ⃗ N ) ⋮ ⋮ ⋱ ⋮ K ( x ⃗ N , x ⃗ 1 ) K ( x ⃗ N , x ⃗ 2 ) ⋯ K ( x ⃗ N , x ⃗ N ) ] \begin{bmatrix} K(\vec{x}_1, \vec{x}_1) & K(\vec{x}_1, \vec{x}_2) & \cdots & K(\vec{x}_1, \vec{x}_N)\\ K(\vec{x}_2, \vec{x}_1) & K(\vec{x}_2, \vec{x}_2) & \cdots & K(\vec{x}_2, \vec{x}_N)\\ \vdots & \vdots & \ddots &\vdots \\ K(\vec{x}_N, \vec{x}_1) & K(\vec{x}_N, \vec{x}_2) & \cdots & K(\vec{x}_N, \vec{x}_N) \end{bmatrix} K(x1,x1)K(x2,x1)⋮K(xN,x1)K(x1,x2)K(x2,x2)⋮K(xN,x2)⋯⋯⋱⋯K(x1,xN)K(x2,xN)⋮K(xN,xN) 是半正定的,则称 K K K 为正定核函数。
8. 指数族分布
8.1. 背景
指数族分布的定义式: p ( x ⃗ ∣ η ⃗ ) = h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) − A ( η ⃗ ) } p(\vec{x}\ |\ \vec{\eta})=h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x})-A(\vec{\eta}) \right \} p(x ∣ η)=h(x)⋅exp{ηT⋅ϕ(x)−A(η)},其中:
- η ⃗ \vec{\eta} η 为参数向量。
- A ( η ⃗ ) A(\vec{\eta}) A(η) 为对数配分函数(log partition function),配分函数表示包含了所有状态信息的函数,常用于归一化等用途,例如将某函数 p ^ ( x ⃗ ∣ θ ⃗ ) \hat{p}(\vec{x}\ |\ \vec{\theta}) p^(x ∣ θ) 归一化为概率分布,可以设 z = ∫ p ^ ( x ⃗ ∣ θ ⃗ ) z=\int \hat{p}(\vec{x}\ | \ \vec{\theta}) z=∫p^(x ∣ θ),则 p ( x ⃗ ∣ θ ⃗ ) = 1 z p ^ ( x ⃗ ∣ θ ⃗ ) p(\vec{x} \ | \ \vec{\theta})=\frac{1}{z}\hat{p}(\vec{x}\ |\ \vec{\theta}) p(x ∣ θ)=z1p^(x ∣ θ) 可以使 ∫ p ( x ⃗ ∣ θ ⃗ ) = 1 \int p(\vec{x} \ | \ \vec{\theta})=1 ∫p(x ∣ θ)=1,即被归一化为概率分布。在指数族分布中, p ( x ⃗ ∣ η ⃗ ) = h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) } ⋅ / exp { A ( η ⃗ ) } p(\vec{x}\ |\ \vec{\eta})=h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x}) \right \}\cdot /\exp\left \{A(\vec{\eta}) \right \} p(x ∣ η)=h(x)⋅exp{ηT⋅ϕ(x)}⋅/exp{A(η)},则 z = exp { A ( η ⃗ ) } , A ( η ⃗ ) = log z z = \exp\left \{ A(\vec{\eta})\right \},A(\vec{\eta})=\log z z=exp{A(η)},A(η)=logz 即为对数配方函数。
- ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x)代表充分统计量,即对于一组数据 { x ⃗ i } 1 ≤ i ≤ N \left \{ \vec{x}_i \right \}_{1\leq i\leq N} {xi}1≤i≤N, ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x) 包含了其所有统计信息,例如 ϕ ( x ⃗ ) = [ E ( x ⃗ ) , D ( x ⃗ ) ] \phi (\vec{x})=\left [ E(\vec{x}), D(\vec{x}) \right ] ϕ(x)=[E(x),D(x)] 等等。
指数族分布的特点(学完概率图模型和变分推断后补)
8.2. 高斯分布的指数族分布推导
对于一组符合一维高斯分布的数据,设参数为 θ ⃗ = [ μ , σ 2 ] \vec{\theta}=[\mu , \sigma^2] θ=[μ,σ2],其概率密度函数为:
p ( x ∣ θ ) = 1 2 π ⋅ σ exp { − ( x − μ ) 2 2 σ 2 } = exp { − 1 2 log ( 2 π ⋅ σ 2 ) } ⋅ exp { − 1 2 σ 2 ( x 2 − 2 μ ⋅ x ) − μ 2 2 σ 2 } = exp { [ μ σ 2 − 1 2 σ 2 ] ⋅ [ x x 2 ] − ( μ 2 2 σ 2 + 1 2 log ( 2 π ⋅ σ 2 ) ) } . (8.1) \begin{aligned} p(x|\theta)&=\frac{1}{\sqrt{2\pi}\cdot\sigma}\exp\left \{ -\frac{(x-\mu)^2}{2\sigma^2} \right \}\\ &=\exp\left \{ -\frac{1}{2}\log(2\pi\cdot\sigma^2) \right \}\cdot \exp\left \{ -\frac{1}{2\sigma^2}(x^2-2\mu \cdot x) - \frac{\mu^2}{2\sigma^2} \right \}\\ &=\exp\left \{ \left [\begin{matrix} \frac{\mu}{\sigma^2} & -\frac{1}{2\sigma^2} \end{matrix} \right ]\cdot\left [ \begin{matrix} x\\ x^2 \end{matrix} \right ] - \left (\frac{\mu^2}{2\sigma^2} +\frac{1}{2}\log(2\pi\cdot\sigma^2) \right )\right \}.\tag{8.1} \end{aligned} p(x∣θ)=2π⋅σ1exp{−2σ2(x−μ)2}=exp{−21log(2π⋅σ2)}⋅exp{−2σ21(x2−2μ⋅x)−2σ2μ2}=exp{[σ2μ−2σ21]⋅[xx2]−(2σ2μ2+21log(2π⋅σ2))}.(8.1)
因此可得: η ⃗ = [ μ σ 2 − 1 2 σ 2 ] T , η 1 = μ σ 2 , η 2 = − 1 2 σ 2 \vec{\eta}=\left [\begin{matrix} \frac{\mu}{\sigma^2} & -\frac{1}{2\sigma^2} \end{matrix} \right ]^T,\eta_1=\frac{\mu}{\sigma^2},\eta_2=-\frac{1}{2\sigma^2} η=[σ2μ−2σ21]T,η1=σ2μ,η2=−2σ21,同时 ϕ ( x ) = [ x x 2 ] T \phi(x)=\left [ \begin{matrix} x & x^2 \end{matrix} \right ] ^T ϕ(x)=[xx2]T, A ( η ⃗ ) = μ 2 2 σ 2 + 1 2 log ( 2 π ⋅ σ 2 ) = − η 1 2 4 η 2 + 1 2 log ( − π η 2 ) A(\vec{\eta})=\frac{\mu^2}{2\sigma^2} +\frac{1}{2}\log(2\pi\cdot\sigma^2) =-\frac{\eta_1^2}{4\eta_2}+\frac{1}{2}\log(-\frac{\pi}{\eta_2}) A(η)=2σ2μ2+21log(2π⋅σ2)=−4η2η12+21log(−η2π),即得到了一维高斯分布的指数族分布形式。
8.3. 关于对数配分函数的一些结论
由于 p ( x ⃗ ∣ η ⃗ ) = h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) } / exp { A ( η ⃗ ) } p(\vec{x}\ |\ \vec{\eta})=h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x}) \right \}/\exp\left \{ A(\vec{\eta})\right \} p(x ∣ η)=h(x)⋅exp{ηT⋅ϕ(x)}/exp{A(η)},可得 exp { A ( η ⃗ ) } ⋅ p ( x ⃗ ∣ η ⃗ ) = h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) } \exp\left \{ A(\vec{\eta})\right \}\cdot p(\vec{x}\ |\ \vec{\eta})=h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x}) \right \} exp{A(η)}⋅p(x ∣ η)=h(x)⋅exp{ηT⋅ϕ(x)}.
再两边积分可得: ∫ exp { A ( η ⃗ ) } ⋅ p ( x ⃗ ∣ η ⃗ ) d x ⃗ = exp { A ( η ⃗ ) } = ∫ h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) } d x ⃗ \int \exp\left \{ A(\vec{\eta})\right \}\cdot p(\vec{x}\ |\ \vec{\eta})d\vec{x}=\exp\left \{ A(\vec{\eta})\right \}=\int h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x}) \right \}d\vec{x} ∫exp{A(η)}⋅p(x ∣ η)dx=exp{A(η)}=∫h(x)⋅exp{ηT⋅ϕ(x)}dx.
两边对 η ⃗ \vec{\eta} η 求导为: exp { A ( η ⃗ ) } ⋅ A ′ ( η ⃗ ) = ∫ h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) } ⋅ ϕ ( x ⃗ ) d x ⃗ \exp\left \{ A(\vec{\eta})\right \}\cdot A'(\vec{\eta})=\int h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x}) \right \}\cdot \phi(\vec{x}) d\vec{x} exp{A(η)}⋅A′(η)=∫h(x)⋅exp{ηT⋅ϕ(x)}⋅ϕ(x)dx。
因此 A ′ ( η ⃗ ) = ∫ [ h ( x ⃗ ) ⋅ exp { η ⃗ T ⋅ ϕ ( x ⃗ ) } / exp { A ( η ⃗ ) } ] ⋅ ϕ ( x ⃗ ) d x ⃗ = ∫ p ( x ⃗ ∣ η ⃗ ) ⋅ ϕ ( x ⃗ ) d x ⃗ = E p ( x ⃗ ∣ η ⃗ ) [ ϕ ( x ⃗ ) ] A'(\vec{\eta})=\int \left [h(\vec{x})\cdot \exp\left \{\vec{\eta}^T\cdot \phi(\vec{x}) \right \}/\exp\left \{ A(\vec{\eta})\right \} \right ] \cdot \phi(\vec{x}) d\vec{x}=\int p(\vec{x}|\vec{\eta}) \cdot \phi(\vec{x}) d\vec{x}=E_{p(\vec{x} | \vec{\eta})}[\phi(\vec{x}) ] A′(η)=∫[h(x)⋅exp{ηT⋅ϕ(x)}/exp{A(η)}]⋅ϕ(x)dx=∫p(x∣η)⋅ϕ(x)dx=Ep(x∣η)[ϕ(x)].
进一步也可推导得 A ′ ′ ( η ⃗ ) = D p ( x ⃗ ∣ η ⃗ ) [ ϕ ( x ⃗ ) ] A''(\vec{\eta})=D_{p(\vec{x}\ |\ \vec{\eta})}[\phi(\vec{x}) ] A′′(η)=Dp(x ∣ η)[ϕ(x)],推导过程略。
8.4. 最大熵角度解读指数族分布
概率的信息量: − log p -\log p −logp.
熵的定义:信息量的期望,即 E p [ − log p ] = ∫ − p ( x ) ⋅ log p ( x ) d x E_{p}[-\log p]=\int -p(x)\cdot \log p(x)dx Ep[−logp]=∫−p(x)⋅logp(x)dx 或 E p [ − log p ] = − ∑ x p ( x ) log p ( x ) E_{p}[-\log p]=-\sum_xp(x)\log p(x) Ep[−logp]=−∑xp(x)logp(x).
最大熵:令熵值最大的概率分布情况,通常分布越趋向于等可能/均匀分布,熵值越大,因此最大熵也是等可能的量化分析。
对于一组离散变量的数据,其分布未知,但可以用经验分布代替,即 p ^ ( x ) = c o u n t ( x ) N \hat{p}(x)=\frac{count(x)}{N} p^(x)=Ncount(x),同时设一向量函数 f ⃗ ( x ) = [ f 1 ( x ) f 2 ( x ) ⋯ f Q ( x ) ] \vec{f}(x)=[\begin{matrix} f_1(x) & f_2(x) & \cdots & f_Q(x) \end{matrix}] f(x)=[f1(x)f2(x)⋯fQ(x)],则可以对其求期望 E p ^ [ f ⃗ ( x ) ] = Δ ⃗ E_{\hat{p}}[\vec{f}(x)]=\vec{\Delta } Ep^[f(x)]=Δ,因此可以将最大熵问题设为一个优化问题,即 { min ∑ x p ( x ) log p ( x ) s.t. ∑ x p ( x ) = 1 , E p [ f ⃗ ( x ) ] = E p ^ [ f ⃗ ( x ) ] = Δ ⃗ \left\{\begin{matrix} \min \sum_xp(x)\log p(x)\\ \textbf{s.t.}\ \sum_xp(x)=1,\ \ E_p[\vec{f}(x)]=E_{\hat{p}}[\vec{f}(x)]=\vec{\Delta} \end{matrix}\right. {min∑xp(x)logp(x)s.t. ∑xp(x)=1, Ep[f(x)]=Ep^[f(x)]=Δ.
使用拉格朗日乘数法求解 L ( p , λ 0 , λ ⃗ ) = ∑ x p ( x ) log p ( x ) + λ 0 [ 1 − ∑ x p ( x ) ] + λ ⃗ T ( Δ ⃗ − E p [ f ⃗ ( x ) ] ) \mathcal{L}(p,\lambda_0, \vec{\lambda})=\sum_xp(x)\log p(x)+\lambda_0[1-\sum_xp(x)]+\vec{\lambda}^T(\vec{\Delta}-E_p[\vec{f}(x)]) L(p,λ0,λ)=∑xp(x)logp(x)+λ0[1−∑xp(x)]+λT(Δ−Ep[f(x)]),,对 p ( x ) p(x) p(x) 求导得 ∂ L ∂ p = ∑ x ( log p + 1 ) − ∑ x λ 0 − ∑ x λ ⃗ T f ⃗ ( x ) \frac{\partial \mathcal{L} }{\partial p}=\sum_x(\log p+1)-\sum_x\lambda_0-\sum_x\vec{\lambda}^T\vec{f}(x) ∂p∂L=∑x(logp+1)−∑xλ0−∑xλTf(x),令其为0,则解得 p ( x ) = exp { λ ⃗ T f ⃗ ( x ) + λ 0 − 1 } p(x)=\exp\{ \vec{\lambda}^T\vec{f}(x)+\lambda_0-1 \} p(x)=exp{λTf(x)+λ0−1},因此当 f ⃗ ( x ) = ϕ ( x ) \vec{f}(x)=\phi(x) f(x)=ϕ(x) 时,可以令 η ⃗ = λ ⃗ \vec{\eta}=\vec{\lambda} η=λ, h ( x ) ⋅ exp { − A ( η ⃗ ) } = exp { λ 0 − 1 } h(x)\cdot \exp\{ -A(\vec{\eta}) \}=\exp\{ \lambda_0-1 \} h(x)⋅exp{−A(η)}=exp{λ0−1},此时 p ( x ) p(x) p(x) 为指数族分布。