推荐算法

排序推荐算法小结

随声附和 提交于 2019-11-30 19:34:04
原文链接:https://www.jianshu.com/p/ba1936ee0b69      https://www.cnblogs.com/pinard/p/9128682.html 排序推荐算法大体上可以分为三类,第一类排序算法类别是点对方法(Pointwise Approach),这类算法将排序问题被转化为分类、回归之类的问题,并使用现有分类、回归等方法进行实现。第二类排序算法是成对方法(Pairwise Approach),在序列方法中,排序被转化为对序列分类或对序列回归。所谓的pair就是成对的排序,比如(a,b)一组表明a比b排的靠前。第三类排序算法是列表方法(Listwise Approach),它采用更加直接的方法对排序问题进行了处理。它在学习和预测过程中都将排序列表作为一个样本。排序的组结构被保持。 之前我们介绍的算法大都是Pointwise的方法,今天我们来介绍一种Pairwise的方法:贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR) 1.BPR算法简介 1.1基本思路 在BPR算法中,我们将任意用户u对应的物品进行标记,如果用户u在同时有物品i和j的时候点击了i,那么我们就得到了一个三元组<u,i,j>,它表示对用户u来说,i的排序要比j靠前。如果对于用户u来说我们有m组这样的反馈

【AI算法推荐】:tensorflow2.0建模教程系列产品

99封情书 提交于 2019-11-30 05:53:18
【AI算法推荐】:tensorflow2.0建模教程系列产品 【阅读推荐】 在tensorflow2.0模型系列产品实例教程中,前四节人们用编码演译了: 系列产品1:怎样用tf2.0开展自定层互联网的布置(add.weight) 系列产品2:怎样用tf2.0开展自定实体模型的布置(Model) 系列产品3:怎样用tf2.0保持loss涵数和主要参数调优(loss gradient optimizer) 系列产品4:.怎样用tf2.0保持损失函数正则化,处理实体模型过拟合难题 前边几章节目录,人们重中之重学了怎样用tensorflow2.0进行自定层和互联网实体模型的布置。从这节起,将领着大伙儿把握tf2.0方便快捷的建模工具API——tensorflow.keras 。 Keras 是1个用以搭建和训炼深度神经网络实体模型的进阶 API。它可用以迅速布置原形、高級科学研究和生产制造。相对性于自定布置层和互联网,应用tf.keras 更为方便快捷,专业化,便于拓展。普遍的LSTM/RNN/Conv2D等神经元网络都包括在 keras.layer 中。 《一 根据keras的简单网络设计模型》 keras.sequential()层互联网的层叠,keras.Sequential实体模型 model = tf.keras.Sequential() model.add(layers

广告推荐算法(group auc)评价指标及Spark实现代码

江枫思渺然 提交于 2019-11-30 00:52:11
我们曾经有这样的疑惑,那就是训练样本,AUC得到提升。当将新模型放到线上后,却发现实际效果却没有老模型好,这时候很多人就开始疑惑了。 ​ 在机器学习算法中,很多情况我们都是把auc当成最常用的一个评价指标,而auc反映整体样本间的排序能力,但是有时候auc这个指标可能并不能完全说明问题,有可能auc并不能真正反映模型的好坏,以CTR预估算法(推荐算法一般把这个作为一个很重要的指标)为例,把用户点击的样本当作正样本,没有点击的样本当作负样本,把这个任务当成一个二分类进行处理,最后模型输出的是样本是否被点击的概率。 ​ 举个很简单的例子,假如有两个用户,分别是甲和乙,一共有5个样本,其中+表示正样本,-表示负样本,我们把5个样本按照模型A预测的score从小到大排序,得到 甲-,甲+,乙-,甲+,乙+. 那么实际的auc应该是 (1+2+2)/(32)=0.833, 那假如有另一个模型B,把这5个样本根据score从小到大排序后,得到 甲-,甲+,甲+,乙-,乙+, 那么该模型预测的auc是(1+1+2)/(32)=0.667。  那么根据auc的表现来看,模型A的表现优于模型B,但是从实际情况来看,对于用户甲,模型B把其所有的负样本的打分都比正样本低,故,对于用户甲,模型B的auc是1, 同理对于用户乙,模型B的auc也应该是1,同样,对于用户甲和乙,模型A的auc也是1

从模型到应用,一文读懂因子分解机

拈花ヽ惹草 提交于 2019-11-29 07:49:19
作者丨gongyouliu 编辑丨Zandy 来源 | 大数据与人工智能(ID: ai-big-data) 作者在上篇文章中讲解了《 矩阵分解推荐算法 》,我们知道了矩阵分解是一类高效的嵌入算法,通过将用户和标的物嵌入低维空间,再利用用户和标的物嵌入向量的内积来预测用户对标的物的偏好得分。本篇文章我们会讲解一类新的算法: 因子分解机 ( Factorization Machine ,简称 FM ,为了后面书写简单起见,中文简称为 分解机 ),该算法的核心思路来源于矩阵分解算法,矩阵分解算法可以看成是分解机的特例 (我们在第三节1中会详细说明) 。分解机自从2010年被提出后,由于易于整合交叉特征、可以处理高度稀疏数据,并且效果不错,在推荐系统及广告CTR预估等领域得到了大规模使用,国内很多大厂(如美团、头条等)都用它来做推荐及CTR预估。 本篇文章我们会从 分解机简单介绍、分解机的参数估计与模型价值、分解机与其他模型的关系、分解机的工程实现、分解机的拓展、近实时分解机、分解机在推荐上的应用、分解机的优势 等8个方面来讲解分解机相关的知识点。期望本文的梳理可以让读者更好地了解分解机的原理和应用价值,并且尝试将分解机算法应用到自己的业务中。 一、分解机简单介绍 分解机 最早由Steffen Rendle于2010年在ICDM会议(Industrial Conference on

推荐算法-基于内容的推荐

十年热恋 提交于 2019-11-29 06:25:27
根据推荐物品的元数据发现物品的相关性,再基于用户过去的喜好记录,为用户推荐相似的物品。 一、特征提取:抽取出来的对结果预测有用的信息 对物品的特征提取-打标签(tag) 用户自定义标签(UGC) 隐语义模型(LFG) 专家标签(PGC) 对文本信息的特征提取-关键词 分词、语义处理和情感分析(NLP) 潜在语义分析(LSA) 二、特征工程:使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程 特征工程步骤: 1、特征清洗 2、特征处理:特征按照数据类型分类,有不同的特征处理方法     a、数值型:        归一化:        离散化:       离散化的两种方式: 等步长【简单】、 等频【更精准,但每次需要对数据分布进行重新计算】      b、类别型:数据本身没有大小关系,要做到公平,又能够分开他们        One-Hot编码 /哑变量:将类别型数据 平行的展开 【特性空间会膨胀】。      c、时间型:既可以做离散值又可以看作连续值      d、统计型:加减平均、分位线、次序性,比例类 3、特征选择 三、基于UGC的推荐 1、用户生成标签( UGC): 用户用标签 来描述对物品的看法,所以用户生成标签( UGC)是联系用户和物品的纽带,也是反应用户兴趣的重要数据源 2、三元组(用户 u,物品 i,标签 b) :用户 u给物品

Hulu视频如何提升推荐多样性?

▼魔方 西西 提交于 2019-11-28 22:54:04
作者 | 余沾 整理 | 深度传送门(ID: deep_deliver) 导读: 本文主要介绍Hulu在NIPS 2018上发表的《Fast Greedy MAP Inference for Determinantal Point Process to Improve Recommendation Diversity》中,提出的DPP算法解决视频推荐中的多样性问题。 引言 随着机器学习技术日益成熟,机器学习的应用领域也越来越广。其中,推荐领域是机器学习一个比较常见且成功的应用场景。 推荐多样性和相关性是衡量推荐算法常用的标准 ,最近项目团队针对搜索多样性做了大量的研究工作。Hulu陈拉明的推荐算法研究团队在NIPS 2018会议上提出的基于DPP的推荐多样性算法,能较好地提高推荐的多样性和相关性,并且执行效率也十分可观。 我们团队也复现了该算法,具有不错的上线效果。 DPP 的构造 行列式点过程 (Determinantal Point Process, DPP )是一种性能较高的概率模型。DPP将复杂的概率计算转换成简单的行列式计算,并通过核矩阵的行列式计算每一个子集的概率。DPP不仅减少了计算量,而且提高了运行效率,在图片分割、文本摘要和商品推荐系统中均具有较成功的应用。 DPP通过最大后验概率估计,找到商品集中相关性和多样性最大的子集 ,从而作为推荐给用户的商品集。

推荐算法概览

血红的双手。 提交于 2019-11-28 19:51:26
推荐算法概览(一) 为推荐系统选择正确的推荐算法非常重要,而可用的算法很多,想要找到最适合所处理问题的算法还是很有难度的。这些算法每种都各有优劣,也各有局限,因此在作出决策前我们应当对其做以衡量。在实践中,我们很可能需要测试多种算法,以便找出最适合用户的那种;了解这些算法的概念以及工作原理,对它们有个直观印象将会很有帮助。 推荐算法通常是在 推荐模型 中实现的,而推荐模型会负责收集诸如用户偏好、物品描述这些可用作推荐凭借的数据,据此预测特定用户组可能感兴趣的物品。 主要的推荐算法系列有四个(表格1-4): 协同过滤(Collaborative Filtering)的推荐算法 基于内容过滤(Content-based Filtering)的推荐算法 混合型推荐算法 流行度推荐算法 此外,还有很多高级或非传统的方式,可参见表格5。 本文是系列文中的第一篇,将会以表格形式来介绍推荐算法的主要分类,包括算法简介、典型的输入内容、常见的形式及其优劣。在系列文的第二与第三篇中,我们将会更详细地介绍各种算法的不同,以便让大家更深入地理解其工作原理。本文的某些内容是基于一篇2014年的推荐算法2014教程 《推荐问题再探(Recommender Problem Revisited)》 来撰写的,该文的作者是 Xavier Amatriain 。 表格一:协同过滤推荐算法概览 表格二

摘抄的关于推荐算法的文章

蹲街弑〆低调 提交于 2019-11-28 17:29:43
最近因为PAC平台自动化的需求,开始探坑推荐系统。这个乍一听去乐趣无穷的课题,对于算法大神们来说是这样的:      而对于刚接触这个领域的我来说,是这样的:      在深坑外围徘徊了一周后,我整理了一些推荐系统的基本概念以及一些有代表性的简单的算法,作为初探总结,也希望能抛砖引玉,给同样想入坑的伙伴们提供一些思路。   ◆ ◆ ◆   什么是推荐系统   1. 什么是推荐系统?   推荐系统是啥?   如果你是个多年电商(剁手)党,你会说是这个:      如果你是名充满文艺细胞的音乐发烧友,你会答这个:      如果你是位活跃在各大社交平台的点赞狂魔,你会答这个:      没错,猜你喜欢、个性歌单、热点微博,这些都是推荐系统的输出内容。从这些我们就可以总结出,推荐系统到底是做什么的。   目的1. 帮助用户找到想要的商品(新闻/音乐/……),发掘长尾   帮用户找到想要的东西,谈何容易。商品茫茫多,甚至是我们自己,也经常点开淘宝,面对眼花缭乱的打折活动不知道要买啥。在经济学中,有一个著名理论叫长尾理论(The Long Tail)。      套用在互联网领域中,指的就是最热的那一小部分资源将得到绝大部分的关注,而剩下的很大一部分资源却鲜少有人问津。这不仅造成了资源利用上的浪费,也让很多口味偏小众的用户无法找到自己感兴趣的内容。   目的2. 降低信息过载  

推荐算法-欧几里得距离

不问归期 提交于 2019-11-28 11:28:01
一、欧几里得距离 用来记录两个向量之间的距离。 欧氏距离越小,两个用户相似度就越大,欧氏距离越大,两个用户相似度就越小。 二维空间的公式: 其中, 为点 与点 之间的欧氏距离; 为点 到原点的欧氏距离。 三维空间的公式: n维空间的公式: 二、闵可夫斯基距离 当p=1时,即为曼哈顿距离; 当p=2时,即为欧几里得距离 当 时,即为切比雪夫距离 三、实现一个简单的音乐推荐系统 1、基于相似用户做推荐 跟你听类似歌曲的人,看作口味相同的用户。 通过用户的行为来定义对歌曲的喜爱程度,给每个行为定义一个得分,得分越高表示越喜爱: 每个人对歌曲的喜爱程度表示为如下: 通过欧几里得距离来计算两个向量之间的相似度 你:(5,3,3,0,-1,2,5,4,1,-1) 小明:(4,5,2,1,0,3,2,0,1,1) 2、基于相似歌曲做推荐 新用户还没收集足够多的行为数据,则基于相似歌曲进行推荐。 基于歌曲特征项计算相似度,我们可以对歌曲定义一些特征项【伤感、愉快、摇滚、民谣、柔和、高亢】 人工给每首歌每个特征项打分,工程浩大,存在个人主观性,影响推荐的准确性,不可行。 那么通过什么数据来量化两个歌曲的相似程度? 对于两首歌,如果喜欢听的人群都是差不多的,就可以侧面反映出这两首歌比较相似。 来源: https://www.cnblogs.com/wjh123/p/11401653.html

推荐算法-余弦相似度

邮差的信 提交于 2019-11-28 11:28:00
/*--> */ /*--> */ 一、余弦相似度: 余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性" 二维向量的余弦相似度: 多维向量的余弦相似度(类比) /*--> */ /*--> */ 协同过滤(Collaborative Filtering , 简称 CF ): 收集用户行为 减噪与归一化处理 减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,我们可以通过经典的数据挖掘算法过滤掉行为数据中的噪音,这样可以是我们的分析更加精确 归一化:将各个行为的数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确。 二、基于物品的协同过滤推荐算法(itemCF): 算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品 用户行为与权重:点击 -1、搜索 -3、收藏 -5 、付款 -10 用户 A 、B 、C 商品 1 、2 、3 、4 、5 、6 根据用户行为列表计算用户、物品的评分矩阵 根据用户、物品的评分矩阵计算物品、物品的相似矩阵 相似度矩阵x评分矩阵=推荐列表 推荐列表中用户之前已经有过行为的元素置为0 /*--> */ /*--> */ 三、基于用户的协同过滤推荐算法( UserCF) 算法思想:给用户推荐和他兴趣相似的其他用户喜欢的物品 用户行为与权重:点击 -1、搜索 -3、收藏 -5