优达学城机器学习之--聚类(Cluster)
前言
这章讲的其实是非监督学习。大多数情况下从现实世界获取的数据并不附有标记,通过非监督学习仍然可以从这些数据中有所收获。
最基本的聚类算法,也是目前使用最多的聚类算法叫做K-均值(K-Means)。
文章目录如下:
聚类简单应用
假设John和Katie都喜欢收藏电影并为它们划分等级,从非常差到非常好。John偏好动作片,Katie偏好文艺片,如下图所示,无需了解电影的细节信息,我们就可以将其划分为A类别和B类别。了解这些信息的意义在于下次Katie进入影院的时候可以向她推荐合适的电影。
通过聚类算法,可以推论不同的类别,甚至可以通过电影标题了解这些类别的含义。
K-Means算法流程
首先随意画出聚类中心,第一次基本上不会是正确的聚类中心。接下来K-Means算法会循环如下两步:
- 分配 (assign)
- 优化 (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)相关推荐
- 优达学城计算机视觉pkl,优达学城机器学习工程师纳米学位项目介绍
本文由 meelo 原创,请务必以链接形式注明 本文地址,简书同步更新地址 一对一的项目辅导是优达学城纳米学位的一大亮点.本文将简要介绍优达学城机器学习工程师纳米学位的6个项目.项目覆盖了机器学习的主 ...
- 优达学城机器学习之--决策树(Decision Trees)
前言 决策树(Decision tress)是继朴素贝叶斯(NB),向量机(SVM)之后的另一种监督分类算法(supervised classification algorithm). 决策树已经有几 ...
- 优达学城机器学习之--支持向量机(SVM)
前言 SVM是支持向量机的简称(Support Vector Machine) 文章目录如下: 简述 选择分隔线 核函数(kernel)及其参数c, gamma 过拟合 over-fitting SV ...
- 优达学城机器学习之--朴素贝叶斯
前言 通过漫长的先修课程,终于来到了真正的机器学习. 从散点图到决策面 机器学习算法做的事情是定义了一个所谓的决策面(decision surface).决策面通常位于两个不同类之间的某个位置上.当我 ...
- 优达学城 机器学习课程资源
http://pan.baidu.com/s/1geVx2r5 47pe
- 【优达学城测评】机器学习工程师纳米学位的学习体验
申请优达学城免费试学一个月以来,机器学习工程师的课程到现在学习了3/7左右,来谈谈自己的一些感受.好的地方就不多说了,直接看网站上的介绍就好.这里主要说说个人认为不足的地方,这样才能帮助优达学城在将来 ...
- 优达twitter 清理_Udacity优达学城数据分析视频
Udacity优达学城数据分析视频下载!Udacity优达学城数据分析视频是udacity优达学城数据分析学习笔记!udacity优达学城纳米学位资料视频是机器学习&深度学习视频教程! Uda ...
- python人工智能入门优达视频_看优达学城python入门视频学习C++
在如今这个时代,计算机领域中,各种技术瞬息万变,不断更新迭代.随着人工智能.机器学习等先进技术的兴起,近年来,python入门视频是很多人关注的,Python程序员的数量已经大大超过C++程序员.然而 ...
- 优达twitter 清理_优达学城的学习感想及优惠
2017年12月因一次偶然的机会,看到优达学城的课程.当时通过优惠码:0C637434报名能有优惠(你们也可以使用拿优惠哦).就决定参加了优达学成的数据分析入门课程. 数据分析入门课程学习的内容有四大 ...
最新文章
- php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果
- php5.5.33 源码安装,Linux PHP5.3升级PHP5.5.33
- “由于/bin 不在PATH 环境变量中,故无法找到该命令”
- python代码示例图形-Python使用统计函数绘制简单图形实例代码
- Tomcat服务器 Varnish代理服务器
- qq登录界面句柄_别小看QQ邮箱测试,80%的测试新手都不能写出完整的测试用例~...
- 如何在Linux上制作一个屏幕录像视频教程
- 在容器里设置GOMAXPROCS的正确姿势
- 微信开发 Java SDK
- 深度剖析数仓CN增量备份技术
- 2.1.0 Python初识面向对象
- QML中使用QSortFilterProxyModel进行排序和过滤
- 公开处刑,专家博主开发游戏的老王专栏抄袭事件始末
- 阿里云对象存储(oos)
- linux ccid驱动下载,ccid驱动支持
- Lightweight Augmented Graph Network Hashing for Scalable Image Retrieval
- 日记:2011年6月深圳2周找工作总结
- CSS 轮廓(outline)/CSS margin(外边距)/CSS padding(填充)
- [FFmpeg] 去除 logo
- shell 脚本 之 case-when