【吴恩达机器学习笔记】十一、聚类

✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。
📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记,方便大家参考学习。
💡专栏地址:https://blog.csdn.net/Newin2020/article/details/128125806
📝视频地址:吴恩达机器学习系列课程
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

十一、聚类

1. K-Means算法

现在我们要学的是目前为止第一个无监督算法,我们来看个例子来理解聚类算法中的K-Means算法。

现在我有一些样本,我想把它自动分为两类,那么我们先随机选取两个聚类中心。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CkxZIIRe-1670115008324)(吴恩达机器学习.assets/image-20211115075106741.png)]

然后就开始类内循环,每次循环都分两步,第一将离聚类中心近的点染成相同的颜色即分为己类,第二计算自己类别的样本均值,然后将聚类中心移动到均值点,再做相同的动作直至不能移动为止。

所以接下来看这个案例,先进行分类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NnH9JCZO-1670115008327)(吴恩达机器学习.assets/image-20211115075341920.png)]

然后移动聚类中心。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aqIOQKpA-1670115008330)(吴恩达机器学习.assets/image-20211115075358943.png)]

然后再次分类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dgdefU54-1670115008333)(吴恩达机器学习.assets/image-20211115075421449.png)]

然后再移动聚类中心。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7SuMxzh4-1670115008335)(吴恩达机器学习.assets/image-20211115075508116.png)]

然后再分类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ww2qrHVj-1670115008340)(吴恩达机器学习.assets/image-20211115075525971.png)]

最后再移动聚类中心,得到最终位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3qvYygri-1670115008343)(吴恩达机器学习.assets/image-20211115075540937.png)]

接下来,我们看看具体步骤。

K值算法(K-means algorithm)

首先,我们要输入要分出的簇数K和训练集。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hjSMSDVL-1670115008348)(吴恩达机器学习.assets/image-20211115080050880.png)]

然后进行我们上面提到的步骤,先随机选取聚类中心,然后反复进行循环操作:

  • 对每个样本都计算其到每个聚类中心的距离,然后找出距离最小的那个,将其分类于它。
  • 对每个类都计算类中所有样本的均值,然后将聚类中心移到均值处。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBjceUK8-1670115008349)(吴恩达机器学习.assets/image-20211115080646146.png)]

实际应用中,你可能会遇到一些不太好分类的情况,不会像左下图那样而是右下图T恤分类的例子,这时候分类的算法可能效果不会太好,不过K值算法仍然能分出三个类别,而设计师就可以通过分出的这三个类别观察这些样本的身高和体重,设计出相应适合大众人群的衣服大小。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OeCbsawz-1670115008351)(吴恩达机器学习.assets/image-20211115081312788.png)]

2. 优化目标

这节课我们来讲讲K值算法的代价函数,有时候也称失真(Distortion)代价函数

  • c(i):表示x(i)所属的类别。
  • μk:表示聚类中心k。
  • μc(i):表示x(i)所属的类别,这个主要用于下面的计算中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MTbOLaKd-1670115008352)(吴恩达机器学习.assets/image-20211115082309753.png)]

3. 随机初始化

我们初始化时一般用的方法是,随机选取训练集中的样本直接作为聚类中心,所以有时候可能运气很好刚好分别选到两个簇中,但有时也会选到同个簇中,所以这可能会导致最终结果不相同。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Hrod0HB-1670115008354)(吴恩达机器学习.assets/image-20211115083926786.png)]

正如下面所示,随机初始化可能会使K值算法得到**局部最优解(Local optima)**而不是全局最优解。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Heop8rSi-1670115008356)(吴恩达机器学习.assets/image-20211115084435674.png)]

所以我们会进行多次随机初始化以寻求一个更好的结果,具体步骤如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y9pAjQXE-1670115008357)(吴恩达机器学习.assets/image-20211115084806179.png)]

假设我们进行100此循环,然后进行如上的步骤,每次循环都会计算一次J值,等循环结束后,我们就可以选取J值最小的那个例子去训练。而这种多次随机初始化的方法对于K比较小的时候十分有效,大概K在2-10的时候,但是当K十分大的时候,这种方法的效果就不会特别明显了。

4. 选取聚类数量

我们在选取聚类数量的时候可能会比较纠结,因为样本是没有标签的,分界线会比较模糊,难以划分类别,接下来我们先介绍一种方法叫肘部方法(Elbow method)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jB5awXvl-1670115008359)(吴恩达机器学习.assets/image-20211115090229324.png)]

我们可以通过画出J与K的图像观察曲线变化,如果想上图左侧曲线一样,就可以发现在K为3时是整个曲线的转折点,所以我们可以选取3作为聚类数量。但我们通常不用这种方法的原因是,一般曲线都会像上图右侧曲线那样,没有一个明确的转折点,就无法很好的选取聚类数量了。

还有一种方法,就是通过实际目的去选择聚类数量,还是用于市场分割设计T恤的那个例子。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E8VQwTR6-1670115008361)(吴恩达机器学习.assets/image-20211115090910665.png)]

我们可以去思考我要如何设计T恤的大小才能满足顾客的需求,我可能会选择K=3即分为S,M,L也可能会选择K=5等等,总之我是通过最终对于市场需求这个目的来选择聚类的数量。

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值