基于Python实现k-means算法和混合高斯模型

完整资料进入【数字空间】查看——搜索"writebug"

  1. 实验目的
    实现一个 k-means 算法和混合高斯模型,并且用 EM 算法估计模型中的参数。
  2. 实验要求
    用高斯分布产生 k 个高斯分布的数据(不同均值和方差)(其中参数自己设定)。
    用 k-means 聚类,测试效果;
    用混合高斯模型和你实现的 EM 算法估计参数,看看每次迭代后似然值变化情况,考察 EM 算法是否可以获得正确的结果(与你设定的结果比较)。
    应用:可以 UCI 上找一个简单问题数据,用你实现的 GMM 进行聚类。
  3. 设计思想
    3.1 K-means 算法
    k 均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预将数据分为 K 组,则随机选取 K 个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
    算法为:先随机选取 K 个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
    没有(或最小数目)对象被重新分配给不同的聚类。
    没有(或最小数目)聚类中心再发生变化。
    误差平方和局部最小。
    3.2 GMM 算法
    GMM,高斯混合模型,也可以简写为 MOG。高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。
    GMM 相对 K-means 是比较复杂的 EM 算法的应用实现。与 K-means 不同的是,GMM 算法在 E 步时没有使用“最近距离法”来给每个样本赋类别(hard assignment),而是增加了隐变量 γ。γ 是(N,K)的矩阵, γ[N,K]表示第 n 个样本是第 k 类的概率,因此, 具有归一性。即 的每一行的元素的和值为 1。在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值