这篇文章,同一个人(团队?)写的,遗憾的是,没怎么看懂。怎么说呢,里面的关于对偶的性质实在不知道从何入手,但想来还是得记一笔。
引
这篇文章,讨论的是这样的一个问题,有一个矩阵
M
∈
R
n
1
×
n
2
M \in \mathbb{R}^{n_1 \times n_2}
M∈Rn1×n2,但是因为种种原因,我们只能知晓其中的一部分元素即
P
Ω
(
M
)
P_{\Omega}(M)
PΩ(M),那么问题来了,有没有办法能够恢复
M
M
M呢,或者说在什么条件下我们能恢复
M
M
M呢(实际上,这个问题好像是作者前一篇论文已经给出了答案)?然后,又有新的困难,因为我们的观测是有误差的,也就是说我们观测到的实际上不是
P
Ω
(
M
)
P_{\Omega}(M)
PΩ(M),而是
P
Ω
(
M
+
Z
)
P_{\Omega}(M+Z)
PΩ(M+Z)。
作者总拿Netflix举例子,类似地,我们可以用网易云来举例子(虽然估计网易云的推荐方法和这个并没有啥大关系)。
我们可以这么想, M M M的每一行是一个用户,每一列是一首歌,其中的每一个元素是该用户给这首歌打的分(当然,这个分可能是通过一些操作的判断的,比如收藏,评论,下载,是否跳过等等)。显然,一个用户不可能听过里面的所有的歌,一首歌也没法让所有人都听(打分),所以,我们所见识到的是 P Ω ( M ) P_{\Omega}(M) PΩ(M),一个稀疏的矩阵。然而,推荐歌曲,关注的就是那些用户没有听过的但可能被打高分的歌,所以我们要做的就是利用 P Ω ( M ) P_{\Omega}(M) PΩ(M)恢复出 M M M。听起来的确蛮好玩的。
然后问题是,恢复需要什么前提。很显然,如果一首歌没有被人听过,或者该用户没有听过任何歌,肯定没法把分数恢复出来,因为这跟瞎猜没分别,所以,假设就是 M M M低秩,但是每行每列不能全为零。
和之前一样,作者采用不连贯条件来描述:
恢复1
本来,是应该求解下述问题的:
但是,这个问题很难求解(NP-hard)。
然后 r a n k \mathrm{rank} rank的凸放松是 ∥ ⋅ ∥ ∗ \|\cdot\|_* ∥⋅∥∗核范数,所以:
核范数与SDP
然后,作者指出,核范数可以通过对偶,转换成一个半正定规范问题(看这篇论文最大的收获吧)。
∥
X
∥
∗
≤
y
⇔
存
在
对
称
矩
阵
W
1
,
W
2
使
得
M
:
=
[
W
1
X
X
T
W
2
]
⪰
0
,
T
r
W
1
+
T
r
W
2
≤
2
y
\|X\|_* \le y \Leftrightarrow 存在对称矩阵W_1,W_2 使得 M:= \left [ \begin{array}{cc} W_1 & X \\ X^T & W_2 \end{array} \right ] \succeq 0, \mathrm{Tr} W_1 + \mathrm{Tr} W_2 \le 2y
∥X∥∗≤y⇔存在对称矩阵W1,W2使得M:=[W1XTXW2]⪰0,TrW1+TrW2≤2y
先来前推后,只要构造出这么一个
W
1
W_1
W1就可以了。假设
X
=
U
Σ
V
T
,
Σ
∈
R
r
×
r
X = U\Sigma V^T, \Sigma \in \mathbb{R}^{r \times r}
X=UΣVT,Σ∈Rr×r,
W
1
=
U
Σ
U
T
,
W
2
=
V
Σ
V
T
W_1 = U\Sigma U^T,W_2=V\Sigma V^T
W1=UΣUT,W2=VΣVT。那么,
T
r
W
1
+
T
r
W
2
≤
2
y
\mathrm{Tr} W_1 + \mathrm{Tr} W_2 \le 2y
TrW1+TrW2≤2y容易证明,第一个条件这么来玩:
[
z
1
T
,
z
2
T
]
[
W
1
X
X
T
W
2
]
[
z
1
z
2
]
[z_1^T, z_2^T] \left [ \begin{array}{cc} W_1 & X \\ X^T & W_2 \end{array} \right ] \left [ \begin{array}{c} z_1\\ z_2 \end{array} \right ]
[z1T,z2T][W1XTXW2][z1z2]
再令
a
=
U
T
z
1
,
b
=
V
T
z
2
a = U^Tz_1, b = V^Tz_2
a=UTz1,b=VTz2,可得:
[
z
1
T
,
z
2
T
]
[
W
1
X
X
T
W
2
]
[
z
1
z
2
]
=
(
a
+
b
)
T
Σ
(
a
+
b
)
≥
0
[z_1^T, z_2^T] \left [ \begin{array}{cc} W_1 & X \\ X^T & W_2 \end{array} \right ] \left [ \begin{array}{c} z_1\\ z_2 \end{array} \right ] = (a+b)^T \Sigma (a+b) \ge 0
[z1T,z2T][W1XTXW2][z1z2]=(a+b)TΣ(a+b)≥0
对于任意的
z
1
,
z
2
z_1, z_2
z1,z2成立,所以半正定条件也得证了。
好了,现在来反推:
∥
X
∥
∗
=
sup
{
T
r
(
X
T
W
)
∣
∥
W
∥
≤
1
}
\|X\|_* = \sup \{\mathrm{Tr}(X^TW)|\|W\|\le 1\}
∥X∥∗=sup{Tr(XTW)∣∥W∥≤1},其中
∥
⋅
∥
\|\cdot\|
∥⋅∥表示谱范数。
注意
∥
A
∥
∗
≤
T
r
(
A
)
\|A\|_* \le \mathrm{Tr}(A)
∥A∥∗≤Tr(A),当
A
A
A为半正定矩阵的时候。
所以
∥
M
∥
∗
≤
T
r
(
M
)
=
T
r
(
W
1
+
W
2
)
≤
2
y
\|M\|_* \le \mathrm{Tr}(M)=\mathrm{Tr}(W_1+W_2)\le 2y
∥M∥∗≤Tr(M)=Tr(W1+W2)≤2y
又
∥
M
∥
∗
=
sup
{
T
r
(
M
T
W
)
∣
∥
W
∥
≤
1
}
\|M\|_* = \sup \{\mathrm{Tr}(M^TW)|\|W\|\le 1\}
∥M∥∗=sup{Tr(MTW)∣∥W∥≤1},所以
T
r
(
M
T
W
)
≤
2
y
\mathrm{Tr}(M^TW) \le 2y
Tr(MTW)≤2y
又
N
:
=
[
U
T
0
0
V
T
]
M
[
0
I
n
1
×
n
1
I
n
2
×
n
2
0
]
[
V
0
0
U
]
=
[
Σ
U
T
W
1
U
V
T
W
2
V
Σ
]
N := \left [ \begin{array}{cc} U^T & 0 \\ 0 & V^T \end{array} \right ] M \left [ \begin{array}{cc} 0 & I_{n_1 \times n_1} \\ I_{n_2 \times n_2} & 0 \end{array} \right ] \left [ \begin{array}{cc} V & 0\\ 0 & U \end{array} \right ] = \left [ \begin{array}{cc} \Sigma & U^TW_1U \\ V^TW_2V & \Sigma \end{array} \right ]
N:=[UT00VT]M[0In2×n2In1×n10][V00U]=[ΣVTW2VUTW1UΣ]
令
W
=
[
0
I
n
1
×
n
1
I
n
2
×
n
2
0
]
[
V
0
0
U
]
[
U
T
0
0
V
T
]
=
[
0
U
V
T
V
U
T
0
]
W = \left [ \begin{array}{cc} 0 & I_{n_1 \times n_1} \\ I_{n_2 \times n_2} & 0 \end{array} \right ] \left [ \begin{array}{cc} V & 0\\ 0 & U \end{array} \right ] \left [ \begin{array}{cc} U^T & 0 \\ 0 & V^T \end{array} \right ] = \left [ \begin{array}{cc} 0 & UV^T \\ VU^T & 0 \end{array} \right ]
W=[0In2×n2In1×n10][V00U][UT00VT]=[0VUTUVT0]
容易证明
∥
W
∥
≤
1
\|W\| \le 1
∥W∥≤1,所以
T
r
(
N
)
=
T
r
(
M
T
W
)
=
2
∥
X
∥
∗
≤
2
y
\mathrm{Tr}(N) = \mathrm{Tr}(M^TW)=2\|X\|_*\le 2y
Tr(N)=Tr(MTW)=2∥X∥∗≤2y,故
∥
X
∥
∗
≤
y
\|X\|_* \le y
∥X∥∗≤y得证。但愿没出错。。。
然后,论文就给出了第一个定理,关于恢复的:
这个结果貌似是之前的工作,,满足一定条件,
M
M
M就会有很大概率被恢复。
然后呢,论文又提了以下加强版的不连贯条件:
然后有相应的定理2:
然后跳过。
稳定恢复
用户的评分是不一定正确,不同的场合,不同的天气可能就会给出不同的分数,如果是机器推断的分数那就更是如此了。所以,我们观测的部分数据实际上不一定是
P
Ω
(
M
)
P_\Omega (M)
PΩ(M),而是
P
Ω
(
Y
)
=
P
Ω
(
M
+
Z
)
P_\Omega (Y) = P_\Omega (M+Z)
PΩ(Y)=PΩ(M+Z),其中
Z
Z
Z是类似噪声的存在。
假设,
∥
P
Ω
(
Z
)
∥
F
≤
δ
\|P_{\Omega}(Z)\|_F \le \delta
∥PΩ(Z)∥F≤δ,求解下列问题:
min
∥
X
∥
∗
s
.
t
.
∥
P
Ω
(
X
−
Y
)
∥
F
≤
δ
\begin{array}{cc} \min & \|X\|_* \\ s.t. & \|P_{\Omega}(X-Y)\|_F \le \delta \end{array}
mins.t.∥X∥∗∥PΩ(X−Y)∥F≤δ
这个问题同样可以作为SDP求解,假设其解为
M
^
\hat{M}
M^。有如下定理:
但是问题是,我们从何知道
δ
\delta
δ呢?而在实际操作的时候,作者是求解下述问题:
min 1 2 ∥ P Ω ( X − Y ) ∥ F 2 + μ ∥ X ∥ ∗ \min \quad \frac{1}{2} \|P_{\Omega} (X-Y)\|_F^2 + \mu \|X\|_* min21∥PΩ(X−Y)∥F2+μ∥X∥∗
作者说,这个问题是上面那个问题的对偶结果,饶了我吧,有点像,但是整不出来。然后,不同的情况,作者也给出了 μ \mu μ的一些选择。
作者还拿上面的结果和下面的神谕问题进行了比较:
这个神谕,就是指,我们已经知道
X
∈
T
X \in T
X∈T里面了,然后用了对偶还是共轭算子?晕了已经。就这样吧,再看我就得吐了。