Artificial intelligence 神经网络推荐引擎

Artificial intelligence 神经网络推荐引擎,artificial-intelligence,neural-network,recommendation-engine,Artificial Intelligence,Neural Network,Recommendation Engine,如何为推荐引擎设计一个神经网络。我假设每个用户都需要自己的网络,但是如何设计输入和输出以推荐数据库中的项目呢。有什么好的教程吗 编辑:我更想知道如何设计网络。比如有多少个输入神经元,以及输出神经元如何指向数据库中的记录。您是否有6个输出神经元,将其转换为整数(0-63之间的任意值),这是数据库中记录的ID?人们就是这样做的吗?首先,你必须决定你到底在什么情况下推荐什么。有很多事情需要考虑。你会考虑“购买X的其他用户也买了Y”吗?你会只推荐具有相似性质的物品吗?你是不是在推荐那些有“这一种更适合那

如何为推荐引擎设计一个神经网络。我假设每个用户都需要自己的网络,但是如何设计输入和输出以推荐数据库中的项目呢。有什么好的教程吗


编辑:我更想知道如何设计网络。比如有多少个输入神经元,以及输出神经元如何指向数据库中的记录。您是否有6个输出神经元,将其转换为整数(0-63之间的任意值),这是数据库中记录的ID?人们就是这样做的吗?

首先,你必须决定你到底在什么情况下推荐什么。有很多事情需要考虑。你会考虑“购买X的其他用户也买了Y”吗?你会只推荐具有相似性质的物品吗?你是不是在推荐那些有“这一种更适合那种关系”的商品

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

神经网络可以归结为同一件事。您有一组给定的输入。您有一个网络拓扑。你有一个激活功能。节点的输入具有权重。你们有输出,你们有测量和纠正错误的方法。每种类型的神经网络可能都有自己做这些事情的方法,但它们一直存在(据我所知有限)。然后,通过输入一系列具有已知输出结果的输入集来训练网络。你可以随心所欲地运行这个训练集,而不必训练过度或不足(这是你的猜测,因为它是下一个家伙的),然后你就可以开始了

从本质上讲,您的输入集可以被描述为一组您认为与手头的基本功能相关的质量(例如:降水量、湿度、温度、疾病、年龄、地点、成本、技能、一天中的时间、一周中的哪一天、工作状态和性别都可能在决定某人是否在某一天去打高尔夫球方面发挥重要作用)。因此,您必须确定您正试图推荐的内容和条件。您的网络输入本质上可以是布尔值(例如,0.0为假,1.0为真)或映射到伪连续空间中(其中0.0可能表示完全没有,.45表示有点可能,.8表示可能,1.0表示是)。第二个选项可能会为您提供工具,以映射特定输入的置信度,或您认为相关的简单数学计算


希望这能有所帮助。你没有付出太多:)

我建议你使用无监督学习,比如。除非您能够非常精确地对数据进行分类以便进行学习,否则很难使用正常的监督神经网络来做您想要做的事情。自组织地图没有这个问题,因为网络可以自己学习分类组

看看这篇文章,它描述了一个音乐推荐系统

谷歌学者也写了很多关于这个话题的论文

关于编辑:不,你没有抓住要点。神经网络的要点是基于统计特性进行分类。它们本质上不是Bayesean,但如果它对你有帮助,你可以这样想:“当我输入了某个值的A,输入了某个值的B,输入了某个值的C……这个特定的输入集属于某个组的可能性有多大(更准确地说,你问它属于哪个组)?这就是神经网络的目的。你可以调整这个模型,使其不仅仅用于简单的分类,但在其核心,它就是这样做的。谢谢,你的回答清楚地解释了如何输入数据,而不是输出应该/应该是什么样的,以及它们意味着什么。这就是我感到困惑的地方。输出是数字的,但那些是数字数字必须有意义。“它们的意义”取决于网络的设计者,但仅仅将它们映射到数据库ID(这是一个没有数学意义的标签)是行不通的以你想要的方式。输出不能直接转换为标签。输出是统计模型的值。这就像你试图根据四分卫球衣上的数字预测他的表现。除非球衣是根据球员的具体、可观察的标准分配的,否则任何这样的预测都是有意义的是的,我想我的猜测太离谱了。