目前决定cluster数目的常用方法是手动地决定cluster的数目
哪个K是正确的?
上图中的数据集,我们可以说它有4个clusters,也可以说它有2个clusters,但哪个是正确答案呢?其实这儿没有正确答案,数据集要划分的cluster的数目本来就是模拟两可的,可以是2个,3个,4个。这也是无监督学习的一部分,因为我们的数据集没有标签,所以没有清晰的答案。所以做一个能自动求出K值的算法是非常困难的
通过肘部法则(elbow method)来选择K值
通过画K与cost function的关系曲线图,如左图所示,肘部的值(cost function开始时下降很快,在肘部开始平缓了)做为K值,K=3。
并不是所有的问题都可以通过画肘部图来解决,有的问题如右边的那个图,肘点位置不明显(肘点可以是3,4,5),这时就无法确定K值了。
故肘部图是可以尝试的一种方法,但是并不是对所有的问题都能画出如左边那么好的图来确定K值。
另一种选择K值的方法—后续目的(市场等)
通过后续的一些目的,如市场方面的一些计算评估等。例如,T-shirt的例子,是将其设计为3种尺码还是5种尺码呢?要根据后续我们的一些目的来确定,是想T-shirt适应更多的顾客(5种)还是希望T-shirt更便宜(3种),来确定K的值。
总结
- 选择K值现在大多数还是通过你的理解与洞察手动来选择的
- 可以尝试通过elbow method来选择K值,但是它并不通用,因为很多情况下,肘部点并不明确
- 大多数情况下,我们根据后续的目的来选择K值,看后续要做些什么,来看我们的K值应该怎么选
时间: 2024-12-24 15:21:04