利用拉格朗日乘子法,对 a 求偏导:
1️⃣ 通用的拉格朗日函数形式
假设你要最大化(或最小化)目标函数约束条件是:
gi(x)=0,i=1,…,m
那么拉格朗日函数的通用形式是:
L(x,λ1,…,λm)=f(x)−i=1∑mλigi(x)
- 这里 λi 是拉格朗日乘子
- 关键是在梯度条件下,你要满足:
∇xL=0
2️⃣ 为什么 CCA 推导里用 0.5 倍?
在 CCA 的例子中,我们写:
L(a,b,λ,μ)=a⊤ΣXYb−2λ(a⊤ΣXXa−1)−2μ(b⊤ΣYYb−1)
CCA拉格朗日乘子法的过程。
1. 优化问题
我们要解:
maxa,ba⊤ΣXYb
约束:
a⊤ΣXXa=1,b⊤ΣYYb=1
因为约束
2. 拉格朗日函数
引入拉格朗日乘子 λX 和 λY:
L(a,b,λX,λY)=a⊤ΣXYb−2λX(a⊤ΣXXa−1)−2λY(b⊤ΣYYb−1)
注意:通常前面加 21 是为了求导时消去系数2,但也可以不加,乘子会相应缩放,不影响最终解。
3. 对 a 求偏导
将 L 看作 a 的函数,注意:
-
a⊤ΣXYb 是标量,对 a 求导:
∂a∂(a⊤ΣXYb)=ΣXYb
因为 a⊤Mb=∑i,jaiMijbj,对 ak 求导得 ∑jMkjbj,即 Mb 的第 k 个分量。
-
对二次型 a⊤ΣXXa 求导(对称矩阵):
∂a∂(a⊤ΣXXa)=2ΣXXa
所以:
∂a∂L=ΣXYb−λXΣXXa=0
即:
ΣXYb=λXΣXXa
4. 整理方程
假设 ΣXX 可逆(通常协方差矩阵正定):
ΣXX−1ΣXYb=λXa
这就是你看到的:
ΣXX−1ΣXYb=λXa
5. 对 b 求偏导
类似地:
∂b∂L=ΣXY⊤a−λYΣYYb=0
因为 a⊤ΣXYb=b⊤ΣXY⊤a,对 b 求导得到 ΣXY⊤a。
所以:
ΣXY⊤a=λYΣYYb
假设 ΣYY 可逆:
ΣYY−1ΣXY⊤a=λYb
6. 结合两个方程
从 a 的方程:
a=λX1ΣXX−1ΣXYb
代入 b 的方程:
ΣYY−1ΣXY⊤(λX1ΣXX−1ΣXYb)=λYb
整理:
λX1ΣYY−1ΣXY⊤ΣXX−1ΣXYb=λYb
即:
ΣYY−1ΣXY⊤ΣXX−1ΣXYb=λXλYb
7. 对称性发现
注意 λX 和 λY 的关系。从原方程:
a⊤ΣXYb=λXa⊤ΣXXa=λX⋅1
同时:
b⊤ΣXY⊤a=a⊤ΣXYb=λYb⊤ΣYYb=λY⋅1
所以:
λX=λY=ρ(相关系数)
8. 最终特征值问题
代入 λX=λY=ρ,得到:
ΣXX−1ΣXYb=ρa
ΣYY−1ΣXY⊤a=ρb
消去 a 或 b,得到两个特征值问题:
对 a:
ΣXYΣYY−1ΣXY⊤a=ρ2ΣXXa
对 b:
ΣXY⊤ΣXX−1ΣXYb=ρ2ΣYYb
这里的 ρ2 就是要求解的典型相关系数的平方。
关键步骤总结:
- 拉格朗日函数:L=a⊤ΣXYb−2λX(a⊤ΣXXa−1)−2λY(b⊤ΣYYb−1)
- 对 a 求导:ΣXYb−λXΣXXa=0
- 整理:ΣXX−1ΣXYb=λXa
- 发现 λX=λY=ρ
- 转化为特征值问题
这样推导出来的 ρ 就是最大化的相关系数,对应的 a,b 是第一对典型变量方向。