![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
推荐系统
文章平均质量分 93
推荐系统的架构、策略以及常见评估指标
独影月下酌酒
这个作者很懒,什么都没留下…
展开
-
LightGBM模型详解
1.背景 LightGBM 是微软开发的 boosting 集成模型,和 XGBoost 一样是对 GBDT 的优化和高效实现,原理有一些相似之处,但它很多方面比 XGBoost 有着更为优秀的表现。官方给出的这个工具库模型的优势如下:更快的训练效率低内存使用更高的准确率支持并行化学习可处理大规模数据支持直接使用 category 特征 下图是一组实验数据,LightGBM比XGBoost快将近 101010 倍,内存占用率大约为XGBoost的 1/61/61/6,并且准确率也有提原创 2023-04-24 16:48:36 · 3213 阅读 · 2 评论 -
XGBoost模型详解
1.什么是XGBoost? GBDT,它是一种基于boosting增强策略的加法模型,训练的时候采用前向分布算法进行贪婪的学习,每次迭代都学习一棵CART树来拟合之前 t−1t-1t−1 棵树的预测结果与训练样本真实值的残差。XGBoost对GBDT进行了一系列优化,比如损失函数进行了二阶泰勒展开、目标函数加入正则项、支持并行和默认缺失值处理等,在可扩展性和训练速度上有了巨大的提升,但其核心思想没有大的变化。2.XGBoost的核心原理2.1 如何构造目标函数? 对于一个给定有 nnn 个样本和原创 2023-04-24 16:35:26 · 16490 阅读 · 3 评论 -
Faiss
构建训练数据以矩阵的形式表示,比如现在经常使用的embedding,embedding出来的向量就是矩阵的一行。为数据集选择合适的index,index是整个faiss的核心部分,将第一步得到的训练数据add到index当中。search,或者说query,搜索到最终结果。Faiss的工作,就是把我们自己的候选向量集封装成一个index数据库,它可以加速我们检索相似向量TopK的过程,其中有些索引还支持GPU构建,可谓是强上加强。Faiss的使用流程:构建索引,训练数据,寻找相似搜索。原创 2023-04-19 11:28:17 · 607 阅读 · 0 评论 -
k-d Tree算法
本文介绍一种用于高维空间中的快速最近邻和近似最近邻查找技术——Kd- Tree(Kd树)。Kd-Tree,即K-dimensional tree,是一种高维索引树形数据结构,常用于在大规模的高维数据空间进行最近邻查找(Nearest Neighbor)和近似最近邻查找(Approximate Nearest Neighbor),例如图像检索和识别中的高维图像特征向量的K近邻查找与匹配。Kd树在维度较小时(比如203020、302030K≥100K≥100K≥100。原创 2023-04-18 15:21:41 · 2302 阅读 · 0 评论 -
Deep Neural Network for YouTube Recommendation论文精读
YouTube的推荐系统包括Deep Candidate Generation model和Deep Ranking model两部分把推荐问题建模成一个“超大规模多分类”问题。Matching部分包含一个三个隐层的DNN结构,输入为浏览历史、搜索历史、人口统计学信息和其余上下文信息concat成的输入向量,输出分为线下(softmax)和线上(user向量查询相关视频)。Matching阶段:用户观看视频历史和搜索特征embedding后进行加权平均,example age(视频上传时间特征)原创 2023-04-18 15:14:40 · 508 阅读 · 0 评论 -
双塔模型:微软DSSM模型浅析
DSSM其核心思想是将query和doc映射到到共同维度的语义空间中,通过最大化query和doc语义向量之间的余弦相似度,从而训练得到隐含语义模型,达到检索的目的。DSSM主要用在召回和粗排阶段。在应⽤于推荐系统时,通过两个塔分别去建模user侧和item侧的embedding,计算embedding之间的内积,最后⽤真实的label计算loss。user塔与item塔的DNN结构最后一层(全连接层)隐藏单元个数相同,保证user embedding和item embedding维度相同。原创 2023-04-18 15:02:48 · 1272 阅读 · 0 评论 -
Item2Vec算法及代码实战
在word2vec诞生之后,embedding的思想迅速从NLP领域扩散到几乎所有机器学习的领域,我们既然可以对一个序列中的词进行embedding,那自然可以对用户购买序列中的一个商品,用户观看序列中的一个电影进行embedding。CBOW使用的是词袋模型,模型的训练输入是某一个特征词的上下文相关的词对应的词向量,而输出就是这个词的词向量。Skip-Gram模型和CBOW的思路是反着来的,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。该模型成为“双塔模型”。原创 2023-04-18 14:49:32 · 824 阅读 · 0 评论 -
gensim.models.word2vec() 参数详解
Word2vec是一个用来产生词向量的模型。是一个将单词转换成向量形式的工具。通过转换,可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。原创 2023-04-18 14:46:21 · 1806 阅读 · 0 评论 -
word2vec原理
1.背景 2013年,Google开源了一款用于词向量计算的工具—word2vec,引起了工业界和学术界的关注。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。随着深度学习在自然语言处理中应用的普及,很多人误以为word2vec是一种深度学习算法。其实word2vec算法的背后是一个浅层神经网络。另外需要强调的一点是,word2vec是一个计算word vector的开源工原创 2023-04-17 16:09:44 · 672 阅读 · 0 评论 -
基于矩阵分解的推荐算法
1.背景 推荐系统的两大应用场景分别是评分预测(Rating Prediction)和Top-N推荐(Item Ranking)。其中评分预测主要用于评价网站,比如用户给自己看过的电影评多少分,或者用户给自己看过的书籍评价多少分,矩阵分解技术主要应用于评分预测问题;Top-N推荐常用于购物网站或获取不到显式评分的网站,通过用户的隐式反馈为用户提供一个可能感兴趣的Item列表,此排序任务需要排序模型进行建模。本文主要介绍如何利用矩阵分解来解决评分预测问题。2.矩阵分解概述 协同过滤技术可划分为基于内原创 2023-04-17 15:31:27 · 1385 阅读 · 0 评论 -
协同过滤算法
协同过滤(Collaborative Filtering)算法是一种经典的“推荐算法”, 基本思想是根据用户之前的喜好以及其他兴趣相近的用户的选择来给用户推荐物品(基于对用户历史行为数据的挖掘发现用户的喜好偏向, 并预测用户可能喜好的产品进行推荐), 一般是仅仅基于用户的行为数据(评价、购买、下载等), 而不依赖于项的任何附加信息(物品自身特征)或者用户的任何附加信息(年龄, 性别等)。基于用户的协同过滤算法(UserCF): 给用户推荐和他兴趣相似的其他用户喜欢的产品。原创 2023-04-17 14:53:19 · 2292 阅读 · 0 评论 -
常见的相似度计算方式
欧氏距离(也称欧几里得度量)指在mmm维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。 在二维和三维空间中的欧氏距离就是两点之间的实际距离。计算公式:dist(A,B)=∑i=1n(Ai−Bi)2dist(A,B)=\sqrt{\sum\limits^n\limits_{i=1}(A_i-B_i)^2}dist(A,B)=i=1∑n(Ai−Bi)2理解欧氏距离的比较通俗的一种方式,是通过二维向量的距离来进行理解。直观上的感觉,某个点到另一个点的直线距离使用场景:随着数原创 2023-04-15 22:24:26 · 4592 阅读 · 5 评论 -
分类算法性能度量指标
为了了解模型的泛化能力,我们需要用某个指标来衡量,这就是性能度量的意义。混淆矩阵准确率精准率(Precision)和召回率(Recall)、F1-ScoreROC曲线AUCP-R曲线等等。ROC以及后面要讲到的AUC,是分类任务中非常常用的评价指标,本文将详细阐述。可能有人会有疑问,既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:**当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。原创 2023-04-15 20:47:47 · 749 阅读 · 0 评论 -
一文读懂推荐系统用户画像
推荐系统的用户画像主要有两种:基本画像和偏好画像。基本画像是用户的个人属性,如年龄,性别,居住城市等。用户偏好画像是推荐系统中的重点,它一般用用户偏好程度 = 行为类型权重值 × 次数 × 时间衰减 × TFIDF值计算出来。用户画像在推荐系统中用于召回和模型训练。参考:https://www.woshipm.com/user-research/3780886.html。原创 2023-04-15 18:26:16 · 1429 阅读 · 0 评论 -
推荐系统概述
推荐系统的背景:信息过载或者用户难以找到感兴趣的物品。推荐与搜索的区别:用户意图、个性化程度、优化目标以及马太效应和长尾理论。Netfliex的经典推荐系统架构,整个架构更多是偏向实时性能和效果之间tradeoff的结果。推荐系统三层设计:离线层(管理离线作业)、近线层(执行类似于在线计算的方法,但又不必以实时方式完成)、在线层(快速地响应最近的事件和用户交互,必须实时完成)。推荐系统四个环节:召回(万/千)、粗排(千)、精排(百)、重排(百)原创 2023-04-15 15:54:47 · 1695 阅读 · 0 评论