人工智能导论 第 3 章 · 实验三

← 返回实验目录

第 3 章 机器学习基础 · 实验三

给顾客自动分群

一家奶茶店有 150 位会员的消费记录:每月来几次,每次花多少钱。没有人告诉机器这些顾客属于哪一类。本实验让 K-Means 自己把他们分成几群,再看分几群最合适。最后换一份数据,看 PCA 怎样找到最好的观察角度。

建议用时30 分钟
对应课件第四节 第 27 至 39 页
一共几步四步,外加实验报告
交什么最后生成的实验报告

这 个 实 验 要 说 明 四 件 事

  1. 第 01 步K-Means 只做两件事:按最近的中心分组,再把中心挪到组的正中间。反复几轮,分组就稳定了。
  2. 第 02 步起点不同,结果可能不同。多跑几次,挑最好的那次。
  3. 第 03 步分几群要人来定,肘部曲线可以帮忙做选择。
  4. 第 04 步PCA 降维,就是找一个让点散得最开的方向,把点投上去。

数据说明:会员记录和身高臂展数据都是随机生成的教学数据。

01

一步一步看 K-Means

对应 第四节 · 第 28、29 页

这一步看什么先把 K 定为 4。放好中心以后,交替点“分组”和“挪中心”,看四群顾客怎样一步步分出来。距离平方总和就是第四节第 28 页说的那个数,越小表示各群越紧凑。

可以直接在图上点,自己放中心
每个点是一位会员。灰色表示还没分组,分组以后按颜色区分。叉号是每一群的中心,虚线箭头是中心刚刚挪动的路线。

分成几群

挪了几轮0
距离平方总和—
先放下 4 个中心
每一群的情况
群人数每月来几次每次花多少

动 手 做

  1. 点随手放 4 个中心,或者直接在图上点 4 下,自己放。
  2. 交替点 ① 分组 和 ② 挪中心。每点一次,看颜色、叉号和距离平方总和怎么变。
  3. 叉号不再移动时,记下一共挪了几轮。再看右边的表,给四群顾客各起一个名字。

应 该 看 到

每做一步,距离平方总和只会变小或者不变,不会变大。多数情况下挪上几轮,叉号就不再移动。

四群顾客的特点很明显。比如有一群来得勤、每次花得少,很可能是附近的学生。机器并不知道谁是学生,它只是把挨得近的点归在了一起。

02

换个起点再跑一次

对应 第四节 · 第 29、30 页

这一步看什么K-Means 的中心一开始是随手放的。起点换了,最后分出来的结果还一样吗?

空心圈:中心的起点细线:中心一路挪动的轨迹叉号:中心最后停下的位置

试不同的起点

这一次挪了几轮—
这一次的距离平方总和—
目前最小—
目前最大—
跑过的每一次
第几次起点轮数距离平方总和
还没有记录

动 手 做

  1. 连点几次换个起点再跑一次,看正常的分组长什么样。每次的结果都会记进表里。
  2. 点把中心都放在右下角,和前面的图比一比,看哪几群分错了。
  3. 对照表里的距离平方总和,找出最小和最大的两次。

应 该 看 到

大多数起点都能分出四群,距离平方总和也差不多。中心都挤在右下角出发时,有两群被并成了一群,另一群却被劈成两半,距离平方总和明显变大。

所以实际使用时,会换几个起点多跑几次,挑距离平方总和最小的那一次。

03

分几群最合适

对应 第四节 · 第 30 页

这一步看什么K 越大,距离平方总和越小。那是不是分得越多越好?

K = 4
每个 K 都换了多个起点,这里画的是距离平方总和最小的那次结果。

拖动 K

距离平方总和—
比少分一群时降了—

肘部曲线:横轴是 K,纵轴是距离平方总和。赭色圆点是当前的 K。

动 手 做

  1. 把 K 从 1 慢慢拖到 8,看左图怎样分,右边曲线上的圆点怎样走。
  2. 找出曲线由陡变平的那个 K,记下来。
  3. K 取 8 时,看看左图有什么不对劲。

应 该 看 到

K 从 1 到 4,每多分一群,距离平方总和都要降一百多甚至几百。4 以后每次只降几十或者十来个,曲线在 4 这里拐了个弯,这就是肘部。

K 取 8 时,本来是一群的顾客被硬拆成了好几小群,这样的分组没有意义。

04

换个角度看数据

对应 第四节 · 第 33、35 页

这一步看什么换一份数据:60 名同学的身高和臂展,两个数几乎同涨同落。转动一条直线,把点投上去,看哪个方向留下的信息最多。

灰点:原来的数据蓝点:投到直线上的位置
每个灰点是一名同学。只看蓝点,每个人就只剩下一个数,这就是从二维降到了一维。

转动直线

保留了多少信息—
蓝点散开的程度—

横轴是角度,纵轴是保留了百分之多少的信息。

动 手 做

  1. 拖动角度,看投到直线上的蓝点怎样变化。
  2. 找出让“保留了多少信息”最大的角度,记下角度和百分比。
  3. 点让机器找最好的方向,看它找到的和你找到的是否一样。
  4. 把角度再转 90 度,看蓝点挤成了什么样。

应 该 看 到

直线顺着点的走向,大约 45 度时,蓝点散得最开,保留的信息超过九成。这条线就是第一主成分。

和它垂直的方向上,蓝点挤成一小团,只保留了很少的信息,这个方向可以放心丢掉。

05

实验报告

整理数据,写下结论

前面四步的操作结果会自动写进报告。下面的题目按你实际看到的情况回答。

一第 01 步中,叉号一共挪了几轮才不动?给四群顾客各起一个名字,说说理由。
二第 02 步中,距离平方总和最小和最大的两次各是多少?结果差的那一次,图上出了什么问题?
三第 03 步中,你认为 K 取几最合适?为什么不是分得越多越好?
四第 04 步中,你找到的最好角度是多少度,保留了百分之多少的信息?和它垂直的方向保留了多少?
总结学习总结
K-Means 和 PCA 都不需要答案。它们各自帮你看出了数据的什么?还有哪里没弄明白?建议不少于一百字。
0 字
会打开打印窗口,选“另存为 PDF”即可
人 工 智 能 导 论 上 机 实 验 报 告

给顾客自动分群:K-Means 聚类与 PCA 降维

第 3 章 机器学习基础 · 实验三
姓名—
学号—
班级—
完成日期—

一实验数据记录

一步一步分
—
换起点
—
分几群
—
换个角度
—

二第 01 步分出的各群

群人数每月来几次每次花多少
未记录

三思考题

一、几轮停下与四群顾客
二、起点对结果的影响
三、K 取几最合适
四、最好的投影方向

四学习总结

指导教师签字  
成绩  
保山学院 · 人工智能教研室 · 曹鼎鼎