kmeans算法中的sse_吴恩达机器学习笔记(七) —— K-means算法

主要内容:

一.K-means算法简介

二.算法过程

三.随机初始化

四.二分K-means

四.K的选择

一.K-means算法简介

1.K-means算法是一种无监督学习算法。所谓无监督式学习,就是输入样本中只有x,没有y,即只有特征,而没有标签,通过这些特征对数据进行整合等操作。而更细化一点地说,K-means算法属于聚类算法。所谓聚类算法,就是根据特征上的相似性,把数据聚集在一起,或者说分成几类。

2.K-means算法作为聚类算法的一种,其工作自然也是“将数据分成几类”,其基本思路是:

1) 首先选择好将数据分成k类,然后随机初始化k个点作为中心点。

2) 对于每一个数据点,选取与之距离最近的中心点作为自己的类别。

3) 当所有数据点都归类完毕后,调整中心点:把中心点重新设置为该类别中所有数据点的中心位置,每一轴都设置为平均值。(所以称为means)

4) 重复以上2)~3)步骤直至数据点的类别不再发生变化。

3.K-means算法从感性上去理解,就是把一堆靠得近的点归到同一个类别中。

二.算法过程

1.一些变量的约定:μ(i)表示第i个中心点,c(i)表示第i个数据点归到哪个中心点。

2.K-means算法的本质就是:移动中心点,使其渐渐地靠近数据的“中心”,即最小化数据点与中心点的距离。即:

7350588194dcffa33768baab9b7e3e91.png

3.算法流程:

3fa9dfed869b6742cfe5a31dccf90c0f.png

4.Python代码如下:

1 #coding:utf-8

2

3 from numpy import *

4

5 def distEclud(vecA, vecB): #计算欧式距离

6 return sqrt(sum(power(vecA - v

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值