上模式分类课推导Fisher的LDA算法时,看到书上有要优化这样一个准则函数: \[ \max J(w) = \frac{w^T S_B w}{w^T S_W w} \] 书上说这个表达式在数学物理里经常用,叫广义瑞利商,然而我完全不了解是什么情况,所以上网去查学习一下。

瑞利商的基本形式

瑞利商的基本形式表示为: \[ R(M,x) = \frac{x^TMx}{x^Tx} \] \(M\)是对称矩阵。

要求最大化\(R(M,x)\)的向量\(x\),可以观察到\(x\)的模与\(R(M,x)\)的大小无关,因此可以增加约束: \[ x^T x=1 \] 这样可以应用拉格朗日乘数法: \[ L(x, \lambda) = x^TMx - \lambda (x^Tx - 1) \] 其中\(\lambda\)是拉格朗日乘子,驻点在: \[ \frac{\partial L(x, \lambda)}{\partial x} = 0 \] 求导后带入可得: \[ 2 x^T M -2\lambda x^T = 0 \] 化简整理后可得: \[ Mx=\lambda x \] 此时: \[ R(M,x) = \frac{x^TMx}{x^T x}=\lambda \frac{x^T x}{x^T x} = \lambda \] 因此,特征向量\(x_1, \cdots, x_n\)是瑞利商的驻点,它们对应的瑞利商为它们对应的特征值\(\lambda_1, \cdots, \lambda_n\)

所以最大化的\(R(M,x)\)的解就是最大的特征值\(\lambda_i\)对应的特征向量\(x\)了。

广义瑞利商

瑞利商的另一种推广形式——广义瑞利商,在 Fisher 线性判别分析中有重要应用。定义 \[ R(M, x, Q) = \frac{x^T M x}{x^T Q x} \] 其中,\(M\)为对称矩阵,\(Q\)为对称正定矩阵。

广义瑞利商和\(x\)的模也没有关系,那同样应用拉格朗日乘子法: \[ L(x, \lambda) = \frac{1}{2}x^T M x - \frac{1}{2}\lambda(x^T Qx-1) \] 然后对\(x\)求偏导: \[ \frac{\partial L}{\partial x} = Mx-\lambda Qx =0 \] 即推得: \[ Q^{-1}Mx=\lambda x \] \(R(M, x, Q)\)的极值在\(Q^{-1}M\)的特征向量上取得。

回到原问题

那回到原问题: \[ \max J(w) = \frac{w^T S_B w}{w^T S_W w} \] 要求解最大的\(w\)也可以像上面一样求解,最优的\(w\)满足: \[ S_w^{-1}S_Bw = \lambda w \] 就和书上的结果相同了。

参考资料:

  1. 维基百科 Rayleigh quotient
  2. 瑞利商与极值计算