聚类
需要多少类?empirical
K-means
步骤:
- 初始化k个聚类中心
- 每个样本算和各个聚类中心的距离,归类到最近的中心点所在的类,更新聚类中心,重复这一步骤
Hierarchical Agglomerative Clustering
步骤
- 建树结构
- 选择threshold
聚类:一个对象必须属于某一类,以偏概全,引出了distributed representation
降维
寻找一个function,使得输出的维度低于输入的维度
特征选择
直接拿掉某些特征
PCA
z = W x z=Wx z=Wx选择使得投影后区分度大的方向,即要最大化输出的方差,找到的W是正交矩。
求解方法:拉格朗日法
比如寻找第一个投影向量
w
1
w^1
w1,使得
z
1
=
w
1
⋅
x
{z_1} = {w^1} \cdot x
z1=w1⋅x:
var
(
z
1
)
=
∑
z
1
(
z
1
−
z
‾
1
)
2
=
∑
x
(
w
1
⋅
x
−
w
1
⋅
x
‾
)
2
=
∑
x
(
w
1
⋅
(
x
−
x
‾
)
)
2
=
(
w
1
)
T
∑
x
(
x
−
x
‾
)
(
x
−
x
‾
)
T
w
1
=
(
w
1
)
T
S
w
1
\begin{aligned} \operatorname{var}\left(z_{1}\right) &=\sum_{z_{1}}\left(z_{1}-\overline{z}_{1}\right)^{2} \\ &=\sum_{x}\left(w^{1} \cdot x-w^{1} \cdot \overline{x}\right)^{2} \\ &=\sum_{x}\left(w^{1} \cdot(x-\overline{x})\right)^{2} \\ &=\left(w^{1}\right)^{T} \sum_{x}(x-\overline{x})(x-\overline{x})^{T} w^{1} \\ &=\left(w^{1}\right)^{T} S w^{1} \end{aligned}
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目标函数为
m
a
x
(
w
1
)
T
S
w
1
max \left(w^{1}\right)^{T} S w^{1}
max(w1)TSw1约束为
(
w
1
)
T
w
1
=
1
\left(w^{1}\right)^{T} w^{1}=1
(w1)Tw1=1构造拉格朗日函数
g
(
w
1
)
=
(
w
1
)
T
S
w
1
−
α
(
(
w
1
)
T
w
1
−
1
)
g\left(w^{1}\right)=\left(w^{1}\right)^{T} S w^{1}-\alpha\left(\left(w^{1}\right)^{T} w^{1}-1\right)
g(w1)=(w1)TSw1−α((w1)Tw1−1)令导数为0,得到解为
S
w
1
−
α
w
1
=
0
S w^{1}-\alpha w^{1}=0
Sw1−αw1=0等价于
(
w
1
)
T
S
w
1
=
α
(
w
1
)
T
w
1
\left(w^{1}\right)^{T} S w^{1}=\alpha\left(w^{1}\right)^{T} w^{1}
(w1)TSw1=α(w1)Tw1即寻找最大的特征值对应的特征向量
如果要找第二个投影向量
w
2
w^2
w2,目标函数不变,约束为
(
w
2
)
T
w
2
=
1
(
w
2
)
T
w
1
=
0
\left(w^{2}\right)^{T} w^{2}=1 \quad\left(w^{2}\right)^{T} w^{1}=0
(w2)Tw2=1(w2)Tw1=0
结论
PCA能够去相关性,即降维后的数据的协方差矩阵对对角阵
PCA的另一角度
- 最小化重构误差
L
=
min
{
u
1
,
…
,
u
K
}
∑
∥
(
x
−
x
‾
)
−
(
∑
k
=
1
K
c
k
u
k
)
∥
2
L=\min _{\left\{u^{1}, \ldots, u^{K}\right\}} \sum\left\|(x-\overline{x})-\left(\sum_{k=1}^{K} c_{k} u^{k}\right)\right\|_{2}
L={u1,…,uK}min∑∥∥∥∥∥(x−x)−(k=1∑Kckuk)∥∥∥∥∥2
SVD
每一个matrix X可以分解称
X
≈
U
∑
V
X \approx U\sum V
X≈U∑V,U对应的列是一组正交的特征向量,对应的特征值是
X
X
T
XX^T
XXT(就是协方差矩阵)的特征值
所以U的解(
u
1
,
.
.
.
u_1,...
u1,...)就是PCA得出的解(
w
1
,
.
.
.
w^1,...
w1,...),PCA降维得到的结果就是
∑
V
\sum V
∑V里的vector
- 可以用只有一个隐藏层的神经网络来表示
缺陷
- 无监督,LDA是考虑label的降维方法
- 线性
NMF非负矩阵分解
Matrix Factorization
寻找潜在因素,背后共同属性。
矩阵X看作是两个vector的内积,比如有M个人,N件物品组成的矩阵,潜在因素向量的维度为K
X
(
M
∗
N
)
=
R
i
(
M
∗
K
)
×
R
j
(
K
∗
N
)
X_{(M*N)} = Ri_{(M*K)} \times Rj_{(K * N)}
X(M∗N)=Ri(M∗K)×Rj(K∗N)最小化重构误差的结果也就是SVD
有missing data时可以用梯度下降寻找 L = ∑ ( i , j ) ( r i ⋅ r j − n i j ) 2 L=\sum_{(i, j)}\left(r^{i} \cdot r^{j}-n_{i j}\right)^{2} L=(i,j)∑(ri⋅rj−nij)2得到latent factor后就可以去预测missing data,即推荐系统
潜在语义分析即Matrix Factorization,其中的matrix是词频(可以由inverse document frequency加权)。