我建议使用无监督学习来研究神经网络 自组织地图 。除非您可以非常精确地将数据分类用于学习,否则使用常规监督神经网络来执行您想要的操作非常困难。自组织地图没有这个问题,因为网络自己学习分类组。
看看这篇描述音乐音乐推荐系统的论文 http://www.springerlink.com/content/xhcyn5rj35cvncvf/
以及来自谷歌学者的更多关于该主题的论文 http://www.google.com.au/search?q=%09+A+Self-Organizing+Map+Based+Knowledge+Discovery+for+Music+Recommendation+Systems+&ie=utf-8&oe = UTF-8和3水溶液= T&放大器; RLS = com.ubuntu:EN-US:官方和放大器;客户端= firefox的-A和安全=活跃
首先,你必须决定你究竟推荐什么,以及在什么情况下。有许多事情需要考虑。您是否会考虑“购买X的其他用户还购买了Y?”您是否只推荐彼此具有相似性质的物品?您是否推荐具有这种一种更有用的项目的项目?
我相信还有更多的决定,每个决定都有自己的目标。要训练一个巨大的网络来处理上述所有问题是非常困难的。
神经网络都归结为同样的事情。您有一组给定的输入。您有一个网络拓扑。你有一个激活功能。您对节点的输入有权重。您有输出,并且您有一种测量和纠正错误的方法。每种类型的神经网络都可能有自己的方式来完成这些事情,但它们一直存在(我的知识有限)。然后,通过输入一系列具有已知输出结果的输入集来训练网络。你可以在没有经过训练的情况下尽可能多地运行这个训练集(这与你下一个人的猜测一样多),然后你就可以开始练习了。
从本质上讲,您的输入集可以被描述为您认为与手头的基础功能相关的一组特定质量(例如:降水,湿度,温度,疾病,年龄,位置,成本,技能,一天中的时间,一天一周,工作状态和性别都可能在决定某人是否会在某一天打高尔夫球时发挥重要作用。因此,您必须确定您要确切推荐的内容以及在什么条件下。您的网络输入本质上可以是布尔值(例如,0.0为假,1.0为真)或映射到伪连续空间(其中0.0可能根本不表示,.45表示有些,.8表示可能,1.0表示是)。第二个选项可以为您提供映射某个输入的置信度的工具,或者您认为相关的简单数学计算。
希望这有帮助。你没有给予太多的继续:)