核心思想
该论文提出了一个新型的离散多核kkk-均值Discrete Multiple Kernel kkk-means, DMKKM聚类模型,旨在解决传统多核kkk-均值(MKKM)聚类方法中的几个关键问题:
- 信息丢失问题:传统MKKM采用两阶段优化策略,先学习连续松弛标签矩阵,再通过额外的离散化步骤获得离散聚类标签矩阵。这种方法会导致信息丢失和优化目标不匹配。
- 核相关性问题:传统方法未能充分考虑不同核之间的相关性,可能导致融合冗余核,降低信息源的多样性。
- 超参数调优问题:现有MKKM模型通常依赖于超参数调优,增加了实际应用的复杂性。
DMKKM的核心思想是通过直接优化离散聚类指示矩阵,取代两阶段优化过程,同时引入核相关性度量以减少冗余并增强多样性。此外,DMKKM是无参数的,避免了繁琐的超参数调优,使其在实际应用中更具可行性。
目标函数
DMKKM的目标函数旨在最小化核矩阵与聚类指示矩阵投影之间的Frobenius范数,同时优化核组合系数。数学形式如下:
minF,α∥Kα−F(FTF)−1FT∥F2,
\min_{\boldsymbol{F}, \boldsymbol{\alpha}} \left\| \boldsymbol{K}_\alpha - \boldsymbol{F} (\boldsymbol{F}^T \boldsymbol{F})^{-1} \boldsymbol{F}^T \right\|_F^2,
F,αminKα−F(FTF)−1FTF2,
s.t.F∈Ind,αT1=1,αp⩾0,∀p,
\text{s.t.} \quad \boldsymbol{F} \in \text{Ind}, \quad \boldsymbol{\alpha}^T \mathbf{1} = 1, \quad \alpha_p \geqslant 0, \quad \forall p,
s.t.F∈Ind,αT1=1,αp⩾0,∀p,
其中:
- Kα=∑p=1vαpKp\boldsymbol{K}_\alpha = \sum_{p=1}^v \alpha_p \boldsymbol{K}_pKα=∑p=1vαpKp 是通过核系数 α\boldsymbol{\alpha}α 组合的核矩阵,Kp\boldsymbol{K}_pKp 是第 ppp 个基核矩阵。
- F∈Ind\boldsymbol{F} \in \text{Ind}F∈Ind 是离散聚类指示矩阵,Fij=1F_{ij} = 1Fij=1 表示数据点 iii 属于簇 jjj,否则 Fij=0F_{ij} = 0Fij=0。
- ∥⋅∥F\left\| \cdot \right\|_F∥⋅∥F 表示Frobenius范数。
- α\boldsymbol{\alpha}α 是核组合系数向量,满足归一化和非负约束。
目标函数进一步简化为:
minF,αTr(KαKα)−2Tr(FTKαF(FTF)−1),
\min_{\boldsymbol{F}, \boldsymbol{\alpha}} \operatorname{Tr}(\boldsymbol{K}_\alpha \boldsymbol{K}_\alpha) - 2 \operatorname{Tr}(\boldsymbol{F}^T \boldsymbol{K}_\alpha \boldsymbol{F} (\boldsymbol{F}^T \boldsymbol{F})^{-1}),
F,αminTr(KαKα)−2Tr(FTKαF(FTF)−1),
s.t.F∈Ind,αT1=1,αp⩾0,∀p.
\text{s.t.} \quad \boldsymbol{F} \in \text{Ind}, \quad \boldsymbol{\alpha}^T \mathbf{1} = 1, \quad \alpha_p \geqslant 0, \quad \forall p.
s.t.F∈Ind,αT1=1,αp⩾0,∀p.
其中,Tr(KαKα)=∑p=1v∑q=1vαpαqTr(KpKq)\operatorname{Tr}(\boldsymbol{K}_\alpha \boldsymbol{K}_\alpha) = \sum_{p=1}^v \sum_{q=1}^v \alpha_p \alpha_q \operatorname{Tr}(\boldsymbol{K}_p \boldsymbol{K}_q)Tr(KαKα)=∑p=1v∑q=1vαpαqTr(KpKq) 用于衡量核之间的相关性,Tr(KpKq)\operatorname{Tr}(\boldsymbol{K}_p \boldsymbol{K}_q)Tr(KpKq) 越大表示核 ppp 和 qqq 相关性越高,优化过程会减少高相关核的权重以降低冗余。
目标函数的优化过程
DMKKM采用交替优化策略,分别更新聚类指示矩阵 F\boldsymbol{F}F 和核系数 α\boldsymbol{\alpha}α,具体步骤如下:
1. 更新 F\boldsymbol{F}F(固定 α\boldsymbol{\alpha}α)
当 α\boldsymbol{\alpha}α 固定时,目标函数简化为:
maxF∈IndTr(FTKαF(FTF)−1), \max_{\boldsymbol{F} \in \text{Ind}} \operatorname{Tr}(\boldsymbol{F}^T \boldsymbol{K}_\alpha \boldsymbol{F} (\boldsymbol{F}^T \boldsymbol{F})^{-1}), F∈IndmaxTr(FTKαF(FTF)−1),
等价于向量形式:
maxF∈Ind∑l=1cflTKαflflTfl, \max_{\boldsymbol{F} \in \text{Ind}} \sum_{l=1}^c \frac{\boldsymbol{f}_l^T \boldsymbol{K}_\alpha \boldsymbol{f}_l}{\boldsymbol{f}_l^T \boldsymbol{f}_l}, F∈Indmaxl=1∑cflTflflTKαfl,
其中 fl\boldsymbol{f}_lfl 是 F\boldsymbol{F}F 的第 lll 列,表示第 lll 个簇的指示向量。
使用坐标下降法(Coordinate Descent)直接优化离散矩阵 F\boldsymbol{F}F,每次更新 F\boldsymbol{F}F 的某一行(对应一个数据点的簇分配)。具体步骤:
-
假设更新第 iii 行,记当前第 iii 行中元素 1 的位置为 mmm。
-
考虑第 iii 行可能取的 ccc 种情况(对应 ccc 个簇),记为 F(s)\boldsymbol{F}^{(s)}F(s),其中 s∈{1,…,c}s \in \{1, \ldots, c\}s∈{1,…,c}。
-
计算目标函数在不同 sss 下的值 L(s)\mathcal{L}(s)L(s):
-
当 s=ms = ms=m(保持当前簇分配):
L(s)=fsTKαfsfsTfs−fsTKαfs−2fsTKα(:,i)+Kα(i,i)fsTfs−1, \mathcal{L}(s) = \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s}{\boldsymbol{f}_s^T \boldsymbol{f}_s} - \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s - 2 \boldsymbol{f}_s^T \boldsymbol{K}_\alpha(:, i) + K_\alpha(i, i)}{\boldsymbol{f}_s^T \boldsymbol{f}_s - 1}, L(s)=fsTfsfsTKαfs−fsTfs−1fsTKαfs−2fsTKα(:,i)+Kα(i,i),
-
当 s≠ms \neq ms=m(切换到其他簇):
L(s)=fsTKαfs+2fsTKα(:,i)+Kα(i,i)fsTfs+1−fsTKαfsfsTfs, \mathcal{L}(s) = \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s + 2 \boldsymbol{f}_s^T \boldsymbol{K}_\alpha(:, i) + K_\alpha(i, i)}{\boldsymbol{f}_s^T \boldsymbol{f}_s + 1} - \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s}{\boldsymbol{f}_s^T \boldsymbol{f}_s}, L(s)=fsTfs+1fsTKαfs+2fsTKα(:,i)+Kα(i,i)−fsTfsfsTKαfs,
-
-
选择使 L(s)\mathcal{L}(s)L(s) 最大的 s∗s^*s∗,更新 F\boldsymbol{F}F 的第 iii 行:F(i,s∗)=1F(i, s^*) = 1F(i,s∗)=1,F(i,m)=0F(i, m) = 0F(i,m)=0。
-
迭代更新所有行,直到目标函数增量小于阈值(10−310^{-3}10−3)。
该过程通过重用中间变量(如 fsTKαfs\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_sfsTKαfs 和 fsTfs\boldsymbol{f}_s^T \boldsymbol{f}_sfsTfs)降低计算复杂度。
2. 更新 α\boldsymbol{\alpha}α(固定 F\boldsymbol{F}F)
当 F\boldsymbol{F}F 固定时,目标函数简化为:
minα∑p=1v∑q=1vαpαqTr(KpKq)−2∑p=1vαpTr(FTKpF(FTF)−1),
\min_{\boldsymbol{\alpha}} \sum_{p=1}^v \sum_{q=1}^v \alpha_p \alpha_q \operatorname{Tr}(\boldsymbol{K}_p \boldsymbol{K}_q) - 2 \sum_{p=1}^v \alpha_p \operatorname{Tr}(\boldsymbol{F}^T \boldsymbol{K}_p \boldsymbol{F} (\boldsymbol{F}^T \boldsymbol{F})^{-1}),
αminp=1∑vq=1∑vαpαqTr(KpKq)−2p=1∑vαpTr(FTKpF(FTF)−1),
s.t.αT1=1,αp⩾0,∀p.
\text{s.t.} \quad \boldsymbol{\alpha}^T \mathbf{1} = 1, \quad \alpha_p \geqslant 0, \quad \forall p.
s.t.αT1=1,αp⩾0,∀p.
定义矩阵 M\boldsymbol{M}M 的元素 M(p,q)=Tr(KpKq)M(p, q) = \operatorname{Tr}(\boldsymbol{K}_p \boldsymbol{K}_q)M(p,q)=Tr(KpKq),向量 d\boldsymbol{d}d 的元素 dp=Tr(FTKpF(FTF)−1)d_p = \operatorname{Tr}(\boldsymbol{F}^T \boldsymbol{K}_p \boldsymbol{F} (\boldsymbol{F}^T \boldsymbol{F})^{-1})dp=Tr(FTKpF(FTF)−1),问题转化为:
minααTMα−2dTα,
\min_{\boldsymbol{\alpha}} \boldsymbol{\alpha}^T \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d}^T \boldsymbol{\alpha},
αminαTMα−2dTα,
s.t.αT1=1,αp⩾0,∀p.
\text{s.t.} \quad \boldsymbol{\alpha}^T \mathbf{1} = 1, \quad \alpha_p \geqslant 0, \quad \forall p.
s.t.αT1=1,αp⩾0,∀p.
这是一个带线性约束的二次规划(QP)问题,可通过标准QP求解器解决。
整体优化算法
优化过程通过Algorithm 2实现:
- 初始化 α=1v/v\boldsymbol{\alpha} = \mathbf{1}_v / vα=1v/v,随机初始化 F\boldsymbol{F}F。
- 交替执行:
- 使用Algorithm 1(坐标下降法)更新 F\boldsymbol{F}F。
- 使用QP求解器更新 α\boldsymbol{\alpha}α。
- 迭代直到收敛。
主要的贡献点
- 直接优化离散指示矩阵:DMKKM首次直接优化离散聚类指示矩阵 F\boldsymbol{F}F,避免了两阶段优化导致的信息丢失和目标不匹配问题。
- 核相关性度量:通过最小化 Tr(KαKα)\operatorname{Tr}(\boldsymbol{K}_\alpha \boldsymbol{K}_\alpha)Tr(KαKα),DMKKM有效度量核之间的相关性,减少冗余核的权重,提升核融合的多样性。
- 无参数设计:DMKKM无需调优超参数,相较于需要网格搜索的模型(如MKKM-MR、ONKC等),更适合实际应用。
- 高效优化算法:采用坐标下降法和重用中间变量的策略降低计算复杂度,优于传统MKKM的特征分解方法(复杂度为 O(n3)O(n^3)O(n3))。
- 实验验证:在多个现实世界数据集上,DMKKM在聚类性能(ACC、NMI、ARI)上优于大多数对比模型,展现了其有效性和优越性。
实验结果
实验在七个现实世界数据集上进行(Handwritten、Pima、ProteinFold、SensITVehicle、UCI DIGIT、Washington、Wisconsin),与多种多核kkk-均值模型(MKKM、OKKC、LMKKM、RMKKM、MKKM-MR、ONKC、MVC-LFA)比较。结果如表2所示:
-
聚类性能:
- DMKKM在7个数据集中的5个(Pima、ProteinFold、UCI DIGIT、Washington、Wisconsin)上取得了最佳性能(ACC、NMI、ARI)。
- 相较于其他无参数模型(MKKM、OKKC、LMKKM),DMKKM在所有数据集上均显著优于它们。
- 相较于有参数模型(RMKKM、MKKM-MR、ONKC、MVC-LFA),DMKKM在大多数情况下表现更优,尽管MVC-LFA在Handwritten和SensITVehicle上略胜,但其依赖两个超参数的网格搜索使其实际应用受限。
-
核系数分析:
- 图1展示了DMKKM学习到的核系数 αp\alpha_pαp 与单核KKM的ACC之间的关系。DMKKM能够为更具区分性的核分配更大的权重,验证了其有效识别重要核的能力。
-
收敛性分析:
- 图2显示了DMKKM在四个数据集上的目标函数收敛曲线,表明目标值单调递减,且在10次迭代内趋于平稳,验证了优化算法的高效性。
算法实现过程详细解释
以下是DMKKM算法(Algorithm 2)的详细实现过程,结合Algorithm 1(坐标下降法)进行说明:
输入
- 基核矩阵集合 {Kp∈Rn×n}p=1v\{\boldsymbol{K}_p \in \mathbb{R}^{n \times n}\}_{p=1}^v{Kp∈Rn×n}p=1v,其中 vvv 是核数量,nnn 是数据点数量。
- 簇数量 ccc。
输出
- 最终的离散聚类指示矩阵 F∈Ind\boldsymbol{F} \in \text{Ind}F∈Ind,其中 F∈Rn×c\boldsymbol{F} \in \mathbb{R}^{n \times c}F∈Rn×c,Fij=1F_{ij} = 1Fij=1 表示数据点 iii 属于簇 jjj。
初始化
- 初始化核系数:设置 α=1v/v\boldsymbol{\alpha} = \mathbf{1}_v / vα=1v/v,即将所有核的权重均设为 1/v1/v1/v。
- 初始化聚类标签:随机初始化 F\boldsymbol{F}F,确保 F∈Ind\boldsymbol{F} \in \text{Ind}F∈Ind,即每行只有一个元素为1,其余为0。
主循环(Algorithm 2)
重复以下步骤直到收敛:
-
更新 F\boldsymbol{F}F(Algorithm 1):
- 输入:当前核矩阵 Kα=∑p=1vαpKp\boldsymbol{K}_\alpha = \sum_{p=1}^v \alpha_p \boldsymbol{K}_pKα=∑p=1vαpKp,初始 F\boldsymbol{F}F。
- 预计算:计算 flTKαfl\boldsymbol{f}_l^T \boldsymbol{K}_\alpha \boldsymbol{f}_lflTKαfl 和 flTfl\boldsymbol{f}_l^T \boldsymbol{f}_lflTfl(∀l∈{1,…,c}\forall l \in \{1, \ldots, c\}∀l∈{1,…,c}),以减少后续计算开销。
- 迭代更新每一行:
- 对每个数据点 iii(共 nnn 个):
-
确定当前第 iii 行中元素 1 的位置 mmm(当前簇)。
-
对每个簇 s∈{1,…,c}s \in \{1, \ldots, c\}s∈{1,…,c},计算目标函数增量 L(s)\mathcal{L}(s)L(s):
-
若 s=ms = ms=m,按公式 (22) 计算:
L(s)=fsTKαfsfsTfs−fsTKαfs−2fsTKα(:,i)+Kα(i,i)fsTfs−1, \mathcal{L}(s) = \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s}{\boldsymbol{f}_s^T \boldsymbol{f}_s} - \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s - 2 \boldsymbol{f}_s^T \boldsymbol{K}_\alpha(:, i) + K_\alpha(i, i)}{\boldsymbol{f}_s^T \boldsymbol{f}_s - 1}, L(s)=fsTfsfsTKαfs−fsTfs−1fsTKαfs−2fsTKα(:,i)+Kα(i,i),
-
若 s≠ms \neq ms=m,按公式 (27) 计算:
L(s)=fsTKαfs+2fsTKα(:,i)+Kα(i,i)fsTfs+1−fsTKαfsfsTfs. \mathcal{L}(s) = \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s + 2 \boldsymbol{f}_s^T \boldsymbol{K}_\alpha(:, i) + K_\alpha(i, i)}{\boldsymbol{f}_s^T \boldsymbol{f}_s + 1} - \frac{\boldsymbol{f}_s^T \boldsymbol{K}_\alpha \boldsymbol{f}_s}{\boldsymbol{f}_s^T \boldsymbol{f}_s}. L(s)=fsTfs+1fsTKαfs+2fsTKα(:,i)+Kα(i,i)−fsTfsfsTKαfs.
-
-
选择 L(s)\mathcal{L}(s)L(s) 最大的 s∗s^*s∗,更新 F\boldsymbol{F}F:F(i,s∗)=1F(i, s^*) = 1F(i,s∗)=1,F(i,m)=0F(i, m) = 0F(i,m)=0。
-
- 重复直到目标函数增量小于 10−310^{-3}10−3。
- 对每个数据点 iii(共 nnn 个):
- 输出:更新后的 F\boldsymbol{F}F。
-
更新 α\boldsymbol{\alpha}α:
-
固定 F\boldsymbol{F}F,优化以下二次规划问题:
minααTMα−2dTα, \min_{\boldsymbol{\alpha}} \boldsymbol{\alpha}^T \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d}^T \boldsymbol{\alpha}, αminαTMα−2dTα,
s.t.αT1=1,αp⩾0,∀p, \text{s.t.} \quad \boldsymbol{\alpha}^T \mathbf{1} = 1, \quad \alpha_p \geqslant 0, \quad \forall p, s.t.αT1=1,αp⩾0,∀p,其中:
- M\boldsymbol{M}M 的元素 M(p,q)=Tr(KpKq)M(p, q) = \operatorname{Tr}(\boldsymbol{K}_p \boldsymbol{K}_q)M(p,q)=Tr(KpKq)。
- d\boldsymbol{d}d 的元素 dp=Tr(FTKpF(FTF)−1)d_p = \operatorname{Tr}(\boldsymbol{F}^T \boldsymbol{K}_p \boldsymbol{F} (\boldsymbol{F}^T \boldsymbol{F})^{-1})dp=Tr(FTKpF(FTF)−1)。
-
使用标准QP求解器(如MATLAB的quadprog或Python的cvxpy)求解。
-
收敛判断
- 检查目标函数值是否收敛(即变化小于某一阈值)或达到最大迭代次数。
复杂度分析
- 更新 F\boldsymbol{F}F:每次计算 L(s)\mathcal{L}(s)L(s) 复杂度为 O(n)O(n)O(n),对 ccc 个簇循环为 O(nc)O(nc)O(nc),nnn 个数据点迭代 t1t_1t1 次,总复杂度为 O(n2t1)O(n^2 t_1)O(n2t1)。
- 更新 α\boldsymbol{\alpha}α:计算 d\boldsymbol{d}d 的复杂度为 O(n2v)O(n^2 v)O(n2v),QP求解复杂度因 vvv 较小可忽略。
- 总复杂度:O((n2t1+n2v)t)O((n^2 t_1 + n^2 v)t)O((n2t1+n2v)t),其中 ttt 是外层迭代次数,优于传统MKKM的 O(n3)O(n^3)O(n3)。
总结
DMKKM通过直接优化离散聚类指示矩阵和核系数,解决了传统MKKM的信息丢失、核冗余和超参数依赖问题。其目标函数巧妙地结合核相关性度量和聚类质量优化,通过高效的坐标下降法和QP求解实现快速收敛。实验结果验证了其在多个数据集上的优越性能和实用性,为多核聚类提供了一种高效、鲁棒且无参数的解决方案。
我们需要推导以下优化问题的解析解:
minααTMα−2dTα,
\min_{\boldsymbol{\alpha}} \boldsymbol{\alpha}^T \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d}^T \boldsymbol{\alpha},
αminαTMα−2dTα,
s.t.αT1=1,αp⩾0,∀p,
\text{s.t.} \quad \boldsymbol{\alpha}^T \mathbf{1} = 1, \quad \alpha_p \geqslant 0, \quad \forall p,
s.t.αT1=1,αp⩾0,∀p,
其中:
- α∈Rv\boldsymbol{\alpha} \in \mathbb{R}^vα∈Rv 是待优化的向量;
- M∈Rv×v\boldsymbol{M} \in \mathbb{R}^{v \times v}M∈Rv×v 是一个对称矩阵(因为它是核相关性矩阵 Tr(KpKq)\operatorname{Tr}(\boldsymbol{K}_p \boldsymbol{K}_q)Tr(KpKq) 构成的,满足 M(p,q)=M(q,p)M(p, q) = M(q, p)M(p,q)=M(q,p));
- d∈Rv\boldsymbol{d} \in \mathbb{R}^vd∈Rv 是一个已知向量;
- 1\mathbf{1}1 是元素全为 1 的向量;
- αp⩾0\alpha_p \geqslant 0αp⩾0 是非负约束。
这是一个带等式和不等式约束的二次规划(Quadratic Programming, QP)问题。由于目标函数是二次形式,且约束是线性的,我们可以通过拉格朗日乘子法结合KKT条件来推导其解析解。
步骤 1:构造拉格朗日函数
我们首先忽略非负约束 αp⩾0\alpha_p \geqslant 0αp⩾0,仅考虑等式约束 αT1=1\boldsymbol{\alpha}^T \mathbf{1} = 1αT1=1,构造拉格朗日函数:
L(α,λ)=αTMα−2dTα+λ(1−αT1), \mathcal{L}(\boldsymbol{\alpha}, \lambda) = \boldsymbol{\alpha}^T \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d}^T \boldsymbol{\alpha} + \lambda (1 - \boldsymbol{\alpha}^T \mathbf{1}), L(α,λ)=αTMα−2dTα+λ(1−αT1),
其中 λ\lambdaλ 是拉格朗日乘子。
步骤 2:求偏导并设置导数为零
对 α\boldsymbol{\alpha}α 和 λ\lambdaλ 分别求偏导,并令其等于零:
-
对 α\boldsymbol{\alpha}α 求偏导:
∂L∂α=2Mα−2d−λ1=0, \frac{\partial \mathcal{L}}{\partial \boldsymbol{\alpha}} = 2 \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d} - \lambda \mathbf{1} = 0, ∂α∂L=2Mα−2d−λ1=0,
得到:
2Mα−2d−λ1=0⇒Mα=d+λ21. 2 \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d} - \lambda \mathbf{1} = 0 \quad \Rightarrow \quad \boldsymbol{M} \boldsymbol{\alpha} = \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1}. 2Mα−2d−λ1=0⇒Mα=d+2λ1. -
对 λ\lambdaλ 求偏导:
∂L∂λ=1−αT1=0⇒αT1=1. \frac{\partial \mathcal{L}}{\partial \lambda} = 1 - \boldsymbol{\alpha}^T \mathbf{1} = 0 \quad \Rightarrow \quad \boldsymbol{\alpha}^T \mathbf{1} = 1. ∂λ∂L=1−αT1=0⇒αT1=1.
从第一个方程,我们可以解出 α\boldsymbol{\alpha}α:
Mα=d+λ21⇒α=M−1(d+λ21), \boldsymbol{M} \boldsymbol{\alpha} = \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \quad \Rightarrow \quad \boldsymbol{\alpha} = \boldsymbol{M}^{-1} \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \right), Mα=d+2λ1⇒α=M−1(d+2λ1),
假设 M\boldsymbol{M}M 是可逆的(通常在实际应用中,核相关性矩阵 M\boldsymbol{M}M 是正定或半正定的,若不可逆则需进一步处理)。
步骤 3:代入等式约束解 λ\lambdaλ
将 α=M−1(d+λ21)\boldsymbol{\alpha} = \boldsymbol{M}^{-1} \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \right)α=M−1(d+2λ1) 代入约束 αT1=1\boldsymbol{\alpha}^T \mathbf{1} = 1αT1=1:
(M−1(d+λ21))T1=1, \left( \boldsymbol{M}^{-1} \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \right) \right)^T \mathbf{1} = 1, (M−1(d+2λ1))T1=1,
即:
(d+λ21)T(M−1)T1=1. \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \right)^T (\boldsymbol{M}^{-1})^T \mathbf{1} = 1. (d+2λ1)T(M−1)T1=1.
由于 M\boldsymbol{M}M 是对称矩阵,M−1\boldsymbol{M}^{-1}M−1 也是对称的,因此 (M−1)T=M−1(\boldsymbol{M}^{-1})^T = \boldsymbol{M}^{-1}(M−1)T=M−1,于是:
(d+λ21)TM−11=dTM−11+λ21TM−11=1. \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \right)^T \boldsymbol{M}^{-1} \mathbf{1} = \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1} + \frac{\lambda}{2} \mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1} = 1. (d+2λ1)TM−11=dTM−11+2λ1TM−11=1.
定义以下中间量:
- a=dTM−11a = \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1}a=dTM−11,
- b=1TM−11b = \mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1}b=1TM−11。
则方程变为:
a+λ2b=1⇒λ2b=1−a⇒λ2=1−ab⇒λ=2(1−a)b. a + \frac{\lambda}{2} b = 1 \quad \Rightarrow \quad \frac{\lambda}{2} b = 1 - a \quad \Rightarrow \quad \frac{\lambda}{2} = \frac{1 - a}{b} \quad \Rightarrow \quad \lambda = \frac{2 (1 - a)}{b}. a+2λb=1⇒2λb=1−a⇒2λ=b1−a⇒λ=b2(1−a).
代入 aaa 和 bbb 的定义:
λ=2(1−dTM−11)1TM−11. \lambda = \frac{2 (1 - \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1})}{\mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1}}. λ=1TM−112(1−dTM−11).
步骤 4:代回求 α\boldsymbol{\alpha}α
将 λ\lambdaλ 代回 α\boldsymbol{\alpha}α 的表达式:
α=M−1(d+λ21)=M−1(d+1−dTM−111TM−111). \boldsymbol{\alpha} = \boldsymbol{M}^{-1} \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} \right) = \boldsymbol{M}^{-1} \left( \boldsymbol{d} + \frac{1 - \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1}}{\mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1}} \mathbf{1} \right). α=M−1(d+2λ1)=M−1(d+1TM−111−dTM−111).
整理得:
α=M−1d+1−dTM−111TM−11M−11. \boldsymbol{\alpha} = \boldsymbol{M}^{-1} \boldsymbol{d} + \frac{1 - \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1}}{\mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1}} \boldsymbol{M}^{-1} \mathbf{1}. α=M−1d+1TM−111−dTM−11M−11.
这是一个解析解,但它尚未考虑非负约束 αp⩾0\alpha_p \geqslant 0αp⩾0。
步骤 5:考虑非负约束 αp⩾0\alpha_p \geqslant 0αp⩾0
上述解是忽略非负约束的情况。如果 α\boldsymbol{\alpha}α 的某些分量 αp<0\alpha_p < 0αp<0,则需要引入非负约束,通过KKT条件进一步求解。KKT条件如下:
-
平稳性:∇αL−∑p=1vμp∇α(−αp)=0\nabla_{\boldsymbol{\alpha}} \mathcal{L} - \sum_{p=1}^v \mu_p \nabla_{\boldsymbol{\alpha}} (-\alpha_p) = 0∇αL−∑p=1vμp∇α(−αp)=0,即:
2Mα−2d−λ1+μ=0, 2 \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d} - \lambda \mathbf{1} + \boldsymbol{\mu} = 0, 2Mα−2d−λ1+μ=0,
其中 μ=[μ1,…,μv]T\boldsymbol{\mu} = [\mu_1, \ldots, \mu_v]^Tμ=[μ1,…,μv]T 是非负约束的拉格朗日乘子,μp⩾0\mu_p \geqslant 0μp⩾0。 -
互补松弛:μpαp=0,∀p\mu_p \alpha_p = 0, \forall pμpαp=0,∀p。
-
原始约束:αT1=1,αp⩾0\boldsymbol{\alpha}^T \mathbf{1} = 1, \alpha_p \geqslant 0αT1=1,αp⩾0。
-
对偶约束:μp⩾0\mu_p \geqslant 0μp⩾0。
从平稳性条件:
2Mα−2d−λ1+μ=0⇒α=M−1(d+λ21−12μ). 2 \boldsymbol{M} \boldsymbol{\alpha} - 2 \boldsymbol{d} - \lambda \mathbf{1} + \boldsymbol{\mu} = 0 \quad \Rightarrow \quad \boldsymbol{\alpha} = \boldsymbol{M}^{-1} \left( \boldsymbol{d} + \frac{\lambda}{2} \mathbf{1} - \frac{1}{2} \boldsymbol{\mu} \right). 2Mα−2d−λ1+μ=0⇒α=M−1(d+2λ1−21μ).
代入等式约束 αT1=1\boldsymbol{\alpha}^T \mathbf{1} = 1αT1=1,并利用互补松弛条件 μpαp=0\mu_p \alpha_p = 0μpαp=0(即若 αp>0\alpha_p > 0αp>0 则 μp=0\mu_p = 0μp=0,若 αp=0\alpha_p = 0αp=0 则 μp⩾0\mu_p \geqslant 0μp⩾0),需要确定哪些分量 αp=0\alpha_p = 0αp=0。
求解策略:激活集方法
-
初始假设:假设所有 αp>0\alpha_p > 0αp>0,则 μ=0\boldsymbol{\mu} = 0μ=0,此时解为步骤 4 中的解:
α=M−1d+1−dTM−111TM−11M−11. \boldsymbol{\alpha} = \boldsymbol{M}^{-1} \boldsymbol{d} + \frac{1 - \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1}}{\mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1}} \boldsymbol{M}^{-1} \mathbf{1}. α=M−1d+1TM−111−dTM−11M−11. -
检查非负性:
- 如果所有 αp⩾0\alpha_p \geqslant 0αp⩾0,则此解即为最终解。
- 如果某些 αp<0\alpha_p < 0αp<0,将这些分量设为 0(即加入“激活集” S={p∣αp=0}S = \{ p \mid \alpha_p = 0 \}S={p∣αp=0})。
-
更新问题:对剩余分量(αp>0\alpha_p > 0αp>0 的分量)重新求解:
- 令 I={p∣αp>0}I = \{ p \mid \alpha_p > 0 \}I={p∣αp>0},对这些分量重复上述拉格朗日方法,但只在 III 上优化。
- 具体地,定义子矩阵 MII\boldsymbol{M}_{II}MII 和子向量 dI\boldsymbol{d}_IdI,重新计算:
αI=MII−1dI+1−dITMII−11I1ITMII−11IMII−11I, \boldsymbol{\alpha}_I = \boldsymbol{M}_{II}^{-1} \boldsymbol{d}_I + \frac{1 - \boldsymbol{d}_I^T \boldsymbol{M}_{II}^{-1} \mathbf{1}_I}{\mathbf{1}_I^T \boldsymbol{M}_{II}^{-1} \mathbf{1}_I} \boldsymbol{M}_{II}^{-1} \mathbf{1}_I, αI=MII−1dI+1ITMII−11I1−dITMII−11IMII−11I,
其中 αI\boldsymbol{\alpha}_IαI 是 III 中分量的向量。
-
迭代:重复直到所有 αp⩾0\alpha_p \geqslant 0αp⩾0。
最终解析解(简化情况)
如果 M\boldsymbol{M}M 是正定矩阵,且初始解满足 αp⩾0\alpha_p \geqslant 0αp⩾0,则解析解为:
α=M−1d+1−dTM−111TM−11M−11. \boldsymbol{\alpha} = \boldsymbol{M}^{-1} \boldsymbol{d} + \frac{1 - \boldsymbol{d}^T \boldsymbol{M}^{-1} \mathbf{1}}{\mathbf{1}^T \boldsymbol{M}^{-1} \mathbf{1}} \boldsymbol{M}^{-1} \mathbf{1}. α=M−1d+1TM−111−dTM−11M−11.
否则,需要通过激活集方法迭代调整,直到满足所有约束。这种方法在实际中通常通过QP求解器实现(如论文中提到的“标准QP求解器”)。
总结
- 无非负约束时的解析解:通过拉格朗日乘子法可直接得到上述公式。
- 有非负约束时的解:需要结合KKT条件和激活集方法迭代求解,实际中通常使用QP求解器。
- 假设:推导中假设 M\boldsymbol{M}M 可逆。若 M\boldsymbol{M}M 不可逆(例如半正定),需引入伪逆或正则化方法,这在DMKKM的实际应用中可能需要进一步处理。