我正在尝试使用cvxpy
. 但是我正在努力约束矩阵如等式 (33-35) 中所述。引用论文(只是一个向量):
剩余约束是:
在哪里必须是. 由于约束不是线性的,我们放宽它使得:
通过以下财产:
在哪里表示是半正定矩阵。
我试图通过执行以下操作来强制这种结构:
u = cvx.Variable(D)
U = u*u.T
Zj = cvx.bmat([[1, u.T], [u, U]])
但是cvxpy
抱怨这u*u.T
是不正确的:
UserWarning: Forming a nonconvex expression (affine)*(affine).
求解器失败:
cvxpy.error.DCPError: Problem does not follow DCP rules
看来两个向量的外积不能这样实现。关于如何强制执行此约束的任何想法?
参考
- Yun、Sungrack 和 Chang D. Yoo。“用于语音情感分类的损失尺度大边距高斯混合模型。” IEEE 音频、语音和语言处理汇刊 20.2 (2012): 585-59