机器学习 [白板推导](六)[核方法、指数族分布]

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 ) (ϕ(x i)−ϕ(x ˉ))T(ϕ(x j)−ϕ(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(x i,x j)≡(ϕ(x i)−ϕ(x ˉ))T(ϕ(x j)−ϕ(x ˉ)),无需计算 ϕ ( x ⃗ ) \phi (\vec{x}) ϕ(x ) 即可直接得到内积结果,就可以很大程度简化优化的难度,因此核方法诞生了, K ( x ⃗ i , x ⃗ j ) K(\vec{x}_i, \vec{x}_j) K(x i,x j) 即为(正定)核函数

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(x i,x j)≡ϕ(x i)Tϕ(x j),换言之任意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(x 1,x 1)K(x 2,x 1)⋮K(x N,x 1)K(x 1,x 2)K(x 2,x 2)⋮K(x N,x 2)⋯⋯⋱⋯K(x 1,x N)K(x 2,x N)⋮K(x N,x N) 是半正定的,则称 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} {x i}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σ21xx2−(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σ21T,η1=σ2μ,η2=−2σ21,同时 ϕ ( x ) = x x 2 T \phi(x)=\left \\begin{matrix} x \& x\^2 \\end{matrix} \\right ^T ϕ(x)=xx2T, 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, Epf (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_01-\\sum_xp(x)+\vec{\lambda}^T(\vec{\Delta}-E_p\\vec{f}(x)) L(p,λ0,λ )=∑xp(x)logp(x)+λ01−∑xp(x)+λ T(Δ −Epf (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) 为指数族分布。

相关推荐
冬奇Lab33 分钟前
每日一个开源项目(第140篇):AgentScope 2.0 - 阿里开源的生产级 Agent 框架
人工智能·开源·agent
冬奇Lab43 分钟前
Skill 系列(04):Skill 指标体系——L1/L2/L3 三层监控,让质量下降有据可查
人工智能·开源·llm
IT_陈寒2 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
玩转AI不是事3 小时前
用IndexedDB做AI对话离线缓存实战
人工智能
Asize3 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
MobotStone3 小时前
AI项目越多,为什么越容易失控
人工智能·aigc
十有八七3 小时前
AI时代的置身X内
前端·人工智能
Lkstar3 小时前
A2A协议深度解析|Agent2Agent通信标准,智能体互联网的"HTTP"
人工智能·llm
百度Geek说3 小时前
当代码越来越便宜,什么在变贵?
人工智能
橘子星3 小时前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能