k聚类算法中如何选择初始化聚类中心所在的位置。

在选择聚类中心时候,如果选择初始化位置不合适,可能不能得出我们想要的局部最优解。

而是会出现一下情况:

为了解决这个问题,我们通常的做法是:

我们选取K<m个聚类中心。

然后随机选择K个训练样本的实例,之后令k个聚类中心分别与k个训练实例相等。

之后我们通常需要多次运行均值算法。每一次都重新初始化,然后在比较多次运行的k均值的结果,选择代价函数较小的结果。这种方法在k较小的时候可能会有效果,但是在K数量较多的时候不会有明显改善。

如何选取聚类数量

当我们研究聚类数量与畸变函数J的关系时候,发现“肘部法则”,也就是当k的数量逐渐增加时候,存在某一点成为J函数下降过程呢中的拐点。

这个点之前,他的畸变的值迅速下降,在这个点之后,它的畸变值下变慢,那么看起来这个拐点通常会成为最合适的值。不过在实际情况中,我们会选择K值的数量取决于用聚类算法所需要解决的实际问题的目的出发。根据实际情况的需要选择K值的数量。

【机器学习】K均值算法(II)的更多相关文章

  1. 【机器学习】K均值算法(I)

    K均值算法是一类非监督学习类,其可以通过观察样本的离散性来对样本进行分类. 例如,在对如下图所示的样本中进行聚类,则执行如下步骤 1:随机选取3个点作为聚类中心. 2:簇分配:遍历所有样本然后依据每个 ...

  2. 机器学习之K均值算法(K-means)聚类

    K均值算法(K-means)聚类 [关键词]K个种子,均值 一.K-means算法原理 聚类的概念:一种无监督的学习,事先不知道类别,自动将相似的对象归到同一个簇中. K-Means算法是一种聚类分析 ...

  3. 机器学习算法之Kmeans算法(K均值算法)

    Kmeans算法(K均值算法) KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大.该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑 ...

  4. 秒懂机器学习---k临近算法(KNN)

    秒懂机器学习---k临近算法(KNN) 一.总结 一句话总结: 弄懂原理,然后要运行实例,然后多解决问题,然后想出优化,分析优缺点,才算真的懂 1.KNN(K-Nearest Neighbor)算法的 ...

  5. 使用K均值算法进行图片压缩

    K均值算法   上一期介绍了机器学习中的监督式学习,并用了离散回归与神经网络模型算法来解决手写数字的识别问题.今天我们介绍一种机器学习中的非监督式学习算法--K均值算法.   所谓非监督式学习,是一种 ...

  6. K 均值算法-如何让数据自动分组

    公号:码农充电站pro 主页:https://codeshellme.github.io 之前介绍到的一些机器学习算法都是监督学习算法.所谓监督学习,就是既有特征数据,又有目标数据. 而本篇文章要介绍 ...

  7. 聚类算法:K-means 算法(k均值算法)

    k-means算法:      第一步:选$K$个初始聚类中心,$z_1(1),z_2(1),\cdots,z_k(1)$,其中括号内的序号为寻找聚类中心的迭代运算的次序号. 聚类中心的向量值可任意设 ...

  8. 一句话总结K均值算法

    一句话总结K均值算法 核心:把样本分配到离它最近的类中心所属的类,类中心由属于这个类的所有样本确定. k均值算法是一种无监督的聚类算法.算法将每个样本分配到离它最近的那个类中心所代表的类,而类中心的确 ...

  9. 聚类--K均值算法:自主实现与sklearn.cluster.KMeans调用

    1.用python实现K均值算法 import numpy as np x = np.random.randint(1,100,20)#产生的20个一到一百的随机整数 y = np.zeros(20) ...

  10. Bisecting KMeans (二分K均值)算法讲解及实现

    算法原理 由于传统的KMeans算法的聚类结果易受到初始聚类中心点选择的影响,因此在传统的KMeans算法的基础上进行算法改进,对初始中心点选取比较严格,各中心点的距离较远,这就避免了初始聚类中心会选 ...

随机推荐

  1. Javascript 使用 async 声明符和 await 操作符进行异步操作

    async function 声明用于定义一个返回 AsyncFunction 对象的异步函数 await  操作符用于等待一个Promise 对象.它只能在异步函数 async function 中 ...

  2. html:input的type=number的时候maxlength失效问题

    <input type="text"  maxlength="5" />   效果ok,当 <input type="number& ...

  3. Working with Excel Files in Python

    Working with Excel Files in Python from: http://www.python-excel.org/ This site contains pointers to ...

  4. 图解BERT(NLP中的迁移学习)

    目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...

  5. rem_750

    /* fix the code flash the page */ var globalWidth = document.documentElement.clientWidth;//window.in ...

  6. 将php脚本加入开机启动

    可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本.系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的.我们也 ...

  7. php 自制简单路由类 望大神指点

    class route{ /** @var null 模块 */ private static $module = null; /** @var null 控制器 */ private static ...

  8. 《DOM Scripting》学习笔记-——第四章 案列分析 JS美术馆(点击链接到图片)

    实现效果:点击图片链接,可以在当前网页显示图片,并且显示图片标题. Html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN&qu ...

  9. v8:: fatalProcessOutOfMemory

    express项目,用于画图读写图片数据, pm2 作为进城守护. 生产环节报警:v8:: fatalProcessOutOfMemory,xxxx等,一时不知道什么原因. linux系统下使用如下命 ...

  10. Pycharm--flake8的配置使用

    前言:Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具.Flake8检查规则灵活,支持集成额外插件,扩展性强. 一.安装flake8 进入虚拟环境: pip inst ...