神经网络推荐引擎

Lou*_*uis 12 artificial-intelligence recommendation-engine neural-network

如何为推荐引擎设计神经网络.我假设每个用户都需要自己的网络,但是如何设计用于在数据库中推荐项目的输入和输出.是否有任何好的教程或什么?

编辑:我更想的是如何设计网络.与输入神经元的数量以及输出神经元如何指向数据库中的记录一样.你会说6个输出神经元,将它转换成一个整数(从0到63可以是任何东西),这是数据库中记录的ID吗?是人们这样做的吗?

Cha*_* Ma 8

我建议使用无监督学习(如自组织地图)来研究神经网络.除非您可以非常精确地将数据分类用于学习,否则使用常规监督神经网络来执行您想要的操作非常困难.自组织地图没有这个问题,因为网络自己学习分类组.

看一下这篇描述音乐音乐推荐系统的论文 http://www.springerlink.com/content/xhcyn5rj35cvncvf/

还有更多来自谷歌学者的论文 http://www.google.com.au/search?q=%09+A+Self-Organizing+Map+Based+Knowledge+Discovery+for+Music+Recommendation+系统+ IE = UTF-8&OE = UTF-8&A Q = T&RLS = com.ubuntu:EN-US:官方与客户端= firefox的-A&安全=活跃


San*_*nto 2

首先,您必须决定您到底推荐什么以及在什么情况下推荐。有很多事情需要考虑。您是否会考虑“购买 X 的其他用户也购买了 Y”?您是否只会推荐性质相似的商品?您是否推荐具有“此一比彼一”关系的商品?

我确信还有更多的决定,每个决定都有自己的目标。训练一个庞大的网络来处理上述所有问题是非常困难的。

神经网络都归结为同一件事。您有一组给定的输入。您有一个网络拓扑。你有一个激活函数。您对节点的输入有权重。你有输出,并且有衡量和纠正错误的方法。每种类型的神经网络可能都有自己的方式来完成这些事情,但它们始终存在(据我有限的知识)。然后,通过输入一系列具有已知输出结果的输入集来训练网络。您可以按照自己的意愿运行该训练集,而不会出现训练过度或训练不足的情况(这既是您的猜测,也是下一个人的猜测),然后您就可以开始了。

本质上,您的输入集可以描述为您认为与手头的基本功能相关的一组特定品质(例如:降水量、湿度、温度、疾病、年龄、位置、成本、技能、一天中的时间、一天中的时间)星期几、工作状态和性别都可能在决定一个人是否会在某一天去打高尔夫球方面发挥重要作用)。因此,您必须决定您到底想推荐什么以及在什么条件下推荐。您的网络输入本质上可以是布尔值(例如,0.0 为假,1.0 为真)或映射到伪连续空间(其中 0.0 可能意味着根本不存在,0.45 意味着有些,0.8 意味着可能,1.0 意味着是的)。第二个选项可能为您提供工具来映射特定输入的置信度,或者简单地进行您认为相关的数学计算。

希望这有帮助。你没有付出太多继续下去:)