Principal Components Analysis
已有数据 $S = \{x^1, \ldots, x^m\}$, $x \in R^n$, 其中数据的某些维度可能强相关 预处理数据使得其各个维度的均值是0,方差为1
- 令 $\mu = \frac{1}{m}\sum_{i=1}^m x^i$
- 把 $x^i$ 用 $x^i - \mu$代替
- 计算 $\sigma_j^2 = \frac{1}{m}\sum_{i=1}^m (x_j^i)^2$
- 令 $x_j^i = \frac{x_j^i}{\sigma_j}$
如果 $\lVert u \rVert = 1$, $x$在 $u$ 方向上的投影为 $x^Tu$
最大化方差:
投影到1维
u是 $\Sigma$ 的特征向量, $\lambda$是对应的特征根
扩展到k维,选取前k大特征根对应的特征向量
最小化误差
Application of PCA
- 压缩
- 可视化
- 降维学习减少过拟合
- 异常检测
- 计算距离来避免噪音影响
Latent Semantic Indexing(LSI)
假设有d个文档 $D = \{x^1, \ldots, x^d\}$, $x \in R^n$, $x_j^i = 1$代表词表第i个词在文档j出现过,这种文本数据直接跳过预处理阶段
$sim(x^i,x^j) = \frac{\sum_{k}x_k^i x_k^j}{\lVert x^i \rVert \lVert x^j \rVert}$
用来处理learn和study之间相关性
矩阵奇异值分解(SVD)
比如上面的文本数据矩阵非常大,直接求特征值比较困难
把 $A \in R^{m \times n}$分解为 $A = UDV^T$,其中 $U \in R^{m \times n}$, $D \in R^{n \times n}$, $V \in R^{n \times n}$,D是对角矩阵,那么D的对角线就是A的特征值
U的列是 $AA^T$的特征向量
V的列是 $A^TA$的特征向量
Independent Components Analysis
n个人同时说话,被m个不同位置的麦克风记录,每个麦克风记录是n个人发声的不同的组合,我们怎么从中恢复出n个人说话的信号呢?
形式化地讲,假设n个独立数据源组成s,我们观察到
A被叫做混合矩阵, $S = \{x^i\; ; i = 1,\ldots,m\}$, 我们的目标是恢复出来生成数据的$s$,也就是求 $W = A^{-1}$
ICA的不确定性:
- 独立成分的顺序,显然只要A相应调换顺序那么观察到的x相同,也就是分离出来的声音并不能对应到具体的人
- 独立成分的能量or方差,显然如果把s缩小一定倍数,那么A扩大相应倍数观察到的x相同,也就是分离出来的声音大小不一定是等于真实声音大小
- 要求s是独立的 ( $p(s) = \prod_{i=1}^n p_s(s^i)$)
- 要求s是非高斯分布
假设 $s \sim N(0, I)$, 那么 $x \sim N(0, AA^T)$, 因为
现在令R为满足 $R^TR = RR^T = I$的矩阵,令 $A’ = AR$, $x’ = A’s$, 那么
也就是说 $x’ \sim N(0, AA^T)$,我们无法区分A和A’
假设s服从概率分别 $p_s$,那么
其中 $s_i = w_i ^T x$,我们选择 $p_s(s_i) = F_s’(s^i) = g’(s_i) = (\frac{1}{1 + e^{-s_i}})’$
因为
随机梯度下降