推荐系统算法——Tree Cluster(由鸡引发的思考)

Tree Cluster,顾名思义,该推荐是在树的基础上进行的,大家都知道树有父节点,子节点,叶子节点等枝桠,那么这些东西和推荐又有什么关联呢?

当然没有关 联,重点是在Cluster上,cluster的中文意思是集群,集群在计算机界应用的地方也非常的多,动不动就说来搞个服务器集群吧,让服务器容灾能力 强一点,让服务器运行速度快一点等等。

通俗地讲,集群就是将一些东西(节点)围起来作为一个整体来考虑,再通俗点,就是把世界上所有的鸡围起来免得将流感 病毒传染给人类。可是这些与Tree有毛球关系啊?如果单纯将集群那么当然与树没有任何关系,难道集群还要区分谁是母鸡谁是公鸡谁是小鸡鸡啊,当然不用。 可是在推荐系统中我们就不得不将这些鸡互相连接起来以便我们判断这两只鸡是否都是乌鸡是否都是山鸡等等。在实现集群的过程中我们可以一下子将所有的鸡围起 来,还可以分组围,如果一下子围起所有鸡那么和我们推荐的目的就大相径庭了,你围起所有鸡我如何正确的给鸡推荐其他鸡(或其他鸡食用的饲料),因为你将所 有鸡围在一个集群(鸡群)中我就会以为你这一个集群(鸡群)是相似的,这时候推荐饲料的时候我就会胡乱推荐了,所以更好的解决方法是分组进行集群,首先我们将每一只鸡放入一个鸡群(一开始只有一只鸡)中,然后分别遍历(查看)这些鸡群。

判断这两只鸡是否是相似的,如果是相似的,那么我把这两只鸡放入一个新的鸡群中,并且将原先这两只鸡所在的鸡群消灭掉,然后继续遍历鸡群,直到两个鸡群的相似度小于给定值或者鸡群的数量小于给定值。这时候我们可能会产生一个非常大的鸡群和一些小鸡群,这些鸡群里面的鸡都是类似的鸡,它们可能都喜欢吃流感病毒,可是肯定会存在有些吃了有些没吃的,所以这时候我们就可以为那些没 有吃到的鸡推荐这个流感病毒给它们。

这样也就实现了推荐,值得注意的是每一个鸡群中推荐给任何一只鸡的东西都是相同的,这也不难理解,因为推荐的东西实在 这个鸡群的基础上完成的,这个鸡群本身就这么几只鸡,并且他们是相似鸡所以推荐的东西当然应该是一样的。

讲完了鸡,该讲人了,人和鸡其实是一样的。呵呵……



Previous     Next
uohzoaix /
Published under (CC) BY-NC-SA in categories 推荐系统  tagged with