前言

这章讲的其实是非监督学习。大多数情况下从现实世界获取的数据并不附有标记,通过非监督学习仍然可以从这些数据中有所收获。

最基本的聚类算法,也是目前使用最多的聚类算法叫做K-均值(K-Means)

文章目录如下:

聚类简单应用

假设John和Katie都喜欢收藏电影并为它们划分等级,从非常差到非常好。John偏好动作片,Katie偏好文艺片,如下图所示,无需了解电影的细节信息,我们就可以将其划分为A类别和B类别。了解这些信息的意义在于下次Katie进入影院的时候可以向她推荐合适的电影。

通过聚类算法,可以推论不同的类别,甚至可以通过电影标题了解这些类别的含义。

K-Means算法流程

首先随意画出聚类中心,第一次基本上不会是正确的聚类中心。接下来K-Means算法会循环如下两步:

  1. 分配 (assign)
  2. 优化 (optimize)

分配:假设对于cluster 1,选择距离中心 1 比中心 2更近的红色点。
方法如下:在两个集群中心之间画一条线,然后再画一条等距且垂直的线。这条垂直线将区域分为两个部分。一个是与第一个中心点较近的部分,另一个是与第二个中心点较近的部分。

优化: 通过移动聚类中心到这些点的总二次距离降到最小。


上述两个步骤的反复迭代即K-Means算法,最终结果如下图所示:

K-Means聚类可视化

一个将K-Means聚类可视化的非常棒的网站: http://www.naftaliharris.com/blog/visualizing-k-means-clustering/

sklearn

K-Means in sklearn

先来看几个重要参数:

n_clusters: 默认值为8。代表算法中的聚类数量。可以由使用者根据情况自行设置。
max_iter: 默认值为300。矩心分配和移动迭代的次数,即算法迭代的次数。在多数情况下,算法到达最大迭代次数前就可能终止了。
n_int:算法初始化的次数。即初始化时选择不同的矩心(centroid seeds),最后会选择表现最好的那个。

聚类数量n_clusters是最最重要的参数。

K-Means的局限

这小节主要描述K-Means算法能做和不能做的是什么。主要讨论对象是局部极小值

问题:对于一个固定的数据集,一个固定数量的蔟中心(cluster center),在运行K-Means算法时,是否总会得到相同的结果?

答案是否定的。 K-Means是所谓的爬山算法(climbing algorithm),因此它非常依赖初始聚类中心所处的位置。可能会有多个局部极小值,好的或是不好的。如果我们有越多的聚类中心,就能找到越多的局部最小值,所以我们需要将算法运行多次已找出最好的局部极小值。

比如下图的这个例子:

优达学城机器学习之--聚类(Cluster)相关推荐

  1. 优达学城计算机视觉pkl,优达学城机器学习工程师纳米学位项目介绍

    本文由 meelo 原创,请务必以链接形式注明 本文地址,简书同步更新地址 一对一的项目辅导是优达学城纳米学位的一大亮点.本文将简要介绍优达学城机器学习工程师纳米学位的6个项目.项目覆盖了机器学习的主 ...

  2. 优达学城机器学习之--决策树(Decision Trees)

    前言 决策树(Decision tress)是继朴素贝叶斯(NB),向量机(SVM)之后的另一种监督分类算法(supervised classification algorithm). 决策树已经有几 ...

  3. 优达学城机器学习之--支持向量机(SVM)

    前言 SVM是支持向量机的简称(Support Vector Machine) 文章目录如下: 简述 选择分隔线 核函数(kernel)及其参数c, gamma 过拟合 over-fitting SV ...

  4. 优达学城机器学习之--朴素贝叶斯

    前言 通过漫长的先修课程,终于来到了真正的机器学习. 从散点图到决策面 机器学习算法做的事情是定义了一个所谓的决策面(decision surface).决策面通常位于两个不同类之间的某个位置上.当我 ...

  5. 优达学城 机器学习课程资源

    http://pan.baidu.com/s/1geVx2r5 47pe

  6. 【优达学城测评】机器学习工程师纳米学位的学习体验

    申请优达学城免费试学一个月以来,机器学习工程师的课程到现在学习了3/7左右,来谈谈自己的一些感受.好的地方就不多说了,直接看网站上的介绍就好.这里主要说说个人认为不足的地方,这样才能帮助优达学城在将来 ...

  7. 优达twitter 清理_Udacity优达学城数据分析视频

    Udacity优达学城数据分析视频下载!Udacity优达学城数据分析视频是udacity优达学城数据分析学习笔记!udacity优达学城纳米学位资料视频是机器学习&深度学习视频教程! Uda ...

  8. python人工智能入门优达视频_看优达学城python入门视频学习C++

    在如今这个时代,计算机领域中,各种技术瞬息万变,不断更新迭代.随着人工智能.机器学习等先进技术的兴起,近年来,python入门视频是很多人关注的,Python程序员的数量已经大大超过C++程序员.然而 ...

  9. 优达twitter 清理_优达学城的学习感想及优惠

    2017年12月因一次偶然的机会,看到优达学城的课程.当时通过优惠码:0C637434报名能有优惠(你们也可以使用拿优惠哦).就决定参加了优达学成的数据分析入门课程. 数据分析入门课程学习的内容有四大 ...

最新文章

  1. php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果
  2. php5.5.33 源码安装,Linux PHP5.3升级PHP5.5.33
  3. “由于/bin 不在PATH 环境变量中,故无法找到该命令”
  4. python代码示例图形-Python使用统计函数绘制简单图形实例代码
  5. Tomcat服务器 Varnish代理服务器
  6. qq登录界面句柄_别小看QQ邮箱测试,80%的测试新手都不能写出完整的测试用例~...
  7. 如何在Linux上制作一个屏幕录像视频教程
  8. 在容器里设置GOMAXPROCS的正确姿势
  9. 微信开发 Java SDK
  10. 深度剖析数仓CN增量备份技术
  11. 2.1.0 Python初识面向对象
  12. QML中使用QSortFilterProxyModel进行排序和过滤
  13. 公开处刑,专家博主开发游戏的老王专栏抄袭事件始末
  14. 阿里云对象存储(oos)
  15. linux ccid驱动下载,ccid驱动支持
  16. Lightweight Augmented Graph Network Hashing for Scalable Image Retrieval
  17. 日记:2011年6月深圳2周找工作总结
  18. CSS 轮廓(outline)/CSS margin(外边距)/CSS padding(填充)
  19. [FFmpeg] 去除 logo
  20. shell 脚本 之 case-when

热门文章

  1. 剑指 Offer II 114. 外星文字典(困难 图 bfs 哈希表 拓扑排序 字符串 数组)
  2. 智慧外链微信小程序源码1.8版本
  3. 准备开始layabox了
  4. 基于《狂神说Java》JUC并发编程--学习笔记
  5. 手机通过ESP8266(WiFi)控制stm32f103c8t6的洒水小车
  6. 【AI基础】AUC/ROC指标
  7. 强制将int转化为float
  8. document在方法外获取对象无法获取数据
  9. 汇编语言--ARM汇编
  10. 一个简单的Java程序:My first Java!