6.6 二分 K-Means 算法-机器学习笔记-斯坦福吴恩达教授
二分 K-Means 算法
该算法补充自 《机器学习实战》 一书
常规的 K-Means 算法的误差通常只能收敛到局部最小,在此,引入一种称为二分 K-Means(bisecting kmeans)的算法,相较于常规的 K-Means,二分 K-Means 不急于一来就随机 KKK 个聚类中心,而是首先把所有点归为一个簇,然后将该簇一分为二。计算各个所得簇的失真函数(即误差),选择误差最大的簇再进行划分(即最大程度地减少误差),重复该过程直至达到期望的簇数目。
二分 KMeans 算法流程大致如下:
初始时,所有样本被看做在同一个簇:
c(1)=c(2)=...=c(m)c^{(1)}=c^{(2)}=\ ... \ =c^{(m)}c(1)=c(2)= ... =c(m)whilenum<kwhile\ num<kwhile num<k ( numnumnum 表示当前的簇数):
fori=1tonumfor\quad i=1\ to\ numfori=1 to num (对于每一个簇):
- 计算误差
- 在该簇上进行 K-Means 聚类,其中 k=2k=2k=2
- 计算将该簇一分为二后的总误差,该误差在之后将会被用于比较
选择使得总误差最小的簇进行划分。
虽然二分 K-Means 能带来全局最优解,但是我们也可以看到,该算法是一个贪心算法,因此计算量不小。
6.6 二分 K-Means 算法-机器学习笔记-斯坦福吴恩达教授相关推荐
- 4.4 机器学习系统设计--垃圾邮件分类-机器学习笔记-斯坦福吴恩达教授
机器学习系统设计–垃圾邮件分类 假定我们现有一封邮件,其内容如下: From: cheapsales@buystufffromme.com To: ang@cs.stanford.edu Subjec ...
- 6.2 K-Means 算法步骤-机器学习笔记-斯坦福吴恩达教授
K-Means 算法步骤 那么,K-Means 这个算法是如何完成聚类过程的呢?其实算法名称中对此已有体现: K: 描述了簇的数量,也就是应当聚合成的几何数. Means:均值求解会是该算法的核心. ...
- 8.3 算法流程与评估-机器学习笔记-斯坦福吴恩达教授
算法流程与评估 算法流程 有了前面的知识,我们可以得到,采用了高斯分布的异常检测算法流程如下: 选择一些足够反映异常样本的特征 xjx_jxj . 对各个特征进行参数估计: μj=1m∑i=1mxj ...
- 4.7 程序示例--算法诊断-机器学习笔记-斯坦福吴恩达教授
程序示例–算法诊断 我们手头有一份大坝水的流量与水位关系的数据,首先我们将其划分为训练集.交叉验证集和测试集: # coding: utf-8 # algorithm_analysis/diagnos ...
- 6.3 优化-机器学习笔记-斯坦福吴恩达教授
优化 和其他机器学习算法一样,K-Means 也要评估并且最小化聚类代价,在引入 K-Means 的代价函数之前,先引入如下定义: μc(i)=样本x(i)被分配到的聚类中心μ^{(i)}_c=样本\ ...
- 5.7 程序示例--基于 SMO 的 SVM 模型-机器学习笔记-斯坦福吴恩达教授
程序示例–基于 SMO 的 SVM 模型 在这里,我们会实现一个基于 SMO 的 SVM 模型,在其中,提供了简化版 SMO 和 完整版 SMO 的实现. 简化版 SMO:不使用启发式方法选择 (α( ...
- 10.2 梯度下降-机器学习笔记-斯坦福吴恩达教授
梯度下降 批量梯度下降法(Batch gradient descent) 拥有了大数据,就意味着,我们的算法模型中得面临一个很大的 m 值.回顾到我们的批量梯度下降法: 重复直到收敛:重复直到收敛:重 ...
- 10.1 掌握大数据-机器学习笔记-斯坦福吴恩达教授
掌握大数据 在算法分析与优化一节中,我们就提到,在机器学习界流传着这样一句话: It's not who has the best algorithm that wins. It's who has ...
- 9.2 协同过滤-机器学习笔记-斯坦福吴恩达教授
协同过滤(Collaborative Filtering) 回到上一节的问题,每部电影,我们都有评价其内容的特征向量 xxx : 但是,在现实中,不会有任何网站,任何人有精力,有能力去评估每部电影所具 ...
最新文章
- python与c混合编程 版本_python与C、C++混编的四种方式(小结)
- 【专场】揭秘端到端视频技术
- Linux和Windows下部署BeetleX服务网关
- 把旧系统迁移到.Net Core 2.0 日记(1) - Startup.cs 解析
- 互联网晚报 | 11月7日 星期日 | EDG夺得《英雄联盟》S11总冠军;拼多多推出“超拼夜”系列;VMware与戴尔完成分拆...
- 电机与拖动:异步交流电动机改变电压,转子电阻及频率的机械特性曲线(Matlab实现方法)
- 微信推送消息通知接口汇总
- 拳王虚拟项目公社:虚拟资源项目超详解,人人皆可熟练操作
- pgm概率图模型_概率图形模型(PGM)算法| 机器学习
- 大小写字母ASCII码对照表
- Eclipse编写代码时出现The word 'localhost' is not correctly spelled.禁告
- iPhones刷机怎么备份微信记录 iPhone手机微信记录怎么备份
- 乐高太多没处放?解放女朋友双手,1 个顶 100 个的乐高智能分拣机来了!
- 斐讯路由器虚拟服务器怎么设置,斐讯PSG1218路由器如何设置
- c# 获取进程cpu的使用率 简单试验
- ARM uboot 的移植3 -从 uboot 官方标准uboot开始移植
- [廖雪峰python教程列表生成器练习]杨辉三角定义如下,把每一行看做一个list,试写一个generator,不断输出下一行的list
- 电力行业数字孪生技术应用白皮书(2022)
- Semi-Supervised Semantic Segmentation with Pixel-Level Contrastive Learning from a Class-wise Memory
- JavaCV开发详解专栏文章目录(JavaCV速查手册)
热门文章
- Dijstra算法求最短路径
- android 中国通信乱码问题
- Android设置布局背景为白色的三种方法
- 2008-2013年写的10个小软件
- CentOS系统安装桌面
- System.DBNull
- IIS6+asp.net 2.0+HTTP 错误 404 - 文件或目录未找到:您正在搜索的页面可能已经删除、更名或暂时不可用。...
- 洛谷 P4284 [SHOI2014]概率充电器 解题报告
- (21) java web的struts2框架的使用-Action实现的三种方式
- Android Studio2.0 教程从入门到精通Windows版