Coursera在线学习---第八节.K-means聚类算法与主成分分析(PCA)

一、K-means聚类中心初始化问题。

  1)随机初始化各个簇类的中心,进行迭代,直到收敛,并计算代价函数J。

   如果k=2~10,可以进行上述步骤100次,并分别计算代价函数J,选取J值最小的一种聚类情况,能够得到一个相对不错的局部最优解。(因为k值较小情况下,不同的随机中心,聚类结果不同)

  2)如果k值很大,则多次随机意义不大,随机一次进行聚类即可。

 

二、如何选择聚类数目K?

   肘部法则是一个方法,但效果一般不明显。通常来讲,并没有太绝对的方法,主要靠人工选择,以及人为的洞察力。

 

三、利用k-means进行图像压缩原理。

  比如一个图像像素为10X10=100个像素点,原始图像中每个像素由RGB组成,R、G、B各占8位,数值为0~255,表示颜色密度,共24位,可以表示成千上万种颜色。所有,原始像素共占100x24=2400bits。

  采用K-means压缩,利用聚类算法聚类出16个最有代表性的颜色,每个颜色还是24位。16个最具代表性的颜色用4位表示就行了,这样压缩后就变为16X24+100X4=784bits,大大压缩了空间。

                                主成份分析PCA

 一、用途

  1)数据压缩

  2)数据降维,加快算法运行。(数据降维后,对算法本身几乎没影响)

  3)可视化,一般是将多维数据降到2维或3维,因为软件方便画出2D与3D图形。(太高维度数据,软件也几乎无法可视化)

  注:利用PCA降低数据维度,以防止过拟合,该方法不可取,看似有道理其实不好。正则化方法防止过拟合最好。总之,PCA降维加速机器学习算法是有效的,防止过拟合效果比较差。

二、计算过程与选择主成分?

三、什么时候用PCA?

  在项目初始期,不要一开始就用PCA,而应该首先用原始数据构建模型。只有在发现用原始数据模型收敛非常慢,非常占用内存,而确实需要PCA降维加快学习算的时候,再尝试使用PCA。

原文地址:https://www.cnblogs.com/gczr/p/6425288.html