文章目录
介绍
- 样本为无标注模型,模型是z=g(x) 或者P(x|z)或者P(z|x)
- 输出z是类别、转换或者概率
- 无监督问题比监督问题难在数据没有标注没有人的先验知识,需要找到观测数据x中的隐藏规律,找到输出变量!
- 无监督学习的基本思想:将数据以损失最小的方式进行压缩,认为压缩后的数据就是模型更加本质的结构!具体可以有:
- ① 纵向压缩,将相似样本聚到同类,即聚类
- ② 横向压缩,将高维的特征向量(或输入向量)转换到低维空间,即降维
- ③ 横纵向压缩,假设观测样本由含有隐式结构的概率模型生成,从数据中学习概率模型!
聚类
- 聚类按照是否只能属于一类,分为硬聚类的软聚类,前者是函数,后者是条件概率
- 可以用于监督学习的前处理
- 核心:相似性度量,发现类或簇
相似性度量
距离越小,样本之间越相似
- 闵可夫斯基距离: d i , j = ( ∑ k = 1 m ∣ x k i − x k j ∣ p ) 1 p d_{i, j}=\left(\sum_{k=1}^{m}\left|x_{k i}-x_{k j}\right|^{p}\right)^{\frac{1}{p}} di,j=(∑k=1m∣xki−xkj∣p)p1 ;其中:p = 1, 曼哈顿距离;p = 1, 欧氏距离;p = ∞, 切比雪夫距离(max(.,.));
- 马哈拉诺比斯(马氏距离): d i j = [ ( x i − x j ) T S − 1 ( x i − x j ) ] 1 2 d_{i j}=\left[\left(x_{i}-x_{j}\right)^{T} S^{-1}\left(x_{i}-x_{j}\right)\right]^{\frac{1}{2}} dij=[(xi−xj)TS−1(xi−xj)]21,当S矩阵为单位矩阵,即欧氏距离;
- 相关系数: ρ X , Y = cov ( X , Y ) σ X σ Y = E ( ( X − μ X ) ( Y − μ Y ) ) σ X σ Y \rho_{X, Y}=\frac{\operatorname{cov}(X, Y)}{\sigma_{X} \sigma_{Y}}=\frac{E\left(\left(X-\mu_{X}\right)\left(Y-\mu_{Y}\right)\right)}{\sigma_{X} \sigma_{Y}} ρX,Y=σXσYcov(X,Y)=σXσYE((X−μX)(Y−μY))
- 余弦距离: s i j = 1 − x ⃗ ∗ y ⃗ ∥ x ⃗ ∥ ∗ ∥ y ⃗ ∥ = 1 − ∑ i = 1 n x i ∗ y i ∑ i = 1 n w i 2 ∗ ∑ i = 1 2 y i 2 s_{ij}=1-\frac{\vec{x} * \vec{y}}{\|\vec{x}\| *\|\vec{y}\|}=1 - \frac{\sum_{i=1}^{n} x_{i} * y_{i}}{\sqrt{\sum_{i=1}^{n} w_{i}^{2}} * \sqrt{\sum_{i=1}^{2} y_{i}^{2}}} sij=1−∥x∥∗∥y∥x∗y=1−∑i=1nwi2∗∑i=12yi2∑i=1nxi∗yi
类/簇
- 类的四个定义 TODO
- 本节只考虑硬聚类方法
- 类的均值
- 类的直径:任意样本距离之间的最大值
- 类的散布矩阵Scatter Matrix: S = ∑ j = 1 n ( x j − x ‾ ) ( x j − x ‾ ) T \mathbf{S}=\sum_{j=1}^{n}\left(\mathbf{x}_{j}-\overline{\mathbf{x}}\right)\left(\mathbf{x}_{j}-\overline{\mathbf{x}}\right)^{T} S=∑j=1n(xj−x)(xj−x)T
- 样本的协方差矩阵Covariance Matrix: Q = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( x i − x ˉ ) T \mathbf{Q}=\frac{1}{n-1} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(x_{i}-\bar{x}\right)^{\mathrm{T}} Q=n−11∑i=1n(xi−xˉ)(xi−xˉ)T
- 类之间的距离:
- ① single linkage: 最短距离,两个类之间的样本的最短距离
- ② complete linkage:最长距离,两个类之间的样本最长距离
- ③ 中心距离:顾名思义,两个类中心点的距离
- ④ 平均距离:两个类之间的任意样本距离的均值
层次聚类
- 假设:类别之间有层次结构
- 属于硬距离
- 分为自下而上(聚合)和自上而下(分裂),得到层次化的类别
- 以聚合层次聚类为例,三要素:相似性度量(马氏距离等)+合并规则(类间距离)+停止条件(类的个数或者类的直径达到要求)
- 流程:①计算样本两两之间的距离②初始化样本个数个类别③合并类间距离最小的类成新类④计算新类到其余类的距离⑤停止条件
kmeans聚类
- 基于中心的聚类方法
- 硬聚类
- 基于样本集划分的聚类算法
- 将样本划分到k个类中
- 模型策略:求解最优化问题,
C ∗ = arg min C W ( C ) = arg min C ∑ l = 1 k ∑ C ( i ) = l ∥ x i − x ˉ l ∥ 2 \begin{aligned} C^{*} &=\arg \min _{C} W(C) \\ &=\arg \min _{C} \sum_{l=1}^{k} \sum_{C(i)=l}\left\|x_{i}-\bar{x}_{l}\right\|^{2} \end{aligned} C∗=argCminW(C)=argCminl=1∑kC(i)=l∑∥xi−xˉl∥2 - n个样本,k个类,是个组合优化问题,有指数级别的分法:
S ( n , k ) = 1 k ! ∑ l = 1 k ( − 1 ) k − l ( k l ) k n S(n, k)=\frac{1}{k !} \sum_{l=1}^{k}(-1)^{k-l}\left(\begin{array}{l}k \\ l\end{array}\right) k^{n} S(n,k)=k!1l=1∑k(−1)k−l(kl)kn - 算法流程:采用类似EM的流程,初始化k个类的中心,将样本进行指派(欧氏距离),得到聚类结果,更新类中心,重复到均值的收敛。M步其实就是在对平方损失问题的求导,得到均值就是最优解!
- 算法特性:① 启发式方法收敛性差 ② 初始值敏感,可以先用层次聚类得到初始均值 ③ k的选择,选出最优k值的方法是,使用类的平均直径进行衡量,图示如下(可以用二分查找快速搜索):
- 和EM的思想是类似的:k-means算法是高斯混合聚类在混合成分方差相等,且每个样本仅指派一个混合成分时候的特例。注意k-means在运行之前需要进行归一化处理,不然可能会因为样本在某些维度上过大导致距离计算失效。k-means中每个样本所属的类就可以看成是一个隐变量,在E步中,我们固定每个类的中心,通过对每一个样本选择最近的类优化目标函数,在M步,重新更新每个类的中心点,该步骤可以通过对目标函数求导实现,最终可得新的类中心就是类中样本的均值。
- Kmeans和Meanshift相似是指都是一种概率密度梯度估计的方法,不过是Kmean选用的是特殊的核函数(uniform kernel),而与混合概率密度形式是否已知无关,是一种梯度求解方式。
降维
- 降维学习的是转换函数
- 可以作为监督学习的前处理过程,帮助发现高维的规律
奇异值分解
- 紧SVD和截断SVD TODO
- 矩阵奇异值分解可以看成其对应的线性变换分解为旋转变换+缩放变换+旋转变换
奇异值 & 矩阵近似
- 矩阵的F范数=矩阵的奇异值平方和
- 矩阵F范数对应于平方损失
- 所以奇异值是在平方损失下对矩阵的最佳近似,要求近似矩阵秩不超过原矩阵的秩
∥ A − X ∥ F = ( σ k + 1 2 + σ k + 2 2 + ⋯ + σ n 2 ) 1 2 \|A-X\|_{F}=\left(\sigma_{k+1}^{2}+\sigma_{k+2}^{2}+\cdots+\sigma_{n}^{2}\right)^{\frac{1}{2}} ∥A−X∥F=(σk+12+σk+22+⋯+σn2)21
PCA
- 链接
- PCA是使用正交变换将线性相关变量表示的观测数据转换为少数几个由线性无关变量表示的数据,其线性无关的变量称为主成分!
- 两种理解:① 最近重构性:样本点到该平面的距离足够近。要表达就要比较相似,距离近。② 最大可分性(方差):样本点在平面上的投影尽可能分开。点与点足够区分。
- 以最大方差为例:样本要先去中心化!
max W tr ( W T X X T W ) s . t . W T W = I \begin{array}{c} \max _{\mathbf{W}} \operatorname{tr}\left(\mathbf{W}^{\mathrm{T}} \mathbf{X} \mathbf{X}^{\mathrm{T}} \mathbf{W}\right) \\ \mathbf{s . t .} \quad \mathbf{W}^{\mathrm{T}} \mathbf{W}=\mathbf{I} \end{array} maxWtr(WTXXTW)s.t.WTW=I - 使用拉格朗日乘子法求解问题: L = ∥ W H X ∥ F 2 + λ ( ∥ W ∥ F 2 − I ) L=\left\|W^{H} X\right\|_{F}^{2}+\lambda\left(\|W\|_{F}^{2}-I\right) L=∥∥WHX∥∥F2+λ(∥W∥F2−I)
- 求导得到: X X T W = λ W X X^{T} W=\lambda W XXTW=λW
- 即 X X T X X^{T} XXT散度矩阵的特征向量构成 W W W
- 补充,也等于如下的最优化问题:
min L ∥ X − L ∥ F s.t. rank ( L ) ⩽ k \begin{array}{ll} \min _{L} & \|X-L\|_{F} \\ \text { s.t. } & \operatorname{rank}(L) \leqslant k \end{array} minL s.t. ∥X−L∥Frank(L)⩽k - 最小重构误差:
arg min w 1 , … , w d ∑ k = 1 n ∥ x k − x ~ k ∥ 2 2 s.t. w i T w j = δ i j x ~ k = ∑ i = 1 d ( w i T x k ) w i \underset{w_{1}, \ldots, w_{d}}{\arg \min } \sum_{k=1}^{n}\left\|x_{k}-\tilde{x}_{k}\right\|_{2}^{2} \\ \text { s.t. } w_{i}^{T} w_{j}=\delta_{i j} \\ \tilde{x}_{k}=\sum_{i=1}^{d}\left(w_{i}^{T} x_{k}\right) w_{i} w1,…,wdargmink=1∑n∥xk−x~k∥22 s.t. wiTwj=δijx~k=i=1∑d(wiTxk)wi - 还有另外一种基于线性回归+l1范数的重构误差最小方法,可以这么理解:这种方法是线性变换空间+稀疏先验下的重构误差最小,而PCA是在正交变换空间下的重构误差最小!
*概率估计 TODO Page321后面
- 概率模型的结构类型事先给出,而模型具体结构的参数从数据中自动学习
- 概率模型包括混合模型(GMM)和概率图模型(有向图和无向图)等
应用:话题分析
- 潜在语义分析
- 马氏链蒙特卡罗方法
- 潜在狄利克雷分配
应用:图分析
链接分析之一 —— PageRank算法
- 发现有向图中的重要节点
- 随机游走 马尔科夫链
- PageRank是求解马氏链的平稳分布的算法
- 表示网页的重要度,在搜索引擎的网页排序中有重要作用!