UA MATH567 高维统计 专题0 为什么需要高维统计理论?——理解稀疏向量与hard-threshold
在上一篇的末尾,我们谈到了经典统计与高维统计的区别,在高维统计中,information is sparse in features,即并不是每个特征都是一样重要的,重要的特征占比非常小,这种特性被称为sparsity。不论是为了模型能处理高维问题还是为了提高计算效率,我们都需要去探索稀疏向量与稀疏矩阵的结构,下面我用一个简单的例子说明探索稀疏矩阵的结构的意义:
假设我们要做线性模型:
y
=
X
β
+
ϵ
y=X\beta+\epsilon
y=Xβ+ϵ,
X
X
X是正交的设计矩阵,维数为
n
×
p
n \times p
n×p,假设
p
=
O
(
n
)
p=O(n)
p=O(n),这是一个高维统计问题,我们可以期待系数一定是稀疏的
s
=
#
{
j
:
β
j
≠
0
}
<
<
p
s=\#\{j:\beta_j \ne 0\}<<p
s=#{j:βj=0}<<p
β
\beta
β的正则方程为
X
′
X
β
=
X
′
y
X'X \beta =X'y
X′Xβ=X′y
用分量形式表达为
x
j
T
x
j
β
j
=
x
j
′
y
j
x_j^Tx_j \beta_j = x_j'y_j
xjTxjβj=xj′yj
求解正则方程可以得到
β
\beta
β的OLS估计,计算复杂度为
O
(
N
2
p
)
O(N^2p)
O(N2p);因为
β
\beta
β是稀疏向量,我们可以预期很多
β
\beta
β都是0,如果我们对
β
\beta
β的取值能做一下预估计,就可以引入hard-threshold,
x
j
,
δ
=
x
j
1
∣
β
j
∣
>
δ
x_{j,\delta}=x_j1_{|\beta_j|>\delta}
xj,δ=xj1∣βj∣>δ
并把正则方程修改为
X
δ
′
X
δ
β
=
X
δ
′
y
X_{\delta}'X_{\delta} \beta =X_{\delta}'y
Xδ′Xδβ=Xδ′y
做了这个操作后,计算复杂度可以降低为 O ( N 2 s ) O(N^2s) O(N2s)。高维时, p p p与 N N N同阶,所以直接求解正则方程复杂度的阶为 N 3 N^3 N3; s s s是 N N N的无穷小量,引入hard-threshold后,求解正则方程复杂度的阶为 N 2 N^2 N2。
稀疏向量的soft-threshold与hard-threshold近似
假设 x x x是一个稀疏向量,我们可以对 x x x做一些近似,即让 x x x中比较小的一些元素变成0,仅保留一些比较大的元素,这种近似可以把 x x x的结构简化,在高维统计与高维数据分析中会有意想不到的效果。常用的做法有两种,分别是soft-threshold近似与hard-threshold近似。
称
H
λ
(
x
)
H_{\lambda}(x)
Hλ(x)是
x
x
x的hard-threshold近似,如果
H
λ
(
x
)
=
x
1
∣
x
∣
>
λ
=
{
x
i
f
∣
x
∣
>
λ
0
o
t
h
e
r
w
i
s
e
H_{\lambda}(x) = x 1_{|x|>\lambda} = \begin{cases} x\ if\ |x|>\lambda \\ 0\ otherwise \end{cases}
Hλ(x)=x1∣x∣>λ={x if ∣x∣>λ0 otherwise
称这个近似为hard-threshold近似的原因我觉得可能是它比较无情,它就是一个简单的keep-or-kill机器, x x x的元素中绝对值大于 λ \lambda λ的才能幸存,其他的就被“杀”掉了;
称
T
λ
(
x
)
T_{\lambda}(x)
Tλ(x)是
x
x
x的soft-threshold近似,如果
T
λ
(
x
)
=
(
x
−
λ
s
i
g
n
(
x
)
)
1
∣
x
∣
>
λ
=
{
x
−
λ
s
i
g
n
(
x
)
i
f
∣
x
∣
>
λ
0
o
t
h
e
r
w
i
s
e
T_{\lambda}(x)=(x-\lambda sign(x))1_{|x|>\lambda} = \begin{cases} x-\lambda sign(x)\ if\ |x|>\lambda \\ 0\ otherwise \end{cases}
Tλ(x)=(x−λsign(x))1∣x∣>λ={x−λsign(x) if ∣x∣>λ0 otherwise
这里的 s i g n ( x ) sign(x) sign(x)表示 x x x的每个元素的符号,之所以称它是soft-threshold是因为幸存的元素没有全部大于 λ \lambda λ,所以显得比hard-threshold近似更温和,下图可以比较一下两种近似的区别( λ = 0.4 \lambda=0.4 λ=0.4):
引入hard-threshold的线性判别分析
前两讲我们讨论了多元统计中的经典模型线性判别分析,发现在高维时它的classification error满足高维统计理论的模式,而高维统计理论得到的theoretical classification error比经典理论的oracle error更大。于是我们可以提出一个很有趣的问题:既然经典方法处理高维问题classification error与高维统计理论的theoretical classification error一致,那么用高维统计方法处理高维问题的classification error又会是什么样子的呢?
我们延续对判别分析的讨论,在高维时,用于分类的特征维数较高,我们可以预料到有效的特征数目较少,于是我们可以引入hard-threshold来去掉那些取值较小变化不大的特征。引入特征的样本均值 μ ^ 1 = 1 n 1 ∑ i = 1 n 1 x i , μ ^ 2 = 1 n 2 ∑ i = n 1 + 1 n 1 + n 2 x i \hat \mu_1 = \frac{1}{n_1}\sum_{i=1}^{n_1} x_i,\hat \mu_2 = \frac{1}{n_2} \sum_{i=n_1+1}^{n_1+n_2} x_i μ^1=n11i=1∑n1xi,μ^2=n21i=n1+1∑n1+n2xi
基于特征的样本均值,我们引入它的hard-threshold近似
μ
~
1
=
H
λ
(
μ
^
1
)
,
μ
~
2
=
H
λ
(
μ
^
2
)
,
λ
=
2
log
d
n
\tilde{\mu}_1=H_{\lambda}(\hat \mu_1),\tilde{\mu}_2=H_{\lambda}(\hat \mu_2),\lambda = \sqrt{\frac{2\log d}{n}}
μ~1=Hλ(μ^1),μ~2=Hλ(μ^2),λ=n2logd
引入Pooled sample covariance matrix,
Σ
^
=
∑
i
=
1
n
1
(
x
i
−
μ
^
1
)
(
x
i
−
μ
^
1
)
T
+
∑
i
=
1
n
2
(
x
i
−
μ
^
2
)
(
x
i
−
μ
^
2
)
T
n
1
+
n
2
−
2
\hat \Sigma =\frac{\sum_{i=1}^{n_1}(x_i-\hat \mu_1)(x_i - \hat \mu_1)^T+\sum_{i=1}^{n_2}(x_i-\hat \mu_2)(x_i - \hat \mu_2)^T}{n_1+n_2-2}
Σ^=n1+n2−2∑i=1n1(xi−μ^1)(xi−μ^1)T+∑i=1n2(xi−μ^2)(xi−μ^2)T
从而判别函数为
Ψ
~
(
x
)
=
(
μ
~
1
−
μ
~
2
)
′
Σ
^
−
1
(
x
−
μ
~
1
+
μ
~
2
2
)
\tilde{\Psi}(x)=(\tilde \mu_1- \tilde \mu_2)' \hat \Sigma^{-1}(x-\frac{\tilde \mu_1+ \tilde\mu_2}{2})
Ψ~(x)=(μ~1−μ~2)′Σ^−1(x−2μ~1+μ~2)
基于这个判别函数进行判别分析,我们可以发现:
也就是说在这种情况下,模拟实验的结果更接近classical oracle,事实上在高维统计理论中,
log
C
d
s
n
→
0
\frac{\log C_d^s}{n} \to 0
nlogCds→0
时,classical oracle依然适用。