我怎样才能实现一个推荐引擎? [英] How can I implement a recommendation engine?

查看:132
本文介绍了我怎样才能实现一个推荐引擎?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请耐心与我的写作,因为我的英语也不熟练。

Please be patient with my writing, as my English is not proficient.

作为一个程序员,我想了解的算法,或者机器学习的情报,被推荐系统或相关的系统下实现的。例如,最明显的例子是从Amazon。他们有一个很好的推荐系统。搞懂:如果你喜欢的这个的,你可能还会喜欢的的,还是其他什么东西,如:人都喜欢的这个的以及多大比例的在一起。

As a programmer, I wanna learn about the algorithm, or the machine learning intelligence, that are implemented underneath recommendation systems or related-based systems. For instance, the most obvious example would be from Amazon. They have a really good recommendation system. They get to know: if you like this, you might also like that, or something else like: What percentage of people like this and that together.

我当然知道亚马逊是一个很大的网站,他们投入了大量的大脑和资金投入这些系统。但是,在非常基本的核心,如何才能实现这样的事情我们的数据库中?我们怎样才能确定如何一个对象涉及到其他?我们怎样才能建立一个处理这种事情的统计单位?

Of course I know Amazon is a big website and they invested a lot of brain and money into these systems. But, on the very basic core, how can we implement something like that within our database? How can we identify how one object relates to other? How can we build a statistic unit that handles this kind of thing?

我倒是AP preciate如果有人能指出一些算法。或者,基本上,指出了一些很好的直接引用/书籍,我们都可以借鉴。谢谢大家!

I'd appreciate if someone can point out some algorithms. Or, basically, point out some good direct references/ books that we can all learn from. Thank you all!

推荐答案

在2种不同类型的推荐引擎。

The are 2 different types of recommendation engines.

最简单的是基于项目的,即购买了产品A还购买了产品B的客户。这很容易实现。存储稀疏对称矩阵的n×n个(其中n是项目的数量)。每个元素(M [A] [B])为倍有人已经购买项目的编号'a'连同项目B

The simplest is item-based ie "customers that bought product A also bought product B". This is easy to implement. Store a sparse symmetrical matrix nxn (where n is the number of items). Each element (m[a][b]) is the number of times anyone has bought item 'a' along with item 'b'.

另一种是基于用户的。那就是你这样的人往往喜欢这样的事情。一个可能的解决这个问题,是K-均值聚类。即构造一组集群,其中嗜好相似的用户被放置在同一个群集中,并且基于用户在同一集群提出建议。

The other is user-based. That is "people like you often like things like this". A possible solution to this problem is k-means clustering. ie construct a set of clusters where users of similar taste are placed in the same cluster and make suggestions based on users in the same cluster.

有一个更好的解决方案,而是一个更为复杂的是一个名为受限玻尔兹曼机技术。有一个介绍他们这里

A better solution, but an even more complicated one is a technique called Restricted Boltzmann Machines. There's an introduction to them here

这篇关于我怎样才能实现一个推荐引擎?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆