机器学习VI - 无监督学习
9. 无监督学习
9.1 K-Means 算法
随机选择$K$个中心点(Centroid) $\mu_1, \mu_2, …, \mu_K \in \mathbb{R}^n$
9.1.1 代价函数
$c^{(i)}$ = $x^{(i)}$目前被分配的簇
$\mu_k$ = 第$k$簇的中心点
9.1.2 选择簇的数量
- 在模型代价的拐点,选择簇的数量
- 根据业务需求来选择簇的数量
9.1.3 随机初始化(Random Initialization)
首先需要$K<m$,这样会确保不会有一个簇中没有样本,其次从$x^{(i)}$中随机选择$K$个样本作为初始簇的重点。
另外为了防止模型进入局部最优,我们需要执行50~1000次算法,从中选取最优的结果(最小的模型代价)。
9.2 数据降维 - 主成份分析(Principle Component Analysis)
数据降维的本质是将多个特征放入多项式中,合并为一个特征。而PCA则是以最小化映射误差(Projection Error)为思想,将高纬的数据映射到低纬度。
PCA和线性回归有所区别:PCA是最小化映射误差,而线性回归是最小化误差$(y-y_{predicton})^2$
PCA应用步骤如下:
例如我们想将$m$纬度的数据降到$k$纬
首先将数据标准化,再计算出协方差矩阵(Covariance Matrix)
接着通过奇异值分解(Single Value Decomposition)计算出协方差矩阵的特征向量(Eigenvectors),$U$
然后选择矩阵$U$中的前$k$列,转制后乘以$x$,得到降维后的矩阵$Z$
9.1.2 选择$k$
在介绍如果选择$k$之前,我们先思考一下降为后的数据该如何回到原来的维度。
假设现在有$x$,我们经过PCA降维之后,得到了$z$,则
其中$x\in\mathbb{R}^{n\times m}$,$U^T_{reduce} \in \mathbb{R}^{k \times n}, z \in \mathbb{R}^{k \times m}$ 而
则回到了降维前的数据。因为PCA是一种有损失的降维方法,所以其实升维后的数据,仍然是在映射的超平面上。
例如:
降维前的数据
降维又升维后的数据
$k$是满足如下规则的最小值
其中$1\%$是一个可变化的值,比如$5\%,10\%…$,这个值所代表的意义为信息的损失程度。
如果是运用了上边所说的SVD方法,也等同于