无监督学习
有两种:
-化繁为简
-无中生有
Clustering
有个关键问题:到底需要用多少cluster?
K-means
Step1: 先从训练数据里随机找几个Kcenter。
Step2: 再把X聚类到这些Kcenter里去。
Step3: 再重复:决定xn属于哪一个K,然后update所有K中心
HAC
Step1: build a tree
Step2: pick a threshold (决定切在树的structure的哪里)
Distributed Representation
也是一种降维
Dimension Reduction
- Feature selection
-
Principle component analysis:x到z的关系是一个linear transform的关系,就是x乘上一个matrix W就得到z。
PCA
降至一维:z是一个vector或者scaler
x透过w1投影成z1
z1=w1*x
希望选一个w1透过它投射到的z的分布越分散越好,就是w指向更开阔的方向。(横坐标是宝可梦的强度,纵坐标是宝可梦防御力,w1就是代表宝可梦的强度)。
如果想投影到不只1维,怎么做?
找一个w2跟w1做inner product(内积),z1加z2就是z,w1和w2的transpose合起来就是W的第一个和第二个row。
怎么找w2?也是希望z2方差越大越好,但是需要再加一个control,w1和w2需要是垂直的。
最后的W是一个Orthogonal matrix (正交矩阵)。
然后是一堆数学计算。。。
结论:w1 is the eigenvector (特征向量) of the covariance matrix S, corresponding to the largest eigenvalue (特征值) λ1。
w2 is the eigenvector (特征向量) of the covariance matrix S, corresponding to the second largest eigenvalue (特征值) λ2。
下面是自己找的特征向量的解释:
数学上,线性变换的特征向量(本征向量)是一个非简并的向量,其方向在该变换下不变。该向量在此变换下缩放的比例称为其特征值(本征值)。
线性变换的特征向量是指在变换下方向不变,或者简单地乘以一个缩放因子的非零向量。
特征向量对应的特征值是它所乘的那个缩放因子。
特征空间就是由所有有着相同特征值的特征向量组成的空间,还包括零向量,但要注意零向量本身不是特征向量 [1] 。
线性变换的主特征向量是最大特征值对应的特征向量。
来源:https://baike.baidu.com/item/%E7%89%B9%E5%BE%81%E5%90%91%E9%87%8F/8663983?fr=aladdin
通俗点讲,拉伸一个矩阵的时候方向不变的那些就是特征向量,拉伸后延长的倍数就是特征值。比如长方形拉成菱形,水平轴和左上右下对角线上的方向不变。如果想象成三维立方体,特征向量就是物体的旋转轴。
https://www.bilibili.com/video/BV1mi4y1G714/
PCA-decorrelation
这一部分不是很懂
PCA-Another Point of View
把一些basic component: u1, u2, u3, u4, u5…加起来可以得到一个数字比如说7
这些component也就是28乘28的vector。
可以用公式表达,如果component远比image像素少,就可以用component的weight合集降维。
x的真实值和(x用compoment计算的值减去x均值)这两者之间存在差异,就reconstruction error,现在需要找一组component使这个error最小。
u(component)的matrix和c(weight)的matrix的乘积最接近x的matrix
接下来的SVD没看懂
Auto encoder 这部分也没看懂
PCA looks like a neural network with one hidden layer (linear activation function).
Weakness of PCA
- Unsupervised
-
Linear
PCA实例
PCA宝可梦
800种宝可梦,6种特征(6维vector)
要多少个principle component?(每个PC是一个egienvector)
一个常见的方法是先算6个特征值 λ,第5和第6个λ比较小,只需要前4个componengt就好。
PCA-MNIST
PCA分析手写数字
PCA-Pace
为什么每个compoment都像完整的脸?
因为PCA可以做加法也可以做减法,有一个解决方法是Non-negative matrix factorization (NMF),强迫所有component的weight都是正的,且component的每一个dimension也必须是正的。
NMF on MNIST
NMF on Face
Matrix Factorization
御宅族和收藏的公仔的背后有一些共通的因素。
The factors are latent,没办法直接观察到。
可以通过御宅族收藏公仔的情况去了解背后的因素。
横轴公仔,纵轴御宅族,构成Matrix X,Matrix上的值是横纵轴的乘积。
K就说latent factor的数目事先不知道,需要试出来,就是先设个初值,再不断尝试。
现在要做的是找一组rA、rB…和r1、r2…使他们的乘积和Matrix X(收藏公仔数目的matrix)差距最小。
但有时候有些information是不知道的,这时候可以用gradient desent的方法,写一个loss function去minimize横纵坐标乘积和收藏公仔数目的差距。
Matrix Factorization for Topic analysis
Latent semantic analysis (LSA)
我自己的summary:
无监督学习有化繁为简和无中生有两者,前者有Clustering(K-mean、HAC)和Dimension Reduction(feature selection、PCA、NMF)。PCA是x通过矩阵运算w投射成z降至一维,z是scaler,也可降至二维(w1和w2是正交矩阵)。PCA缺陷是unsupervised和linear。PCA在降维处理时删去了部分细节特征,导致一部分信息丢失,解决是NMF,是指通过将非负的数据矩阵,分解成两个小的矩阵的乘积。可以把每个人的属性用vector rA、rB…表示,而公仔的属性是r1、r2…表示,人购买的公仔数量可以用 matrix X表示。目标是找一组rA、rB…和r1、r2…使他们的乘积和Matrix X差距最小。MF可用于topic analysis。