概念

目的:降维

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

output Z⊂RkZ \subset R^k

F:X→ZF: 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=1n∑i=1nxj(i), σj2=1n∑i=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))=∣xTu∣2Var(Proj_u(x))=|x^Tu|^2

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

1n∑i=1n(x(i)Tu)2=1n∑i=1nuTx(i)x(i)Tu=uT(1n∑i=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

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

max⁡∣∣u∣∣2=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)。XX 从 m×dm \times d 维度降为 m×km \times k

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

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

max⁡u1,u2,...,uk∑i=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

方法二:

min⁡u1,u2,...,uk∑i=1n∣∣xi−xˉi∣∣22=∑i=1n∣∣xi−∑l=1k(ulTxi)ul∣∣22\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删除。