聚类都有两个前提:距离相近的实体更有可能是同一个类;A与B相似,B与C相似,则A与C相似的可能性很大。所以,在聚类算法中,距离的定义至关重要。
考虑一下购物篮分析,试着给商品聚类。所知道的信息只有某些商品同时被买的记录,这也是关联规则发现所需要的最基本的信息。
可以根据A和B出现在同一购物篮中的频率来定义距离,频率越高,则距离越小。
人的生活包含吃喝嫖赌,去商场买东西,是要满足这些各个需求的,吃和喝,喝和嫖,嫖和赌一起出现的可能性很高,最终很有可能聚聚成一个大类。
能聚类的不仅要有聚集性,还要有可分性,类内距离小,类间距离大。
聚类还应该有一些假设:数据由多个混合分布产生的。比如,k均值算法在数据为多个高斯混合分布的时候,会表现很好,聚类中心接近高斯分布中心。
但是购物篮应该服从什么分布呢?
假设人购物的需求来自四种类别:吃喝嫖赌。因为吃而购买吃的东西的可能性很大,购买其他的可能性很小,这个分布很高斯。
但是问题是购物行为并不是由一种类别驱动的,即一个人想吃又想喝,购物篮就表现为吃喝共同影响的结果,并非某一个类别分布影响的结果。
联想到此前谈到的朴素贝叶斯算法的第二个假设:数据由一个分布产生(web数据挖掘原文92页是:There is one-to-one correspondence between mixture components and document classes,这个定义是关于文本挖掘的,不知道怎么翻译)。购物篮分析并不符合第二个假设,所以购物篮不适合聚类和分类。
关联规则分析相对聚类算法,假设少,所以推广泛化能力很弱,或者说根本没有泛化能力,只是根据历史数据总结一些规则,历史中没有出现的东西,关联规则无能为力,比如某一商品没有被买过,关联规则算法不会得到关于此商品的结论。
关联规则就在于发现规则,聚类在此或许就没有意义,因为商品的类别很清楚明白,不过聚类可以用在顾客集合上,距离也要重新定义了。
边想边写,思路不是很整齐啊!