• 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。

  • 相关阅读:
    福尔摩斯的约会 (20)
    数素数 (20)
    STL源码分析-priority_queue
    STL源码分析-bitset
    STL源码分析-rbtree
    STM32自动生成精美图案
    STL源码分析-function
    STL源码分析-list
    STL源码分析-iterator
    STL源码分析-traits
  • 原文地址:https://www.cnblogs.com/gczr/p/6425288.html
Copyright © 2020-2023  润新知