概念

目的:降维

input xRdx \subset R^d{x(i);i=1,...,n}\{x^{(i)}; i = 1, ..., n\}

output ZRkZ \subset R^k

F:XZF: X \rightarrow Z, k<<dk<<d

i 表示有几个sample(共n个),j表示有几个feature(共d个)

preprocess|数据的预处理

目的:将所有的feature normalize为mean=E[xj(i)]\mathbb{E}[x_j^{(i)}]=0,variance=Var[xj(i)]Var[x_j^{(i)}]=1的数据

方法

xj(i)xj(i)μjσjwhere, μj=1ni=1nxj(i), σj2=1ni=1n(xj(i)μj)2x_j^{(i)}\leftarrow \frac{x_j^{(i)}-\mu_j}{\sigma_j}\\ \text{where, }\mu_j=\frac{1}{n}\sum_{i=1}^n x_j^{(i)},\ \sigma^2_j=\frac{1}{n}\sum_{i=1}^n(x_{j}^{(i)}-\mu_j)^2

如果我们能够确定不同的feature都有相同的scale,则可以表示

?parameter estimation使用的是EM算法

计算major axis of variation uu

u为unit vector,x为sample,在图上标示为不同的点

在projection(将2d降维1d的时候),为了保留更多的信息,我们选择projection data 的variance较大的,也就是投影点分布更加均匀的。

因为经过normalize了,所以u一定经过原点。

Projection Variance Max|投影最大化

点x在向量u上面点投影是 xTux^Tu

Projection的求法:

Proju(x)2=xTu||Proj_u(x)||_2=|x^Tu|

Variance的求法:

Var(Proju(x))=xTu2Var(Proj_u(x))=|x^Tu|^2

所有点x在单个u上面投影的variance:

1ni=1n(x(i)Tu)2=1ni=1nuTx(i)x(i)Tu=uT(1ni=1nx(i)x(i)T)u=uTΣ^u\frac{1}{n}\sum_{i=1}^n(x^{(i)^T}u)^2=\frac{1}{n}\sum_{i=1}^nu^Tx^{(i)}x^{(i)^T}u\\=u^T(\frac{1}{n}\sum_{i=1}^nx^{(i)}x^{(i)^T})u =u^T\hat\Sigma u

如果u2=1||u||_2=1,则principal eigenvector可以化简为Σ^=1ni=1nx(i)x(i)T\hat\Sigma = \frac{1}{n}\sum_{i=1}^nx^{(i)}x^{(i)^T},即

maxu2=1uTΣ^u=λ1\max_{||u||_2=1}u^T\hat\Sigma u =\lambda_1

其中 λ_1\lambda\_1 表示first eigenvalue of Σ^\hat\Sigma principle eigenvalues,此时的u取的是1st principal eigenvector of Σ^\hat\Sigma

小结

x最好的1D方向是 1st eigenvectors of covariance,即 v1Σˉv_1\bar\Sigma。可以使用pytorch的torch.lobpcg函数

如果我们想把数据投射到1D中,则选择 uu to be principal eigenvector of Σ\Sigma

降维投射完毕的数据:X.mm(V)X.mm(V) ,其中V为前k个eigenvector,size (d, k)。XXm×dm \times d 维度降为 m×km \times k

如果我们想把数据投射到 kk D中,

方法一:选择 $ u_1, u_2, …, u_k$ to be the top kk eigenvectors of Σ\Sigma

maxu1,u2,...,uki=1u[u1Tx(i)u2Tx(i)...ukTx(i)]22=v1,v2,...,vk\max_{u_1,u_2,...,u_k}\sum_{i=1}^u\left|\left|\left[\begin{matrix}u_1^Tx^{(i)}\\u_2^Tx^{(i)}\\...\\u_k^Tx^{(i)} \end{matrix}\right] \right|\right|_2^2=v_1,v_2,...,v_k

方法二:

minu1,u2,...,uki=1nxixˉi22=i=1nxil=1k(ulTxi)ul22\min_{u_1,u_2,...,u_k}\sum_{i=1}^n||x_i-\bar x_i||_2^2\\ =\sum_{i=1}^n||x_i-\sum_{l=1}^k(u^T_lx_i)u_l||_2^2

其中 xˉi\bar x_i 表示reconstruction example given by basic component


声明:此blog内容为上课笔记,仅为分享使用。部分图片和内容取材于课本、老师课件、网络。如果有侵权,请联系aursus.blog@gmail.com删除。