Mahout机器学习系列之-模糊c-均值聚类和狄利克雷过程聚类

模糊c-均值聚类(FCM)

      <script type="math/tex" id="MathJax-Element-309">~~~~~</script>模糊聚类是一种软聚类,相对于硬聚类给出了每个对象在每个类别上的可能分布。
      <script type="math/tex" id="MathJax-Element-310">~~~~~</script>模糊c-均值聚类算法 fuzzy c-means algorithm (FCMA)或称( FCM)。在众多模糊聚类算法中,模糊C-均值( FCM) 算法应用最广泛且较成功。
      <script type="math/tex" id="MathJax-Element-311">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-312">~~~~~</script>详细数学公式推到及迭代过程可参考http://blog.csdn.net/yueyedeai/article/details/26713015
      <script type="math/tex" id="MathJax-Element-313">~~~~~</script>代价函数(前半部分是代价函数,后半部分是约束条件的拉格郎日乘数法):
这里写图片描述
这里写图片描述
这里写图片描述
      <script type="math/tex" id="MathJax-Element-314">~~~~~</script>步骤 1:用值在 0,1 间的随机数初始化隶属矩阵 U。
      <script type="math/tex" id="MathJax-Element-315">~~~~~</script>步骤 2:用式(3)计算 c 个聚类中心ci,i=1,…,c。
      <script type="math/tex" id="MathJax-Element-316">~~~~~</script>步骤 3:根据式(1)计算价值函数。如果它小于某个确定的阀值,或它相对上次价 值函数值的改变量小于某个阀值,则算法停止。
      <script type="math/tex" id="MathJax-Element-317">~~~~~</script>步骤 4:用(4)计算新的 U 矩阵和。返回步骤 2。
      <script type="math/tex" id="MathJax-Element-318">~~~~~</script>上述算法也可以先初始化聚类中心,然后再执行迭代过程。
注意:由于不能确保 FCM 收敛于一个最优解。算法的性能依赖于初始聚类中心。因此,我们要么用另外的快速算法确定初始聚类中心,要么每次用不同的初始聚类中心启动该算法,多次运行 FCM。
      <script type="math/tex" id="MathJax-Element-319">~~~~~</script>

Mahout代码

      <script type="math/tex" id="MathJax-Element-11">~~~~~</script>在Mahout中,将模糊c-均值聚类视为k-means聚类的扩展,即k-means聚类的模糊形式,因此在Mahout中称为模糊k-means聚类算法,其实就是FCM,k和c都是聚类个数。
      <script type="math/tex" id="MathJax-Element-12">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-13">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-14">~~~~~</script>

狄利克雷过程聚类

      <script type="math/tex" id="MathJax-Element-15">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-16">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-17">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-18">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-19">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-20">~~~~~</script>
      <script type="math/tex" id="MathJax-Element-21">~~~~~</script>

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页