吴恩达老师机器学习课程chapter07——聚类

本文是非计算机专业新手的自学笔记,高手勿喷。

本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十三章。

缺少重要推演,只能作为入门了解。



基本概念

这是一种无监督学习,即是说样本不含有标签(y),只有x。

K均值法

K均值法的思路如下:

如果想将已有的样本分为两类,首先,在空间中任意生成两个点,作为聚类中心(cluster centroid);

接着,分别计算每个点与两个聚类中心的距离,并依据距离的大小分为两类;

然后,分别计算两类样本的算术平均值,并将这两个均值作为新的聚类中心;

之后不停循环,直到获得满意的结果。

K均值法的具体算法如下:

K均值法的优化目标如下:

其中J也被称为失真代价函数。

几点注意

  • 初始化时,应该有 聚类中心数K<样本数m。
  • 最终收敛结果可能不一致,即最优问题得到了不同的局部最优解。可以尝试初始化多次,之后选择J最小的作为解。

  • 常常是数据可视化之后手动选择聚类数目。

  • 可以通过J与K的关系选择K:

"Elbow Method":可以选择"elbow"处的K值作为聚类数。很多时候不能靠这种方法解决。

最新文章

  1. MySql中in和exists效率
  2. Android Touch事件传递机制 一: OnTouch,OnItemClick(监听器),dispatchTouchEvent(伪生命周期)
  3. 用户图形界面(GUI)学习笔记(一)——Swing与AWT
  4. Kali Linux系列教程之OpenVas安装
  5. python启动服务器
  6. hive中的常用方法(case,cast,unix_timestamp)
  7. js中json与数组字符串的相互转化
  8. 新建一个struts2项目
  9. 【转载】最近在用Arrays的asList()生成的List时,List元素的个数时而不正确,数组转化为List,即Arrays.asList(intArray);
  10. Keil uVISION2 自学教程
  11. 从汇编看c++中的placement operator new
  12. Google Summer of Code 建议被接收的5个技巧
  13. web开发布局---传统布局篇
  14. Golang的channel使用以及并发同步技巧
  15. caffe-win10-cifar10
  16. C++删除容器数据
  17. Smart Disk -- proposed by Liyuan Liu
  18. Semantic segmentation using adversarial networks
  19. 将kali linux装入U盘 制作随身携带的kali linux
  20. hashlib 算法介绍

热门文章

  1. GoLang中signal.Notify函数用法
  2. api规范PHP,RESTful API规范(详细版)
  3. 【3】java之string类
  4. [NepCTF2022]signin
  5. 第五周作业-N67044-张铭扬
  6. 项目管理 VS. 个人计划
  7. vscode开发vue3+ts环境搭建
  8. SVN 之切换账号
  9. windows下解决getAddressInfo Failed的一种办法
  10. docker私有镜像仓库搭建(简)