You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MVU实现中MOSEK状态异常咨询:模型问题还是容差问题?

MVU实现中CVX求解器状态异常的分析与解决

现象回顾

  • 使用CVX默认SDPT3求解器时,优化中途终止,返回Status: Unbounded
  • 切换MOSEK求解器后,返回Problem status: UNKNOWN及Status: Inaccurate/Unbounded
  • 调整MOSEK的MSK_DPAR_INTPNT_CO_TOL_PFEAS、MSK_DPAR_INTPNT_CO_TOL_DFEAS等容差参数,仅swissroll、twinpeaks数据集能得到Status: Solved,helix数据集即使将容差调至1e-1仍无效

求解器状态差异的原因

SDPT3返回Unbounded的核心逻辑

SDPT3对无界问题的判定较为严格。MVU的原始SDP模型存在尺度不确定性:低维嵌入可进行任意正交变换+缩放,导致目标函数(最大化方差)能无限增大,触发SDPT3的无界判定直接终止求解。

MOSEK返回Inaccurate/Unbounded的本质

该状态是模型固有特性+数值病态性共同作用的结果:

  • 部分数据集能通过调整容差得到Solved状态,是因为这些数据集的数值条件较好,放宽容差后求解器能在数值噪声范围内找到近似可行解;
  • helix数据集调大容差仍无效,说明其对应的SDP模型数值病态性更严重——比如样本邻接关系导致约束矩阵条件数极差,或存在近似线性相关的约束,求解器无法在放宽容差后找到符合要求的近似解。

核心疑问解答:模型问题还是容差问题?

两者均有影响,但模型的尺度不确定性是根源,容差调整仅为缓解手段:

  1. 模型层面:MVU原始模型无尺度约束,理论上目标函数无界,这是导致求解器返回无界相关状态的根本原因。标准MVU实现需添加额外约束固定尺度,比如约束某个样本的嵌入L2范数为1,或约束嵌入协方差矩阵的迹为固定值,消除尺度自由度;
  2. 容差层面:部分数据集通过调整容差得到Solved状态,是数值条件较好情况下的权宜之计,无法从根源解决无界问题。

可行解决步骤

  • 给MVU模型添加尺度约束:例如固定第一个样本的嵌入向量L2范数为1,或约束所有样本嵌入的协方差矩阵迹等于样本数量;
  • 对数据集做归一化预处理:降低样本特征的数值范围差异,缓解模型的数值病态性;
  • 尝试其他SDP求解器(如SeDuMi):对比状态返回结果,辅助定位问题根源;
  • 调整MOSEK更多参数:比如增大MSK_DPAR_INTPNT_MAX_ITER迭代次数,放宽MSK_DPAR_INTPNT_CO_TOL_REL_GAP相对间隙容差。

内容的提问来源于stack exchange,提问作者JCosta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:32:02