目 录 1 . 问题描述 ....................................................................................... 2 2 . 设计要求 ....................................................................................... 2 3 . 需求分析 ....................................................................................... 3 4 . 详细设计 ....................................................................................... 3 5 . 测试及运行结果 ........................................................................... 4 6 . 程序源码及注释 ........................................................................... 5 7 . 课程设计心得体会 ..................................................................... 1 5 人工智能大作业 2 1.问题描述 k-means算法是根据聚类中的均值进行聚类划分的聚类算法。 输入:聚类个数 k,以及包含 n个数据对象的数据。 输出:满足方差最小标准的k 个聚类。 处理流程: Step 1. 从 n个数据对象任意选择 k 个对象作为初始聚类中心; Step 2. 循环 Step 3 到 Step 4 直到每个聚类不再发生变化为止; Step 3. 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离,并根据最小距离重新对相应对象进行划分; Step 4. 重新计算每个(有变化)聚类的均值(中心对象) k-means算法的工作过程说明如下:首先从n个数据对象任意选择k个对象作为初始聚类中心,而对于所剩下的其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类。然后,再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值),不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数,具体定义如下: 21 kiiiECpmp (1) 其中E 为数据库中所有对象的均方差之和,p为代表对象的空间中的一个点,mi 为聚类Ci 的均值(p和 mi 均是多维的)。公式(1)所示的聚类标准,旨在使所获得的k 个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 2.设计要求 首先从 n 个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将...