机器学习(第八周)--无监督学习聚类算法

聚类

聚类算法 kmeans原理:

1、随机选取k个中心点;

2、在第i次迭代中,对于每个样本点,选取最近的中心点,归为该类;
3、更新中心点为每类的均值;

4、i<-i+1 ,重复(2)(3)迭代更新,直至误差小到某个值或者到达一定的迭代步数,误差不变.

在每次迭代之后,误差变小过程就是趋于收敛的过程;达到一定程度,误差不变,已经完成分类

机器学习(第八周)--无监督学习聚类算法


K-means优化函数

机器学习(第八周)--无监督学习聚类算法


不同的初始化中心点对聚类结果影响较大,如下图

1、一般建议随机选取训练集中的样本进行聚类

2、在K值较小的情况下,多次随机选取中心点

对比不同的聚类结果,之后一般就可以得到对应的类别

机器学习(第八周)--无监督学习聚类算法


聚类算法是一种无监督算法,因此没有明确的具体的确定类别K的方法,一般可以采用如下两种方法:

1、肘部法:我们分别计算K值确定(K=1,2,3,4….)条件下,所有样本的CostFunction J的值,然后我们将这些值连成一条曲线如上图(左)所示,随着聚类数目的增多,畸变(代价)函数的值是如何下降的,你会发现其畸变函数值会随着  K值增多极速下降,当到达K=3时,畸变值就会下降的很慢,K=3正好也是曲线的”肘”点

有时间你画出的曲线并没有明显的肘点,(右上图)此时肘部法则选择聚类数目将变得较为困难

机器学习(第八周)--无监督学习聚类算法

2、用K均值聚类方法是为了得到聚类结果后用于后面的一些用途,根据后续的目的进行分类;


降维

降维的作用

  1. 节省了提取不必要特征的开销
  2. 去掉数据集中夹杂的噪
  3. 当数据能有较少的特征进行解释,我们可以更好的解释数据,使得我们可以提取知识。
  4. 实现数据可视化

主成因分析

1、主成分第一步要进行变量归一化(如下图),保证所有的特征向量均值均为0


2、计算样本协方差矩阵的特征向量, 按照特征值由大到小进行排列,这将给出成分的重要性级别,选择前1到k项列组成的矩阵,

3、对每个样本根据新得的特征值ureduce进行转换,输出新的样本集

机器学习(第八周)--无监督学习聚类算法


主成因分析可以把一个高纬度的数据压缩为低纬度的数据,我们同样可以根据转换矩阵,把压缩之后的数据,近似的还原成高维数据

机器学习(第八周)--无监督学习聚类算法

主成分分析中如何选择k?

主成分分析压缩数据的过程是基于最小投影距离,如果我们要求损失的信息不能超过原始数据的0.01,如下图

机器学习(第八周)--无监督学习聚类算法

计算可转化为在调用计算协方差函数中的特征值的变量的选取:

机器学习(第八周)--无监督学习聚类算法


PCA使用方法注意:

1、减少内存数据量

2、加速算法性能

3、可视化

PCA容易误用的地方:

1、开始算法设计就直接使用PCA降维,没有考虑原始数据在算法上的表现

            应该先考虑原始数据在算法上的表现,之后再考虑是否PCA,PCA能够在算法中实现哪些目的

2、使用PCA方法,降低过度拟合

            正则化的方法降低过度拟合是个更好的方式,PCA在降维的过程中会损失掉一部分信息,使用PCA降低过度拟合不是一个号的方法