Questions tagged «recommender-system»

一切与推荐系统有关

4
潜在功能的含义?
我正在学习推荐系统的矩阵分解,并且看到该词latent features出现得太频繁了,但我无法理解它的含义。我知道功能是什么,但我不了解潜在功能的概念。请解释一下吗?或者至少将我指向可以阅读的论文/地方?


2
使用协作过滤功能向电影推荐其他功能
我正在尝试使用协作过滤来建立推荐系统。我有通常的[user, movie, rating]信息。我想合并一个附加功能,例如“语言”或“电影时长”。我不确定我可以使用什么技术来解决这个问题。 请在python / R中建议参考或软件包。

2
Mahout中基于项目和基于用户的推荐差异
我想知道mahout基于用户的推荐与基于项目的推荐之间到底有何不同。 它定义了 基于用户:通过查找相似用户来推荐项目。由于用户的动态特性,这通常很难扩展。 基于项目:计算项目之间的相似度并提出建议。项目通常不会有太大变化,因此通常可以离线进行计算。 但是,尽管有两种建议可用,但据我了解,这两种建议都将采用某种数据模型(例如1,2或1,2,.5作为item1,item2,value或user1,user2,value,其中value不是必选),并将所有计算作为我们选择的相似性度量和推荐器内置函数,并且我们可以在同一数据上运行基于用户/项目的推荐(这是正确的假设??)。 因此,我想知道这两种算法在各个方面到底有何不同。

2
偏好匹配算法
我正在研究这个副项目,我需要在其中构造以下问题的解决方案。 我有两组人(客户)。集团A打算购买,集团B打算出售确定的产品X。该产品具有一系列的属性x_i,我的目标是促进之间的交易A,并B通过匹配他们的喜好。主要思想是指出A对应B产品的每个成员,其产品更适合其需求,反之亦然。 问题的一些复杂方面: 属性列表不是有限的。买方可能会对非常特殊的特性或某种设计感兴趣,这在人群中很少见,我无法预测。先前无法列出所有属性; 属性可以是连续的,二进制的或不可量化的(例如:价格,功能,设计); 关于如何解决此问题并以自动化方式解决它的任何建议? 如果可能的话,我也希望参考一些其他类似的问题。 很棒的建议!与我思考问题的方式有很多相似之处。 映射属性的主要问题是产品描述的详细程度取决于每个购买者。让我们以汽车为例。产品“汽车”具有很多属性,包括性能,机械结构,价格等。 假设我只想要便宜的汽车或电动汽车。好的,这很容易映射,因为它们代表了该产品的主要功能。但是,例如,假设我要一辆配备双离合变速器或氙气大灯的汽车。嗯,数据库中可能有许多具有此属性的汽车,但我不会要求卖方在有人发现它们之前先将其详细信息填写到他们的产品中。这样的程序将要求每个卖方填写一个复杂,非常详细的表格,仅尝试在平台上出售其汽车。就是行不通。 但是,我仍然面临的挑战是在搜索中尽可能详细地进行匹配。因此,我的思维方式是映射产品的主要方面(可能与每个人都相关的方面),以缩小潜在卖方的类别。 下一步将是“优化搜索”。为了避免创建过于详细的表格,我可以要求买卖双方写明其规格的自由文本。然后使用一些单词匹配算法来查找可能的匹配项。尽管我知道这不是解决问题的适当方法,因为卖方无法“猜测”买方的需求。但是可能会让我靠近。 建议的加权标准很好。它使我能够量化卖方满足买方需求的水平。但是,缩放部分可能是个问题,因为每个属性的重要性因客户端而异。我正在考虑使用某种模式识别,或者只是要求购买者输入每个属性的重要性级别。

1
我应该使用多少个LSTM细胞?
是否有关于我应使用的LSTM电池的最小,最大和“合理”数量的经验法则(或实际规则)?具体来说,我与TensorFlow和property 有关的BasicLSTMCell有关num_units。 请假设我有以下定义的分类问题: t - number of time steps n - length of input vector in each time step m - length of output vector (number of classes) i - number of training examples 例如,训练示例的数量应该大于: 4*((n+1)*m + m*m)*c c单元数在哪里?我基于此:如何计算LSTM网络的参数数量?据我了解,这应该给出参数的总数,该总数应少于训练示例的数量。
12 rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

3
是否有适用于python的好的即用型语言模型?
我正在为一个应用程序制作原型,我需要一个语言模型来计算一些生成的句子的困惑度。 我可以随时使用经过训练的python语言模型吗?简单的东西 model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 我看过一些框架,但找不到我想要的。我知道我可以使用类似: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) 这在Brown Corpus上使用了很好的图林概率分布,但是我正在一些大型数据集(例如1b单词数据集)上寻找精心设计的模型。我可以真正相信一般领域的结果(不仅是新闻)
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

3
现场感知分解机
谁能解释现场感知因式分解机(FFM)与标准因式分解机(FM)相比如何? 标准:http : //www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf “现场感知”:http : //www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf

3
最佳科学计算语言[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 似乎大多数语言都具有一定数量的科学计算库。 Python有 Scipy Rust 有 SciRust C++有几个包括ViennaCL和Armadillo Java具有Java Numerics和Colt其他几个 且不说像语言R和Julia明确的科学计算而设计。 有这么多种选择,您如何选择适合任务的最佳语言?另外,哪种语言的性能最高?Python并且R似乎在该领域具有最大的吸引力,但从逻辑上讲,编译语言似乎是一个更好的选择。会有什么表现胜过Fortran?此外编译语言往往有GPU加速,而解释性语言如R并Python没有。选择一种语言时应该考虑什么?哪些语言可以在效用和性能之间取得最佳平衡?还有我错过的具有重要科学计算资源的语言吗?
10 efficiency  statistics  tools  knowledge-base  machine-learning  neural-network  deep-learning  optimization  hyperparameter  machine-learning  time-series  categorical-data  logistic-regression  python  visualization  bigdata  efficiency  classification  binary  svm  random-forest  logistic-regression  data-mining  sql  experiments  bigdata  efficiency  performance  scalability  distributed  bigdata  nlp  statistics  education  knowledge-base  definitions  machine-learning  recommender-system  evaluation  efficiency  algorithms  parameter  efficiency  scalability  sql  statistics  visualization  knowledge-base  education  machine-learning  r  python  r  text-mining  sentiment-analysis  machine-learning  machine-learning  python  neural-network  statistics  reference-request  machine-learning  data-mining  python  classification  data-mining  bigdata  usecase  apache-hadoop  map-reduce  aws  education  feature-selection  machine-learning  machine-learning  sports  data-formats  hierarchical-data-format  bigdata  apache-hadoop  bigdata  apache-hadoop  python  visualization  knowledge-base  classification  confusion-matrix  accuracy  bigdata  apache-hadoop  bigdata  efficiency  apache-hadoop  distributed  machine-translation  nlp  metadata  data-cleaning  text-mining  python  pandas  machine-learning  python  pandas  scikit-learn  bigdata  machine-learning  databases  clustering  data-mining  recommender-system 

1
Spark ALS:向新用户推荐
问题 如何在Spark训练的ALS模型中预测新用户的评分?(新=训练期间未见) 问题 我在这里关注官方的Spark ALS教程: http://ampcamp.berkeley.edu/big-data-mini-course/movie-recommendation-with-mllib.html 我能够用不错的MSE建立一个很好的推荐者,但是我在为模型输入新数据方面很挣扎。本教程在培训之前会更改第一位用户的评分,但这确实是一个技巧。他们给出以下提示: 9.2。增强矩阵因子: 在本教程中,我们将您的评分添加到训练集中。获得建议的更好方法是先训练矩阵分解模型,然后使用评分来扩充模型。如果您觉得这很有趣,则可以看看MatrixFactorizationModel的实现,并了解如何为新用户和新电影更新模型。 该实现对我完全没有帮助。理想情况下,我正在寻找类似的东西: predictions = model.predictAllNew(newinput) 但是不存在这种方法。我可以去修改原始的RDD,但是我认为这需要我重新训练模型,因此也不是理想的解决方案。当然必须有一种更优雅的方式吗? 我现在的位置: 我想我需要找到新向量的潜在表示。根据原始论文,我们可以这样计算: Xü= (是ŤCüÿ+ λ 我)− 1ÿŤCüp (ü )Xü=(ÿŤCüÿ+λ一世)-1个ÿŤCüp(ü)X_u = (Y^T C^u Y + \lambda I)^{-1} Y^T C^u p(u) CüCüC^u 我目前的尝试: V = model.productFeatures().map(lambda x: (x[1])).collect() #product latent matrix Y Cui = alpha * np.abs(newinput) Cui …

3
在用户只能看到所有项目的一小部分的情况下,什么样的推荐引擎?
我想向文档管理系统添加推荐功能。它是一台用于存储大多数公司文档的服务器。员工浏览Web界面,然后单击以下载(或在线阅读)他们想要的文档。 每个员工只能访问所有文档的一部分: 我的目标:向员工推荐其队友最近打开的文档,或者作为他们刚刚打开的文档的附件的电子表格,或者他们可能想要阅读的任何内容。 有许多公开数据的推荐引擎(所有Netflix用户都可以观看所有电影),但是这里的情况很特殊:每个员工只拥有全部文档的一小部分的权限,而在Netflix中,任何用户都可以访问所有电影。 示例:Employee1可以读取DocumentA,但不能读取DocumentB。Employee2可以读取,而Employee3则不能读取。 当然,我不能向员工推荐她/他无权访问的文档。此外,我想我应该仅在有权访问文档的员工的背景下考虑文档的普及程度。为了使事情变得更加复杂,员工有时会从一个项目转移到另一个项目,这会影响他们可以访问的文档。 这种问题有名字吗? 能否在不降低精度/效率的情况下将其减少到更常见的问题? 如果没有,哪种方法对这种问题会很好? 注意:类似Netflix的推荐引擎还不够好。如果只有10名员工(包括我在内)可以访问,则具有50个视图的文档应突出显示,而如果有100000名员工可以访问,则不应突出显示。 如果需要,这里有一些具体的数据:每个公司平均有1000名员工,大约10000个文档,一个员工每天点击大约5个文档。每个项目平均有10名员工可以访问它,并且有大约100个文档。每个员工平均并行进行5个项目。

2
基准数据集以进行协作过滤
我想测试一种用于协同过滤的新算法。典型的用例是根据类似于特定用户的用户偏好来推荐电影。 研究人员经常使用哪些常见的基准数据集来测试其算法?我知道在计算机视觉中人们经常使用MNIST或CIFAR,但我还没有找到用于协作过滤的类似数据集。

2
如何模拟用户在亚马逊上的购买行为?
在我们的数据科学最后课程项目中,我们提出了以下建议: 给 Amazon Reviews数据集,我们计划提出一种算法(该算法大致基于Personalized PageRank),该算法确定将广告投放到Amazon的战略位置。例如,亚马逊上有数百万种产品。数据集使您了解哪些产品相关,哪些产品组合在一起,一起查看等。(我们可以使用还查看和购买的信息构建图表),还为您提供与每种产品相关的评论14年。使用所有这些信息,我们将在亚马逊上对产品进行评分/排名。现在,您是Amazon上的供应商,希望提高其产品页面的访问量。我们的算法可帮助您确定图表中的战略位置,您可以在其中放置广告,从而获得最大流量。 现在,我们教授的问题是,在没有实际用户的情况下,您将如何验证算法?我们说- 我们可以为一组固定的用户建模。与第一跳或第五跳相比,某些用户更频繁地跟踪also_bought并also_viewed链接到第三跳。那里的用户行为是正态分布的。其他一些用户几乎无法超越第一跳。这组用户的行为呈指数分布。 我们的教授说-无论用户遵循什么发行方式,用户都在使用相似产品的链接进行导航。您的排名算法还考虑了b / w 2个相似度产品对产品进行排名。因此,使用此验证算法有点cheating。带有其他一些用户行为,这些行为更逼真且与算法正交。 关于如何模拟用户行为的任何想法?我很乐意提供有关该算法的更多详细信息。

1
如何处理推荐中的隐式数据
推荐系统保留对特定用户做出了哪些推荐以及该用户是否接受该推荐的日志。就像是 user_id item_id result 1 4 1 1 7 -1 5 19 1 5 80 1 其中1表示用户接受了推荐,而-1表示用户未响应推荐。 问题:如果我要根据上述日志类型向一堆用户提出建议,并且想最大化MAP @ 3分数,该如何处理隐式数据(1或-1)? 我的想法是将1和-1视为等级,并使用分解机类型算法预测等级。但是,鉴于隐式数据的不对称性,这似乎并不正确(-1并不意味着用户不喜欢该建议)。 编辑1 让我们在矩阵分解方法的上下文中考虑它。如果我们将-1和1视为评分,则会出现一些问题。例如,用户1喜欢电影A,其在潜在因素空间中在一个因素(例如具有光荣的背景音乐)中得分较高。系统会推荐在“光彩夺目的背景音乐”中得分也很高的电影B,但是由于某种原因,用户1太忙而无法查看推荐,因此我们将电影B评为-1。如果我们将1或-1均等对待,则可能不鼓励系统向用户1推荐具有光荣BGM的电影,而用户1仍然喜欢具有光荣BGM的电影。我认为这种情况应该避免。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.