统计学习方法(李航) 第六章(2) 最大熵模型(一)

笔记目录:
统计学习方法(李航) 第一章 绪论
统计学习方法(李航)第二章 感知机
统计学习方法(李航)第三章 k近邻
统计学习方法(李航) 第四章 贝叶斯
统计学习方法(李航) 第五章 决策树

第二节 最大熵模型

1. 信息熵与最大熵原理

我们先从基础概念“熵”开始。在信息论中,熵(Entropy)是衡量一个随机变量不确定性的度量。对于一个离散随机变量 X X X,其可能取值为 { x 1 , x 2 , . . . , x k } \{x_1, x_2, ..., x_k\} {x1,x2,...,xk},对应的概率分布为 P ( X = x i ) = p i P(X=x_i) = p_i P(X=xi)=pi,那么 X X X 的熵定义为:

H ( P ) = H ( X ) = − ∑ i = 1 k p i log ⁡ p i H(P) = H(X) = -\sum_{i=1}^{k} p_i \log p_i H(P)=H(X)=i=1kpilogpi

其中,我们通常约定 0 log ⁡ 0 = 0 0 \log 0 = 0 0log0=0。熵越大,表示随机变量的不确定性越大,包含的信息量也越大

最大熵原理(Principle of Maximum Entropy) 是指,在推断概率模型时,如果我们需要对一个随机现象的概率分布进行建模,我们应该选择在满足所有已知约束条件下,熵最大的那个模型。为什么要这样做呢?因为熵最大的模型,意味着我们 对未知的部分做了最少的假设,是最“均匀”或最“无偏”的估计。我们不引入任何我们不知道的偏见

1.1 离散分布的最大熵

让我们来证明一个基本结论:对于一个具有 k k k 个可能取值的离散随机变量,当且仅当它服从均匀分布时,其熵最大

问题: 找到概率分布 P = ( p 1 , p 2 , . . . , p k ) P = (p_1, p_2, ..., p_k) P=(p1,p2,...,pk) 使得 H ( P ) = − ∑ i = 1 k p i log ⁡ p i H(P) = -\sum_{i=1}^{k} p_i \log p_i H(P)=i=1kpilogpi 最大化

约束条件:

  1. 概率和为1: ∑ i = 1 k p i = 1 \sum_{i=1}^{k} p_i = 1 i=1kpi=1
  2. 概率非负: p i ≥ 0 p_i \ge 0 pi0 (这个条件通常在求解过程中通过 log ⁡ p i \log p_i logpi 的定义域隐式满足)

求解方法:拉格朗日乘子法

我们构建拉格朗日函数 L ( P , λ ) L(P, \lambda) L(P,λ)

L ( p 1 , . . . , p k , λ ) = − ∑ i = 1 k p i log ⁡ p i + λ ( ∑ i = 1 k p i − 1 ) L(p_1, ..., p_k, \lambda) = -\sum_{i=1}^{k} p_i \log p_i + \lambda \left( \sum_{i=1}^{k} p_i - 1 \right) L(p1,...,pk,λ)=i=1kpilogpi+λ(i=1kpi1)

对每个 p i p_i pi 求偏导数并令其为0:

∂ L ∂ p i = − ( log ⁡ p i + p i ⋅ 1 p i ) + λ = − log ⁡ p i − 1 + λ = 0 \frac{\partial L}{\partial p_i} = -(\log p_i + p_i \cdot \frac{1}{p_i}) + \lambda = -\log p_i - 1 + \lambda = 0 piL=(logpi+pipi1)+λ=logpi1+λ=0

log ⁡ p i = λ − 1 \log p_i = \lambda - 1 logpi=λ1

p i = e λ − 1 p_i = e^{\lambda - 1} pi=eλ1

这说明,在极值点,所有的 p i p_i pi 都必须相等。设 p i = c p_i = c pi=c。代入约束条件 ∑ i = 1 k p i = 1 \sum_{i=1}^{k} p_i = 1 i=1kpi=1

∑ i = 1 k c = k ⋅ c = 1 \sum_{i=1}^{k} c = k \cdot c = 1 i=1kc=kc=1

c = 1 k c = \frac{1}{k} c=k1

因此, p 1 = p 2 = . . . = p k = 1 k p_1 = p_2 = ... = p_k = \frac{1}{k} p1=p2=...=pk=k1。这就是均匀分布

我们还需要验证这确实是最大值点。可以通过计算Hessian矩阵来证明熵函数 H ( P ) H(P) H(P) 是关于 P P P 的凹函数(稍后会证明),因此拉格朗日法找到的是唯一最大值点

结论: 在没有任何其他约束的情况下,均匀分布具有最大的熵

1.2 加入约束条件的离散分布最大熵

现在,假设我们有一些关于这个分布的额外知识,以期望值的形式给出。例如,假设随机变量 X X X 可以取五个值 { A , B , C , D , E } \{A, B, C, D, E\} {A,B,C,D,E},对应的概率为 p 1 , p 2 , p 3 , p 4 , p 5 p_1, p_2, p_3, p_4, p_5 p1,p2,p3,p4,p5。我们有以下约束:

  1. ∑ i = 1 5 p i = 1 \sum_{i=1}^{5} p_i = 1 i=15pi=1
  2. p 1 + p 2 = 3 / 10 p_1 + p_2 = 3/10 p1+p2=3/10
  3. p 1 + p 3 = 1 / 2 p_1 + p_3 = 1/2 p1+p3=1/2
  4. p i ≥ 0 p_i \ge 0 pi0

目标: 找到满足这些约束条件的分布 P = ( p 1 , . . . , p 5 ) P=(p_1, ..., p_5) P=(p1,...,p5),使得熵 H ( P ) = − ∑ i = 1 5 p i log ⁡ p i H(P) = -\sum_{i=1}^{5} p_i \log p_i H(P)=i=15pilogpi 最大

求解方法:拉格朗日乘子法

构建拉格朗日函数,引入三个乘子 λ 0 , λ 1 , λ 2 \lambda_0, \lambda_1, \lambda_2 λ0,λ1,λ2

L ( P , λ 0 , λ 1 , λ 2 ) = − ∑ i = 1 5 p i log ⁡ p i + λ 0 ( ∑ i = 1 5 p i − 1 ) + λ 1 ( p 1 + p 2 − 3 / 10 ) + λ 2 ( p 1 + p 3 − 1 / 2 ) L(P, \lambda_0, \lambda_1, \lambda_2) = -\sum_{i=1}^{5} p_i \log p_i + \lambda_0 \left( \sum_{i=1}^{5} p_i - 1 \right) + \lambda_1 (p_1 + p_2 - 3/10) + \lambda_2 (p_1 + p_3 - 1/2) L(P,λ0,λ1,λ2)=i=15pilogpi+λ0(i=15pi1)+λ1(p1+p23/10)+λ2(p1+p31/2)

对每个 p i p_i pi 求偏导数并令其为0:

∂ L ∂ p 1 = − log ⁡ p 1 − 1 + λ 0 + λ 1 + λ 2 = 0    ⟹    p 1 = e λ 0 + λ 1 + λ 2 − 1 \frac{\partial L}{\partial p_1} = -\log p_1 - 1 + \lambda_0 + \lambda_1 + \lambda_2 = 0 \implies p_1 = e^{\lambda_0 + \lambda_1 + \lambda_2 - 1} p1L=logp11+λ0+λ1+λ2=0p1=eλ0+λ1+λ21

∂ L ∂ p 2 = − log ⁡ p 2 − 1 + λ 0 + λ 1 = 0    ⟹    p 2 = e λ 0 + λ 1 − 1 \frac{\partial L}{\partial p_2} = -\log p_2 - 1 + \lambda_0 + \lambda_1 = 0 \implies p_2 = e^{\lambda_0 + \lambda_1 - 1} p2L=logp21+λ0+λ1=0p2=eλ0+λ11

∂ L ∂ p 3 = − log ⁡ p 3 − 1 + λ 0 + λ 2 = 0    ⟹    p 3 = e λ 0 + λ 2 − 1 \frac{\partial L}{\partial p_3} = -\log p_3 - 1 + \lambda_0 + \lambda_2 = 0 \implies p_3 = e^{\lambda_0 + \lambda_2 - 1} p3L=logp31+λ0+λ2=0p3=eλ0+λ21

∂ L ∂ p 4 = − log ⁡ p 4 − 1 + λ 0 = 0    ⟹    p 4 = e λ 0 − 1 \frac{\partial L}{\partial p_4} = -\log p_4 - 1 + \lambda_0 = 0 \implies p_4 = e^{\lambda_0 - 1} p4L=logp41+λ0=0p4=eλ01

∂ L ∂ p 5 = − log ⁡ p 5 − 1 + λ 0 = 0    ⟹    p 5 = e λ 0 − 1 \frac{\partial L}{\partial p_5} = -\log p_5 - 1 + \lambda_0 = 0 \implies p_5 = e^{\lambda_0 - 1} p5L=logp51+λ0=0p5=eλ01

可以看到, p i p_i pi 的形式不再是常数,而是依赖于它所涉及的约束对应的拉格朗日乘子。我们需要将这些 p i p_i pi 的表达式代回到三个约束方程中,然后解出 λ 0 , λ 1 , λ 2 \lambda_0, \lambda_1, \lambda_2 λ0,λ1,λ2 的值,进而得到 p i p_i pi 的具体数值。这个过程通常需要数值方法求解

1.3 连续分布的最大熵

对于连续随机变量 X X X,其概率密度函数为 p ( x ) p(x) p(x),熵(也称为微分熵)定义为:

h ( p ) = h ( X ) = − ∫ − ∞ ∞ p ( x ) log ⁡ p ( x ) d x h(p) = h(X) = -\int_{-\infty}^{\infty} p(x) \log p(x) dx h(p)=h(X)=p(x)logp(x)dx

定理: 在所有具有相同均值 μ \mu μ 和方差 σ 2 \sigma^2 σ2 的连续分布中,正态分布 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2) 的熵最大

证明思路:
目标:最大化 h ( p ) h(p) h(p)
约束条件:

  1. ∫ − ∞ ∞ p ( x ) d x = 1 \int_{-\infty}^{\infty} p(x) dx = 1 p(x)dx=1
  2. ∫ − ∞ ∞ x p ( x ) d x = μ \int_{-\infty}^{\infty} x p(x) dx = \mu xp(x)dx=μ
  3. ∫ − ∞ ∞ ( x − μ ) 2 p ( x ) d x = σ 2 \int_{-\infty}^{\infty} (x-\mu)^2 p(x) dx = \sigma^2 (xμ)2p(x)dx=σ2

使用变分法和拉格朗日乘子法。构建泛函

L [ p ] = − ∫ p ( x ) log ⁡ p ( x ) d x + λ 0 ( ∫ p ( x ) d x − 1 ) + λ 1 ( ∫ x p ( x ) d x − μ ) + λ 2 ( ∫ ( x − μ ) 2 p ( x ) d x − σ 2 ) L[p] = -\int p(x) \log p(x) dx + \lambda_0 \left( \int p(x) dx - 1 \right) + \lambda_1 \left( \int x p(x) dx - \mu \right) + \lambda_2 \left( \int (x-\mu)^2 p(x) dx - \sigma^2 \right) L[p]=p(x)logp(x)dx+λ0(p(x)dx1)+λ1(xp(x)dxμ)+λ2((xμ)2p(x)dxσ2)

取关于 p ( x ) p(x) p(x) 的变分导数并令其为0:

δ L δ p ( x ) = − ( log ⁡ p ( x ) + 1 ) + λ 0 + λ 1 x + λ 2 ( x − μ ) 2 = 0 \frac{\delta L}{\delta p(x)} = -(\log p(x) + 1) + \lambda_0 + \lambda_1 x + \lambda_2 (x-\mu)^2 = 0 δp(x)δL=(logp(x)+1)+λ0+λ1x+λ2(xμ)2=0

log ⁡ p ( x ) = λ 0 − 1 + λ 1 x + λ 2 ( x − μ ) 2 \log p(x) = \lambda_0 - 1 + \lambda_1 x + \lambda_2 (x-\mu)^2 logp(x)=λ01+λ1x+λ2(xμ)2

p ( x ) = exp ⁡ ( λ 0 − 1 + λ 1 x + λ 2 ( x − μ ) 2 ) p(x) = \exp(\lambda_0 - 1 + \lambda_1 x + \lambda_2 (x-\mu)^2) p(x)=exp(λ01+λ1x+λ2(xμ)2)

为了使这个 p ( x ) p(x) p(x) 满足均值和方差的约束,并且形式上匹配正态分布 p ( x ) = 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 p(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} p(x)=2πσ2 1e2σ2(xμ)2, 我们可以比较指数部分
指数部分是一个关于 x x x 的二次函数。为了匹配正态分布的形式 A e − B ( x − μ ) 2 A e^{-B(x-\mu)^2} AeB(xμ)2,我们需要 x x x 的一次项系数为0,即 λ 1 = 0 \lambda_1 = 0 λ1=0 (这可以通过代入均值约束严格证明)
然后比较二次项系数: λ 2 = − 1 2 σ 2 \lambda_2 = -\frac{1}{2\sigma^2} λ2=2σ21
最后,常数项 λ 0 − 1 \lambda_0 - 1 λ01 由归一化条件确定,使得 exp ⁡ ( λ 0 − 1 ) = 1 2 π σ 2 \exp(\lambda_0 - 1) = \frac{1}{\sqrt{2\pi\sigma^2}} exp(λ01)=2πσ2 1

因此,解出的 p ( x ) p(x) p(x) 正是 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2)

结论: 正态分布是在给定均值和方差下熵最大的连续分布

2. 最大熵模型 (MaxEnt Model)

现在我们把最大熵原理应用到条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 的建模上。在监督学习中,我们通常有训练数据 ( x 1 , y 1 ) , . . . , ( x N , y N ) (x_1, y_1), ..., (x_N, y_N) (x1,y1),...,(xN,yN),我们可以从中计算出经验分布 P ~ ( x , y ) \tilde{P}(x, y) P~(x,y) P ~ ( x ) \tilde{P}(x) P~(x)

目标: 学习条件概率模型 P ( Y ∣ X ) P(Y|X) P(YX)

最大熵模型的定义: 给定训练数据和一个特征函数集合 { f 1 , f 2 , . . . , f n } \{f_1, f_2, ..., f_n\} {f1,f2,...,fn},最大熵模型的目标是,在所有满足约束条件的模型集合 C C C 中,选取条件熵 H ( Y ∣ X ) H(Y|X) H(YX) 最大的那个模型

条件熵:

H ( Y ∣ X ) = − ∑ x , y P ( x , y ) log ⁡ P ( y ∣ x ) H(Y|X) = -\sum_{x, y} P(x, y) \log P(y|x) H(YX)=x,yP(x,y)logP(yx)

由于 P ( x , y ) = P ( x ) P ( y ∣ x ) P(x,y) = P(x) P(y|x) P(x,y)=P(x)P(yx), 我们可以写成:

H ( Y ∣ X ) = − ∑ x P ( x ) ∑ y P ( y ∣ x ) log ⁡ P ( y ∣ x ) H(Y|X) = -\sum_{x} P(x) \sum_{y} P(y|x) \log P(y|x) H(YX)=xP(x)yP(yx)logP(yx)

在实际应用中,我们通常使用经验分布 P ~ ( x ) \tilde{P}(x) P~(x) 来代替未知的真实分布 P ( x ) P(x) P(x):

H ( Y ∣ X ) ≈ − ∑ x P ~ ( x ) ∑ y P ( y ∣ x ) log ⁡ P ( y ∣ x ) H(Y|X) \approx -\sum_{x} \tilde{P}(x) \sum_{y} P(y|x) \log P(y|x) H(YX)xP~(x)yP(yx)logP(yx)

特征函数 f i ( x , y ) f_i(x, y) fi(x,y)
特征函数是描述输入 x x x 和输出 y y y 之间某种关系的二值函数或实值函数。例如,在文本分类中, x x x 是一句话, y y y 是类别,一个特征函数可以是:
f 1 ( x , y ) = 1 f_1(x, y) = 1 f1(x,y)=1 如果 x x x 中包含词 “学习” 并且 y=‘教育’ ,否则为 0 0 0

约束条件:
最大熵模型的核心思想是让模型预测的特征期望值与从训练数据(经验分布)中观察到的特征期望值相匹配
对于每个特征 f i f_i fi,我们要求:

E P [ f i ] = E P ~ [ f i ] E_P[f_i] = E_{\tilde{P}}[f_i] EP[fi]=EP~[fi]

其中:

  • 模型期望: E P [ f i ] = ∑ x , y P ( x ) P ( y ∣ x ) f i ( x , y ) ≈ ∑ x , y P ~ ( x ) P ( y ∣ x ) f i ( x , y ) E_P[f_i] = \sum_{x, y} P(x) P(y|x) f_i(x, y) \approx \sum_{x, y} \tilde{P}(x) P(y|x) f_i(x, y) EP[fi]=x,yP(x)P(yx)fi(x,y)x,yP~(x)P(yx)fi(x,y)
  • 经验期望: E P ~ [ f i ] = ∑ x , y P ~ ( x , y ) f i ( x , y ) = 1 N ∑ j = 1 N f i ( x j , y j ) E_{\tilde{P}}[f_i] = \sum_{x, y} \tilde{P}(x, y) f_i(x, y) = \frac{1}{N} \sum_{j=1}^{N} f_i(x_j, y_j) EP~[fi]=x,yP~(x,y)fi(x,y)=N1j=1Nfi(xj,yj) N N N 是训练样本数)

模型集合 C:

C = { P ∈ P ∣ E P [ f i ] = E P ~ [ f i ] , i = 1 , . . . , n } C = \{ P \in \mathcal{P} \mid E_P[f_i] = E_{\tilde{P}}[f_i], \quad i=1, ..., n \} C={PPEP[fi]=EP~[fi],i=1,...,n}

其中 P \mathcal{P} P 是所有可能的条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX) 的集合(满足 ∑ y P ( y ∣ x ) = 1 \sum_y P(y|x) = 1 yP(yx)=1

最大熵模型的优化问题(Primal Problem):

P ∗ = arg ⁡ max ⁡ P ∈ C H ( Y ∣ X ) = arg ⁡ max ⁡ P ∈ C ( − ∑ x P ~ ( x ) ∑ y P ( y ∣ x ) log ⁡ P ( y ∣ x ) ) P^* = \arg \max_{P \in C} H(Y|X) = \arg \max_{P \in C} \left( -\sum_{x} \tilde{P}(x) \sum_{y} P(y|x) \log P(y|x) \right) P=argPCmaxH(YX)=argPCmax(xP~(x)yP(yx)logP(yx))

同时需要满足约束:

  1. E P [ f i ] = E P ~ [ f i ] E_P[f_i] = E_{\tilde{P}}[f_i] EP[fi]=EP~[fi] for i = 1 , . . . , n i=1, ..., n i=1,...,n
  2. ∑ y P ( y ∣ x ) = 1 \sum_y P(y|x) = 1 yP(yx)=1 for all x x x

这是一个约束优化问题。直接求解 P ( y ∣ x ) P(y|x) P(yx) 比较困难,我们通常转向其对偶问题

3. 优化理论:拉格朗日对偶性

在求解最大熵模型之前,我们先回顾一下带约束优化问题的拉格朗日对偶理论。考虑一般的优化问题(最小化问题为例):

原始问题 (Primal Problem):

min ⁡ w f ( w ) \min_{w} f(w) wminf(w)

subject to:  g i ( w ) ≤ 0 , i = 1 , . . . , k \text{subject to: } \quad g_i(w) \le 0, \quad i = 1, ..., k subject to: gi(w)0,i=1,...,k

h j ( w ) = 0 , j = 1 , . . . , l \quad \quad \quad \quad h_j(w) = 0, \quad j = 1, ..., l hj(w)=0,j=1,...,l

广义拉格朗日函数 (Generalized Lagrangian):
引入拉格朗日乘子 α = ( α 1 , . . . , α k ) \alpha = (\alpha_1, ..., \alpha_k) α=(α1,...,αk) β = ( β 1 , . . . , β l ) \beta = (\beta_1, ..., \beta_l) β=(β1,...,βl)

L ( w , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ j = 1 l β j h j ( w ) L(w, \alpha, \beta) = f(w) + \sum_{i=1}^{k} \alpha_i g_i(w) + \sum_{j=1}^{l} \beta_j h_j(w) L(w,α,β)=f(w)+i=1kαigi(w)+j=1lβjhj(w)

其中,要求 α i ≥ 0 \alpha_i \ge 0 αi0

原始问题的等价形式 (Minimax Problem):
考虑关于 α , β \alpha, \beta α,β 最大化 L ( w , α , β ) L(w, \alpha, \beta) L(w,α,β)

θ P ( w ) = max ⁡ α ≥ 0 , β L ( w , α , β ) \theta_P(w) = \max_{\alpha \ge 0, \beta} L(w, \alpha, \beta) θP(w)=α0,βmaxL(w,α,β)

为什么说等价呢?

  • 如果 w w w 违反了某个约束,比如 g i ( w ) > 0 g_i(w) > 0 gi(w)>0,那么我们可以让对应的 α i → ∞ \alpha_i \to \infty αi,使得 θ P ( w ) → ∞ \theta_P(w) \to \infty θP(w)
  • 如果 w w w 违反了某个约束,比如 h j ( w ) ≠ 0 h_j(w) \ne 0 hj(w)=0,那么我们可以让对应的 β j \beta_j βj 取合适的符号并使其绝对值 → ∞ \to \infty ,也使得 θ P ( w ) → ∞ \theta_P(w) \to \infty θP(w)
  • 如果 w w w 满足所有约束条件 ( g i ( w ) ≤ 0 , h j ( w ) = 0 g_i(w) \le 0, h_j(w) = 0 gi(w)0,hj(w)=0),那么为了最大化 L L L,我们需要让 α i g i ( w ) \alpha_i g_i(w) αigi(w) 项最大。由于 g i ( w ) ≤ 0 g_i(w) \le 0 gi(w)0 α i ≥ 0 \alpha_i \ge 0 αi0,这项最大值为 0 0 0(当 α i = 0 \alpha_i = 0 αi=0 g i ( w ) = 0 g_i(w) = 0 gi(w)=0 时取到)。而 β j h j ( w ) \beta_j h_j(w) βjhj(w) 项因为 h j ( w ) = 0 h_j(w)=0 hj(w)=0 恒为 0 0 0。因此,此时 θ P ( w ) = f ( w ) \theta_P(w) = f(w) θP(w)=f(w)

所以,原始问题等价于:

p ∗ = min ⁡ w θ P ( w ) = min ⁡ w max ⁡ α ≥ 0 , β L ( w , α , β ) p^* = \min_{w} \theta_P(w) = \min_{w} \max_{\alpha \ge 0, \beta} L(w, \alpha, \beta) p=wminθP(w)=wminα0,βmaxL(w,α,β)

这里的 p ∗ p^* p 是原始问题的最优值。这个 min ⁡ max ⁡ \min \max minmax 的形式解释了原始问题中的“极小极大值”

对偶问题 (Dual Problem):
我们先定义拉格朗日对偶函数 (Lagrange Dual Function) θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β)

θ D ( α , β ) = min ⁡ w L ( w , α , β ) \theta_D(\alpha, \beta) = \min_{w} L(w, \alpha, \beta) θD(α,β)=wminL(w,α,β)

对偶函数 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β) 是关于 ( α , β ) (\alpha, \beta) (α,β) 的凹函数(即使原始问题非凸)

对偶问题是最大化这个对偶函数:

d ∗ = max ⁡ α ≥ 0 , β θ D ( α , β ) = max ⁡ α ≥ 0 , β min ⁡ w L ( w , α , β ) d^* = \max_{\alpha \ge 0, \beta} \theta_D(\alpha, \beta) = \max_{\alpha \ge 0, \beta} \min_{w} L(w, \alpha, \beta) d=α0,βmaxθD(α,β)=α0,βmaxwminL(w,α,β)

这里的 d ∗ d^* d 是对偶问题的最优值。这个 max ⁡ min ⁡ \max \min maxmin 的形式解释了对偶问题中的“极大极小值”

注: 对于max和min顺序的问题

1. 原始问题的 Minimax 形式: min ⁡ w max ⁡ α ≥ 0 , β L ( w , α , β ) \min_{w} \max_{\alpha \ge 0, \beta} L(w, \alpha, \beta) minwmaxα0,βL(w,α,β)

  • 目标: 我们的原始目标是求解带有约束的最小化问题: min ⁡ w f ( w ) \min_{w} f(w) minwf(w),约束为 g i ( w ) ≤ 0 g_i(w) \le 0 gi(w)0 h j ( w ) = 0 h_j(w) = 0 hj(w)=0

  • 拉格朗日函数的作用: 拉格朗日函数 L ( w , α , β ) = f ( w ) + ∑ α i g i ( w ) + ∑ β j h j ( w ) L(w, \alpha, \beta) = f(w) + \sum \alpha_i g_i(w) + \sum \beta_j h_j(w) L(w,α,β)=f(w)+αigi(w)+βjhj(w) (其中 α i ≥ 0 \alpha_i \ge 0 αi0) 将约束条件融入了目标函数

  • 内层 Maximize (对 α , β \alpha, \beta α,β): 考虑固定一个 w w w。我们来看 max ⁡ α ≥ 0 , β L ( w , α , β ) \max_{\alpha \ge 0, \beta} L(w, \alpha, \beta) maxα0,βL(w,α,β) 的值是多少:

    • 如果 w w w 违反了某个约束 g i ( w ) > 0 g_i(w) > 0 gi(w)>0,因为 α i ≥ 0 \alpha_i \ge 0 αi0,我们可以让 α i → ∞ \alpha_i \to \infty αi,从而使得 L ( w , α , β ) → ∞ L(w, \alpha, \beta) \to \infty L(w,α,β)
    • 如果 w w w 违反了某个约束 h j ( w ) ≠ 0 h_j(w) \ne 0 hj(w)=0,我们可以让 β j \beta_j βj 取合适的符号并使其绝对值 → ∞ \to \infty ,从而使得 L ( w , α , β ) → ∞ L(w, \alpha, \beta) \to \infty L(w,α,β)
    • 如果 w w w 满足所有约束 ( g i ( w ) ≤ 0 , h j ( w ) = 0 g_i(w) \le 0, h_j(w) = 0 gi(w)0,hj(w)=0),那么 ∑ β j h j ( w ) = 0 \sum \beta_j h_j(w) = 0 βjhj(w)=0。对于 ∑ α i g i ( w ) \sum \alpha_i g_i(w) αigi(w),因为 α i ≥ 0 \alpha_i \ge 0 αi0 g i ( w ) ≤ 0 g_i(w) \le 0 gi(w)0,这一项总是 ≤ 0 \le 0 0。为了最大化 L L L,我们需要让这一项尽可能接近 0,其最大值就是 0 (当 α i = 0 \alpha_i=0 αi=0 g i ( w ) = 0 g_i(w)=0 gi(w)=0 时取到)。因此,当 w w w 可行时, max ⁡ α ≥ 0 , β L ( w , α , β ) = f ( w ) + 0 + 0 = f ( w ) \max_{\alpha \ge 0, \beta} L(w, \alpha, \beta) = f(w) + 0 + 0 = f(w) maxα0,βL(w,α,β)=f(w)+0+0=f(w)
  • 外层 Minimize (对 w w w): 现在我们来看 min ⁡ w ( max ⁡ α ≥ 0 , β L ( w , α , β ) ) \min_{w} \left( \max_{\alpha \ge 0, \beta} L(w, \alpha, \beta) \right) minw(maxα0,βL(w,α,β))。根据上面的分析,这个表达式等价于:

    i n w { f ( w ) if  w  is feasible ∞ if  w  is infeasible in_{w} \begin{cases} f(w) & \text{if } w \text{ is feasible} \\ \infty & \text{if } w \text{ is infeasible} \end{cases} inw{f(w)if w is feasibleif w is infeasible

    正好就是原始带约束的优化问题的定义!我们要在所有满足约束的 w w w 中找到使 f ( w ) f(w) f(w) 最小的那个 w w w

  • 小结 (Primal): 所以,对于原始问题,我们先对 α , β \alpha, \beta α,βmax 是为了利用拉格朗日乘子将约束条件编码进去:如果 w w w 不满足约束,就给一个无穷大的“惩罚”,如果满足约束,就得到原始的 f ( w ) f(w) f(w)。然后,外层的 min 就是在所有 w w w(包括满足和不满足约束的)中找到那个最优值,因为无穷大的惩罚,最优解必然会落在满足约束的 w w w 上。顺序是 min ⁡ ( over  w ) [ max ⁡ ( over  α , β ) L ] \min (\text{over } w) [\max (\text{over } \alpha, \beta) L] min(over w)[max(over α,β)L]

2. 对偶问题的 Maximin 形式: max ⁡ α ≥ 0 , β min ⁡ w L ( w , α , β ) \max_{\alpha \ge 0, \beta} \min_{w} L(w, \alpha, \beta) maxα0,βminwL(w,α,β)

  • 对偶函数的定义: 对偶问题是围绕拉格朗日对偶函数 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β) 构建的。这个函数定义为:对于固定的乘子 α ( ≥ 0 ) , β \alpha (\ge 0), \beta α(0),β,我们在所有可能的 w w w 上最小化拉格朗日函数 L ( w , α , β ) L(w, \alpha, \beta) L(w,α,β)

    θ D ( α , β ) = min ⁡ w L ( w , α , β ) \theta_D(\alpha, \beta) = \min_{w} L(w, \alpha, \beta) θD(α,β)=wminL(w,α,β)

    这个 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β) 对任何 α ≥ 0 , β \alpha \ge 0, \beta α0,β 都给出了原始问题最优值 p ∗ p^* p 的一个下界(这就是弱对偶性 d ∗ ≤ p ∗ d^* \le p^* dp 的基础)

  • 内层 Minimize (对 w w w): 所以,这里的 min 操作是定义对偶函数 θ D \theta_D θD 的一部分。我们先固定乘子,然后找到使 L L L 最小的 w w w(这个 w w w 通常会依赖于 α , β \alpha, \beta α,β

  • 外层 Maximize (对 α , β \alpha, \beta α,β): 对偶问题的目标是什么?是找到那个最好的下界,也就是让下界 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β) 尽可能地大。因此,我们需要在所有合法的乘子( α ≥ 0 \alpha \ge 0 α0, β \beta β 任意)范围内,最大化 θ D ( α , β ) \theta_D(\alpha, \beta) θD(α,β)

    d ∗ = max ⁡ α ≥ 0 , β θ D ( α , β ) = max ⁡ α ≥ 0 , β ( min ⁡ w L ( w , α , β ) ) d* = \max_{\alpha \ge 0, \beta} \theta_D(\alpha, \beta) = \max_{\alpha \ge 0, \beta} \left( \min_{w} L(w, \alpha, \beta) \right) d=α0,βmaxθD(α,β)=α0,βmax(wminL(w,α,β))

  • 小结 (Dual): 对于对偶问题,我们先对 w w wmin 是为了计算出给定乘子下的最好下界(即对偶函数的值)。然后,外层的 max 是在所有可能的乘子中寻找那个最大的下界。顺序是 max ⁡ ( over  α , β ) [ min ⁡ ( over  w ) L ] \max (\text{over } \alpha, \beta) [\min (\text{over } w) L] max(over α,β)[min(over w)L]

这个顺序的差异源于它们各自要解决的问题:

  • 原始问题 (minimax): 目的是求解原始带约束问题。内层 max 将约束编码成惩罚,外层 min 找到最优解
  • 对偶问题 (maximin): 目的是找到原始问题最优值的最佳下界。内层 min 定义了下界函数(对偶函数),外层 max 找到最佳的下界值

理解了这个逻辑, min ⁡ max ⁡ \min \max minmax max ⁡ min ⁡ \max \min maxmin 的顺序就自然了

弱对偶性 (Weak Duality):
对于任何优化问题(无论是否凸),对偶问题的最优值总是小于等于原始问题的最优值:

d ∗ ≤ p ∗ d^* \le p^* dp

证明:
对于任意的 α ≥ 0 \alpha \ge 0 α0 β \beta β,以及任意满足原始约束的 w ′ w' w

θ D ( α , β ) = min ⁡ w L ( w , α , β ) ≤ L ( w ′ , α , β ) = f ( w ′ ) + ∑ i = 1 k α i g i ( w ′ ) + ∑ j = 1 l β j h j ( w ′ ) \theta_D(\alpha, \beta) = \min_{w} L(w, \alpha, \beta) \le L(w', \alpha, \beta) = f(w') + \sum_{i=1}^{k} \alpha_i g_i(w') + \sum_{j=1}^{l} \beta_j h_j(w') θD(α,β)=wminL(w,α,β)L(w,α,β)=f(w)+i=1kαigi(w)+j=1lβjhj(w)

因为 w ′ w' w 满足约束, g i ( w ′ ) ≤ 0 g_i(w') \le 0 gi(w)0 h j ( w ′ ) = 0 h_j(w') = 0 hj(w)=0。又因为 α i ≥ 0 \alpha_i \ge 0 αi0,所以 ∑ α i g i ( w ′ ) ≤ 0 \sum \alpha_i g_i(w') \le 0 αigi(w)0
因此, L ( w ′ , α , β ) ≤ f ( w ′ ) L(w', \alpha, \beta) \le f(w') L(w,α,β)f(w)
我们得到 θ D ( α , β ) ≤ f ( w ′ ) \theta_D(\alpha, \beta) \le f(w') θD(α,β)f(w)
这个不等式对所有满足约束的 w ′ w' w 和所有 α ≥ 0 , β \alpha \ge 0, \beta α0,β 都成立
所以, max ⁡ α ≥ 0 , β θ D ( α , β ) ≤ min ⁡ w ′  feasible f ( w ′ ) \underset{\alpha \ge 0, \beta}{\max} \theta_D(\alpha, \beta) \le \min_{w' \text{ feasible}} f(w') α0,βmaxθD(α,β)minw feasiblef(w),即 d ∗ ≤ p ∗ d^* \le p^* dp

强对偶性 (Strong Duality):
在某些条件下,对偶问题的最优值等于原始问题的最优值,即 d ∗ = p ∗ d^* = p^* d=p。这时,我们可以通过求解对偶问题来得到原始问题的解
常见的使强对偶性成立的条件是:

  1. 原始问题是凸优化问题:目标函数 f ( w ) f(w) f(w) 是凸函数,不等式约束 g i ( w ) g_i(w) gi(w) 是凸函数,等式约束 h j ( w ) h_j(w) hj(w) 是仿射函数(即 h j ( w ) = A j T w + b j h_j(w) = A_j^T w + b_j hj(w)=AjTw+bj
  2. 满足某种约束规范 (Constraint Qualification),例如 Slater 条件。Slater 条件是指存在一个严格满足所有不等式约束的可行点 w w w,即存在 w w w 使得 g i ( w ) < 0 g_i(w) < 0 gi(w)<0 对所有 i i i 成立,且 h j ( w ) = 0 h_j(w) = 0 hj(w)=0 对所有 j j j 成立

KKT 条件 (Karush-Kuhn-Tucker Conditions):
如果强对偶性成立,并且原始问题和对偶问题的最优解分别为 w ∗ w^* w ( α ∗ , β ∗ ) (\alpha^*, \beta^*) (α,β),那么它们必须满足以下 KKT 条件:

  1. Stationarity (稳定性): ∇ w L ( w ∗ , α ∗ , β ∗ ) = 0 \nabla_w L(w^*, \alpha^*, \beta^*) = 0 wL(w,α,β)=0 (拉格朗日函数对 w w w 的梯度为0)
  2. Primal feasibility (原始可行性): g i ( w ∗ ) ≤ 0 g_i(w^*) \le 0 gi(w)0 for all i i i, h j ( w ∗ ) = 0 h_j(w^*) = 0 hj(w)=0 for all j j j
  3. Dual feasibility (对偶可行性): α i ∗ ≥ 0 \alpha_i^* \ge 0 αi0 for all i i i
  4. Complementary Slackness (互补松弛性): α i ∗ g i ( w ∗ ) = 0 \alpha_i^* g_i(w^*) = 0 αigi(w)=0 for all i i i

对于凸优化问题,KKT 条件是 w ∗ w^* w ( α ∗ , β ∗ ) (\alpha^*, \beta^*) (α,β) 分别为原始问题和对偶问题最优解的充要条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值