无监督学习
无监督学习(Unsupervised Learning)是和监督学习相对的另一种主流机器学习的方法,无监督学习是没有任何的数据标注只有数据本身。
监督学习与无监督学习的对比
1.目标是否明确
监督学习是一种目的明确的训练方式,通过训练学习过程,我们能够大体预知即将得到什么样的结果;无监督学习则没有明确目的的训练方式,对于可能得到的结果可以说是无法预测的。
2.是否需要带标签的训练数据
监督学习需要给数据打标签;而无监督学习不需要给数据打标签。
3.效果是否容易评估
监督学习由于目标明确,所以可以衡量效果;而无监督学习几乎无法量化效果如何。
无监督学习算法
监督学习解决的是分类和回归问题,而无监督学习解决的主要是聚类和降维问题。
聚类:简单说就是一种自动分类的方法,在监督学习中,你很清楚每一个分类是什么,但是聚类则不是,你并不清楚聚类后的几个分类每个代表什么意思。
典型算法:K均值聚类
1.定义 K 个重心。一开始这些重心是随机的(也有一些更加有效的用于初始化重心的算法)
2.寻找最近的重心并且更新聚类分配。将每个数据点都分配给这 K 个聚类中的一个。每个数据点都被分配给离它们最近的重心的聚类。这里的「接近程度」的度量是一个超参数——通常是欧几里得距离(Euclidean distance)。
3.将重心移动到它们的聚类的中心。每个聚类的重心的新位置是通过计算该聚类中所有数据点的平均位置得到的。
重复第 2 和 3 步,直到每次迭代时重心的位置不再显著变化(即直到该算法收敛)。
降维:降维看上去很像压缩。这是为了在尽可能保存相关的结构的同时降低数据的复杂度。
典型算法:主成分分析
主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。
变换的步骤:
1.计算矩阵 X 的样本的协方差矩阵 S(此为不标准PCA,标准PCA计算相关系数矩阵C)
2.计算协方差矩阵S(或C)的特征向量 e1,e2,…,eN和特征值 , t = 1,2,…,N
3.投影数据到特征向量张成的空间之中。利用下面公式,其中BV值是原样本中对应维度的值。