当我们把文档当作样本,词汇当作属性,属性的取值为该词汇在文档中占比(个数/总词汇数)——词频统计表
“词典”有对词的“释义”,取该词属于某一类的可能性(隶属度)作为其“释义”——词典矩阵
采用变量交替优化策略求解,用到矩阵的奇异值分解
稀疏表示与字典学习
通常我们用二维表格的形式表示数据集 D D D:
- 每行表示一个样本。
- 每列代表一个属性(特征)。
当我们把文档当作样本,词汇当作属性,属性的取值为该词汇在文档中占比(个数/总词汇数),则有表11.5。
显然,表11.5 中表体(词汇统计)会出现很多0,因为,在一个文档中出现的词汇在另一个文档中不一定出现,特别是不同类型的文档放在一起更是如此,故该表体是稀疏的。 表11.5 中的表头{词汇1,词汇2,词汇3, ⋯ \cdots ⋯,词汇d}可视“字典”或“词典”。
“词典”有对词的“释义”,取该词属于某一类的可能性(隶属度)作为其“释义”,现在我们将“词典”视为一本“体育词典",在表11.5 中加上“释义”形成表 11.6 。
由表 11.6 可以得到文档的体育性质的评分,如,文档1属于体育类文章的评分为
(
1
,
0.2
,
0.6
,
⋯
,
0.3
)
(
2
%
,
0
,
5
%
,
⋯
,
1.6
%
)
T
(1,0.2,0.6,\cdots ,0.3)(2\%,0,5\%,\cdots ,1.6\%)^\mathrm{T}
(1,0.2,0.6,⋯,0.3)(2%,0,5%,⋯,1.6%)T
现在我们在表 11.6 中添加文艺释义、新闻释义,等等,形成一本综合词典,表 11.6 变成了表 11.7 。
则文档1属于各类的评分为:
体育类得分: ( 1 , 0.2 , 0.6 , ⋯ , 0.3 ) ( 2 % , 0 , 5 % , ⋯ , 1.6 % ) T (1,0.2,0.6,\cdots ,0.3)(2\%,0,5\%,\cdots ,1.6\%)^\mathrm{T} (1,0.2,0.6,⋯,0.3)(2%,0,5%,⋯,1.6%)T
文艺类得分: ( 0 , 0.7 , 0.1 , ⋯ , 1 ) ( 2 % , 0 , 5 % , ⋯ , 1.6 % ) T (0,0.7,0.1,\cdots ,1)(2\%,0,5\%,\cdots ,1.6\%)^\mathrm{T} (0,0.7,0.1,⋯,1)(2%,0,5%,⋯,1.6%)T
⋯ ⋯ \cdots \cdots ⋯⋯
将其用一个式子表示,即为
(
体育类得分
文艺类得分
⋮
)
=
(
1
0.2
0.6
⋯
0.3
0
0.7
0.1
⋯
1
⋮
⋮
⋮
⋮
⋮
)
(
2
%
0
,
5
%
⋮
1.6
%
)
\begin{align*} \begin{pmatrix} \text{体育类得分}\\ \text{文艺类得分}\\ \vdots \end{pmatrix} = \begin{pmatrix} 1&0.2&0.6&\cdots &0.3\\ 0&0.7&0.1&\cdots &1\\ \vdots &\vdots&\vdots&\vdots&\vdots \end{pmatrix} \begin{pmatrix} 2\%\\ 0,5\%\\ \vdots \\ 1.6\% \end{pmatrix} \end{align*}
体育类得分文艺类得分⋮
=
10⋮0.20.7⋮0.60.1⋮⋯⋯⋮0.31⋮
2%0,5%⋮1.6%
将上述讨论总结为
x
=
B
α
\begin{align} \boldsymbol{x}=\mathbf{B}\boldsymbol{\alpha } \tag{11.15} \end{align}
x=Bα(11.15)
若用于多份文档,加个文档编号下标即可。
x
i
=
B
α
i
\begin{align} \boldsymbol{x}_i=\mathbf{B}\boldsymbol{\alpha }_i \tag{11.16} \end{align}
xi=Bαi(11.16)
其中,
B
\mathbf{B}
B即为字典矩阵,它有
k
k
k列代表着有
k
k
k个词汇(
k
k
k即为词汇量),它有
d
d
d行,每行是一个主题(如,第一行为体育),即有
d
d
d个主题,值为各词汇对各主题的隶属度(如,排球对体育主题的隶属度为1),
i
i
i为文档编号,
x
i
\boldsymbol{x}_i
xi为列向量,分量对应为属于该行主题的得分(如,第一行为体育),
α
i
\boldsymbol{\alpha}_i
αi为列向量,它为文档
i
i
i中各词汇的频度统计。
式(11.16)将文档 i i i的词频表达( α i \boldsymbol{\alpha}_i αi)转换成了主题表达( x i \boldsymbol{x}_i xi),转换后,通过比效 x i \boldsymbol{x}_i xi的分量就可以判断该文档是哪一类主题,如,体育和新闻主题得分高,就可知道该文档是一篇体育新闻。
观察式(11.16), x i \boldsymbol{x}_i xi为 d d d维, α i \boldsymbol{\alpha}_i αi为 k k k维, d ≪ k d \ll k d≪k,但 α i \boldsymbol{\alpha}_i αi为稀疏的,因此, α i \boldsymbol{\alpha}_i αi可以视为 x i \boldsymbol{x}_i xi的稀疏表达。 由此,已知 x i \boldsymbol{x}_i xi求其稀疏表达,这时需要字典 B \mathbf{B} B。 当不知道字典时,就需要进行字典学习,这时,可从【西瓜书式(11.15)】出发进行字典学习。
由于【西瓜书式(11.15)】中有两个变量( B \mathbf{B} B和 α i \boldsymbol{\alpha}_i αi),故采用变量交替优化策略求解。
问题1:固定
B
\mathbf{B}
B求
α
i
(
i
=
1
,
2
,
⋯
,
m
)
\boldsymbol{\alpha}_i\ (i=1,2,\cdots,m)
αi (i=1,2,⋯,m),其优化目标为
min
α
i
∣
∣
x
i
−
B
α
i
∣
∣
2
2
+
λ
i
∣
∣
x
i
∣
∣
1
\begin{align} \mathop{\min}\limits_{\boldsymbol{\alpha}_i}||\boldsymbol{x}_i-\mathbf{B}\boldsymbol{\alpha }_i ||_2^2+{\lambda}_i|| \boldsymbol{x}_i||_1 \tag{11.17} \end{align}
αimin∣∣xi−Bαi∣∣22+λi∣∣xi∣∣1(11.17)
问题2:固定
α
i
(
i
=
1
,
2
,
⋯
,
m
)
\boldsymbol{\alpha}_i\ (i=1,2,\cdots,m)
αi (i=1,2,⋯,m)求
B
\mathbf{B}
B,其优化目标为
min
B
∣
∣
X
−
B
A
∣
∣
F
2
\begin{align} \mathop{\min}\limits_{\mathbf{B}}||\mathbf{X}-\mathbf{B}\mathbf{A} ||_F^2 \tag{11.18} \end{align}
Bmin∣∣X−BA∣∣F2(11.18)
其中,
X
=
(
x
1
,
x
2
,
⋯
,
x
m
)
,
A
=
(
α
1
,
α
2
,
⋯
,
α
m
)
\mathbf{X}=(\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_m),\mathbf{A}=(\boldsymbol{\alpha}_1,\boldsymbol{\alpha}_2,\cdots,\boldsymbol{\alpha}_m)
X=(x1,x2,⋯,xm),A=(α1,α2,⋯,αm),且已知
X
\mathbf{X}
X。
变量交替优化策略就是将原问题【西瓜书式(11.15)】的求解转化为交替地求解问题1和问题2,反复迭代直到某结束条件被满足。
问题1的求解可使用PGD【西瓜书式(11.8)】的方式求解,注意:需要求解 m m m次,每次得到一个 α i ( i = 1 , 2 , ⋯ , m ) \boldsymbol{\alpha}_i\ (i=1,2,\cdots,m) αi (i=1,2,⋯,m)。
问题2的求解采用KSVD对其逐列更新,它实际上也是采用变量交替优化策略。 这里重点讲一下该方法。
设
B
=
(
b
1
,
b
2
,
⋯
,
b
k
)
\begin{align} \mathbf{B}=(\boldsymbol{b}_1,\boldsymbol{b}_2,\cdots,\boldsymbol{b}_k) \tag{11.19} \end{align}
B=(b1,b2,⋯,bk)(11.19)
其中,
b
j
\boldsymbol{b}_j
bj为列向量。 这样,矩阵
B
\mathbf{B}
B视为
k
k
k个未知向量,采用变量交替优化策略:固定
k
−
1
k-1
k−1个求其中一个向量
b
i
\boldsymbol{b}_i
bi。 从
b
1
\boldsymbol{b}_1
b1到
b
k
\boldsymbol{b}_k
bk逐个求一遍算作一轮,可以进行多轮迭代。
下面求
b
i
\boldsymbol{b}_i
bi,将矩阵
A
\mathbf{A}
A视为行向量组成,即
A
=
(
α
1
;
α
2
;
⋯
;
α
k
)
\begin{align} \mathbf{A}=(\boldsymbol{\alpha}^1;\boldsymbol{\alpha}^2;\cdots;\boldsymbol{\alpha}^k) \tag{11.20} \end{align}
A=(α1;α2;⋯;αk)(11.20)
式(11.18)已将矩阵
A
\mathbf{A}
A视为列向量组成(下标表示),这里又视为行向量组成(上标表示),它们的关系体现在矩阵
A
\mathbf{A}
A的元素表示为
(
A
)
i
j
=
α
j
i
(\mathbf{A})_{ij}={\alpha}^i_j
(A)ij=αji。
将式(11.19)、式(11.20)代入式(11.18),有
∣
∣
X
−
B
A
∣
∣
F
2
=
∣
∣
X
−
∑
j
=
1
k
b
j
α
j
∣
∣
F
2
=
∣
∣
(
X
−
∑
j
≠
i
k
b
j
α
j
)
−
b
i
α
i
∣
∣
F
2
=
∣
∣
E
i
−
b
i
α
i
∣
∣
F
2
\begin{align} \big|\big|\mathbf{X}-\mathbf{B}\mathbf{A} \big|\big|_F^2 &=\big|\big|\mathbf{X}-\sum_{j=1}^k\boldsymbol{b}_j\boldsymbol{\alpha}^j\big|\big|_F^2\notag\\ &=\big|\big|(\mathbf{X}-\sum_{j\neq i}^k\boldsymbol{b}_j\boldsymbol{\alpha}^j)-\boldsymbol{b}_i\boldsymbol{\alpha}^i\big|\big|_F^2\notag\\ &=\big|\big|\mathbf{E}_i-\boldsymbol{b}_i\boldsymbol{\alpha}^i\big|\big|_F^2 \tag{11.21} \end{align}
X−BA
F2=
X−j=1∑kbjαj
F2=
(X−j=i∑kbjαj)−biαi
F2=
Ei−biαi
F2(11.21)
其中,
E
i
=
X
−
∑
j
≠
i
k
b
j
α
j
\mathbf{E}_i=\mathbf{X}-\sum_{j\neq i}^k\boldsymbol{b}_j\boldsymbol{\alpha}^j
Ei=X−∑j=ikbjαj为已知矩阵(由于上述的固定)。
优化目标式(11.18)变为
min
b
i
∣
∣
E
i
−
b
i
α
i
∣
∣
F
2
\begin{align} \mathop{\min}\limits_{\boldsymbol{b}_i}\big|\big|\mathbf{E}_i-\boldsymbol{b}_i\boldsymbol{\alpha}^i\big|\big|_F^2 \tag{11.22} \end{align}
bimin
Ei−biαi
F2(11.22)
求解式(11.22)归结为对
E
i
\mathbf{E}_i
Ei进行奇异值分解(参见【西瓜书附录式(A.34)】),为保证奇异值分解过程不影响在求解问题1时获得的
A
\mathbf{A}
A的稀疏性,我们对式(11.22)作特殊处理(“瘦身”)再求解:
(1)由 A \mathbf{A} A的稀疏性知 α i \boldsymbol{\alpha}^i αi中会有许多零元素,将行向量 α i \boldsymbol{\alpha}^i αi的零元素删除,得到 ( α i ) ′ (\boldsymbol{\alpha}^i)' (αi)′。
(2)矩阵 E i \mathbf{E}_i Ei中保留与 ( α i ) ′ (\boldsymbol{\alpha}^i)' (αi)′对应的列。 可这样操作:作二维表,以行向量 α i \boldsymbol{\alpha}^i αi作为表头,以矩阵 E i \mathbf{E}_i Ei作为表体,删除 α i \boldsymbol{\alpha}^i αi零元素所在的列,则表头变为了 ( α i ) ′ (\boldsymbol{\alpha}^i)' (αi)′、表体变为了 ( E i ) ′ (\mathbf{E}_i)' (Ei)′。
(3)优化目标式(11.22)变为
min
b
i
∣
∣
(
E
i
)
′
−
b
i
(
α
i
)
′
∣
∣
F
2
\begin{align} \mathop{\min}\limits_{\boldsymbol{b}_i}\big|\big|(\mathbf{E}_i)'-\boldsymbol{b}_i(\boldsymbol{\alpha}^i)'\big|\big|_F^2 \tag{11.23} \end{align}
bimin
(Ei)′−bi(αi)′
F2(11.23)
(4)对式(11.23)加上“低秩”要求(需要指定超参数 k k k,缺省为 A \mathbf{A} A的秩),即为【西瓜书附录式(A.34)】,其中, A = ( E i ) ′ , A ~ = b i ( α i ) ′ \mathbf{A}=(\mathbf{E}_i)',\tilde{\mathbf{A}} =\boldsymbol{b}_i(\boldsymbol{\alpha}^i)' A=(Ei)′,A~=bi(αi)′。
(5)采用奇异值分解方法得到 A ~ \tilde{\mathbf{A}} A~的最优解为【西瓜书附录式(A.35)】的 A k {\mathbf{A}}_k Ak。
(6)从 b i ( α i ) ′ = A k \boldsymbol{b}_i(\boldsymbol{\alpha}^i)'={\mathbf{A}}_k bi(αi)′=Ak中求出 b i \boldsymbol{b}_i bi即可。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:11.4 嵌入式选择与L1正则化(将特征选择嵌入到优化算法中,以LASSO算法为代表)
下一篇:11.6 压缩感知(RIP算法竟将要解的方程式视为约束条件)