聚类
需要多少类?empirical
K-means
步骤:
- 初始化k个聚类中心
- 每个样本算和各个聚类中心的距离,归类到最近的中心点所在的类,更新聚类中心,重复这一步骤
Hierarchical Agglomerative Clustering
步骤
- 建树结构
- 选择threshold
聚类:一个对象必须属于某一类,以偏概全,引出了distributed representation
降维
寻找一个function,使得输出的维度低于输入的维度
特征选择
直接拿掉某些特征
PCA
z=Wx选择使得投影后区分度大的方向,即要最大化输出的方差,找到的W是正交矩。
求解方法:拉格朗日法
比如寻找第一个投影向量w1,使得 z1=w1⋅x:var(z1)=z1∑(z1−z1)2=x∑(w1⋅x−w1⋅x)2=x∑(w1⋅(x−x))2=(w1)Tx∑(x−x)(x−x)Tw1=(w1)TSw1目标函数为max(w1)TSw1约束为(w1)Tw1=1构造拉格朗日函数g(w1)=(w1)TSw1−α((w1)Tw1−1)令导数为0,得到解为Sw1−αw1=0等价于(w1)TSw1=α(w1)Tw1即寻找最大的特征值对应的特征向量
如果要找第二个投影向量w2,目标函数不变,约束为(w2)Tw2=1(w2)Tw1=0
结论
PCA能够去相关性,即降维后的数据的协方差矩阵对对角阵
PCA的另一角度
- 最小化重构误差L={u1,…,uK}min∑∥∥∥∥∥(x−x)−(k=1∑Kckuk)∥∥∥∥∥2
SVD
每一个matrix X可以分解称X≈U∑V,U对应的列是一组正交的特征向量,对应的特征值是XXT(就是协方差矩阵)的特征值
所以U的解(u1,...)就是PCA得出的解(w1,...),PCA降维得到的结果就是∑V里的vector
- 可以用只有一个隐藏层的神经网络来表示
缺陷
- 无监督,LDA是考虑label的降维方法
- 线性
NMF非负矩阵分解
Matrix Factorization
寻找潜在因素,背后共同属性。

矩阵X看作是两个vector的内积,比如有M个人,N件物品组成的矩阵,潜在因素向量的维度为K
X(M∗N)=Ri(M∗K)×Rj(K∗N)最小化重构误差的结果也就是SVD
有missing data时可以用梯度下降寻找L=(i,j)∑(ri⋅rj−nij)2得到latent factor后就可以去预测missing data,即推荐系统
潜在语义分析即Matrix Factorization,其中的matrix是词频(可以由inverse document frequency加权)。