
无监督学习技术
|
245
9.3 练习题
1. 如何定义聚类?你能列举几种聚类算法吗?
2. 聚类算法的主要应用有哪些?
3. 描述两种使用 K-Means 时选择正确数目的集群的技术。
4. 什么是标签传播?为什么要实施它,如何实现?
5. 你能否说出两种可以扩展到大型数据集的聚类算法?两个寻找高密度区域的算法?
6. 你能想到一个主动学习有用的示例吗?你将如何实施它?
7. 异常检测和新颖性检测有什么区别?
8. 什么是高斯混合模型?你可以将其用于哪些任务?
9. 使用高斯混合模型时,你能否列举两种技术来找到正确数量的集群?
10. 经典的 Olivetti 人脸数据集包含 400 张灰度的 64
×
64 像素的人脸图像。每个图像
被展平为大小为 4096 的一维向量。40 个不同的人被拍照(每个 10 次),通常的
任务是训练一个模型来预测每个图片中代表哪个人。使用 sklearn.datasets.
fetch_olivetti_faces() 函数来加载数据集,然后将其拆分为训练集、验证
集和测试集(请注意,数据集已缩放到 0 到 1 之间)。由于数据集非常小,你可能
希望使用分层抽样来确保每组中每个人的图像数量相同。接下来,使用 K-Means
对图像进行聚类,确保你拥有正确的集群数(使用本章中讨论的一种技术)。可视
化集群:你在每个集群中看到了相似面孔吗?
11. 继续使用 Olivetti 人脸数据集,训练分类器来预测每张图片代表哪个人,并在验证
集上对其进行评估。接下来,将 K-Means 用作降维工具,然后在简化集上训练分 ...