目录
一、聚类
1.1 无监督学习
1.2 k-means算法
下面模拟一下k=2的算法过程:
(a) 初始化样本数据集
(b) 随机选取两个点做为聚类中心,即图中红叉和蓝叉
(c) 分别求样本中所有点到这两个聚类中心的距离,并把样本点的类别标记为距离最小聚类中心点的类别(簇分配),第一轮迭代结束
(d) 对图c中红色和蓝色样本点,重新计算聚类中心点(聚类中心移动),得到图d
(e) 基于新的聚类中心,重复步骤cd
(f) 最终结果(当聚类中心不再移动,或者移动在允许内,可认为聚类完成)
一句话总结:
1. K-Means是一个迭代算法,用于聚类(非监督学习)
2. 两个关键点:一个是簇分配,一个是聚类中心移动
算法分为两个步骤:
第一个 for 循环是赋值步骤,即:对于每一个样例?,计算其应该属 于的类。
第二个 for 循环是聚类中心的移动,即:对于每一个类?,重新计算该类的质心
1.3 优化目标
目标函数或代价函数是:所有样本到自己被划分的聚类中心的距离之和
1.4 随机初始化
K-Means的一个问题在于,它有可能会停留在一个局部最小值处(聚类划分极其不均匀),而这取决于初始化的情况。
为了解决"聚类不均匀问题",我们通常需要多次运行 K-均值算法,每一次都重新进行随机初始化,最后再比较多次运行 K-均值的结果,选择代价函数最小的结果。这种方法在?较小的时候(2--10)还是可行的,但是如果?较大,这么做也可能不会有明显地改善。
1.5 选择聚类数
没有所谓最好的选择聚类数的方法,通常是需要根据不同的问题,人工进行选择的。选择的时候思考我们运用 K-均值算法聚类的动机是什么,然后选择能最好服务于该目的标聚类数。
上图中k=3是比较好的选择。
总之,具体问题具体分析,要明白聚类的目标是什么。
二、降维
2.1 动机1:数据压缩
压缩数据有两个好处:一是减少存储空间,二是加快算法运行。
2.2 动机2:数据可视化
在许多及其学习问题中,如果我们能将数据可视化,我们便能寻找到一个更好的解决方案,降维可以帮助我们。
这样做的问题在于,降维的算法只负责减少维数,新产生的特征的意义就必须由我们自己去发现了。
2.3 主成分分析问题
PCA算法思想:对于任意给定的一组多维数据,它所代表的信息量是一定。数据代表的信息总量等于数据在各位维度分量上的信息之和,而与所选取的坐标系无关。但是同一组数据在维数相同的不同的坐标系下,各维度所代表的信息量的分布却存在差异。主成分分析的目的是通过转换坐标空间,使得数据所代表的的信息尽可能集中地分布在较少数量的维度上,从而可以只选择占有较多信息的坐标维度,达到数据降维的目的。
PCA是最常见的降维算法(非监督学习)。
在 PCA 中,我们要做的是找到一个方向向量(Vector direction),当我们把所有的数据都投射到该向量上时,我们希望投射平均均方误差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是从特征向量向该方向向量作垂线的长度。
上图中,红色的方向向量要好于粉色。因为红色方向向量的投射误差更小。
PCA与线性回归的区别:
2.4 主成分分析算法
todo
2.5 主成分数量选择
todo
2.6 压缩重现
todo
2.7 应用PCA的建议
todo