![](https://img-blog.csdnimg.cn/1563127b03404162a3c391c04aba0c16.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
推荐系统
文章平均质量分 53
推荐系统,从基础到实战
AI生成曾小健
"AI生成曾小健2"是该号副号。AI生成式技术,计算机博士;这个博客的主题主要是AI生成式技术、AI相关技术、机器/深度学习论文或科研前沿、GNN图神经网络、神经网络,包括人工神经网络和生物神经网络,及其大脑演化,智能和认知的产生,通用人工智能;
如果需要看商科/金融相关的请移步CSDN: 量化交易曾小健(金融号)
展开
-
IGMC,Inductive graph-based matrix completion,基于归纳图的矩阵完成
基于归纳图的矩阵完成 (IGMC,Inductive graph-based matrix completion)AboutIGMC is aninductivematrix completion model based on graph neural networkswithoutusing any side information. Traditional matrix factorization approaches factorize the (rating) matrix into...原创 2021-07-26 18:00:23 · 813 阅读 · 0 评论 -
召回 i2i
i2i的依据是什么。假如用户之前买过某款衣服,我给他推长得像的衣服是不是很合理呢?或者用户喜欢看王者荣耀,那我给他推英雄联盟手游是不是也说得通?原创 2022-07-29 14:53:25 · 217 阅读 · 0 评论 -
TensorFlow Serving 高性能的机器学习模型服务系统
TensorFlowServing可以在单个服务器实例的生命周期内处理一个或多个版本的servable。在服务时,客户端可以请求特定模型的最新版本或特定版本ID。TensorFlowServing可以轻松部署新算法和实验,同时保持相同的服务器架构和API。TensorFlowServing提供与TensorFlow模型的开箱即用集成,但可以轻松扩展以服务于其他类型的模型。机器学习模型可能包括一个或多个算法(包括学习的权重)和查找或嵌入表。Servable的大小和粒度是灵活的。...原创 2022-07-28 15:10:04 · 548 阅读 · 0 评论 -
什么时候使用UserCF,什么时候使用ItemCF?
物品少,用户多,用户兴趣固定持久。进行推荐,所以具备更强的。少,物品多,时效性较强。,这样的特点非常适于。艺术品,音乐,电影。原创 2022-07-22 14:36:29 · 290 阅读 · 0 评论 -
Sohu2022算法赛-推荐赛道
推荐的部分,也会分为训练集和测试集,在数据中,我们将每次曝光给用户的展示结果列表称为一个Group(每个Group都有唯一的pvId)。训练集和测试集中每个Group都有正样本(曝光并点击)和负样本(曝光但未点击)。训练集中每条样本包含pvId,用户id,点击序列(序列中的每次点击都包含文章id和浏览时间),用户特征(包含但不限于操作系统、浏览器、设备、运营商、省份、城市等),待预测文章id和当前时间戳,以及用户的行为(1为有点击,0为未点击)。测试集中每条样本包含测试样本id,用户id,点击序列(原创 2022-07-14 09:39:27 · 370 阅读 · 0 评论 -
自动化win训练脚本+日志
自动化win训练脚本+日志原创 2022-07-11 21:24:49 · 297 阅读 · 0 评论 -
YoutubeDNN召回的一些问题
列出十个文中解决的非常有价值的问题:推荐问题转换成多分类问题,在next watch的场景下,每一个备选video都会是一个分类,因此总共的分类有数百万之巨,这在使用softmax训练时无疑是低效的,这个问题Youtube是如何解决的?...原创 2022-06-09 14:55:23 · 222 阅读 · 0 评论 -
recsys2022比赛baseline - 基于ItemCF
基于ItemCF的BaselineItemCF是一种基于统计的方法,其核心步骤有两步:• 第一步:根据用户的历史记录(session)来构建Item-Item的相似矩阵,这个相似矩阵是通过item-item的共现次数来构建的。• 第二步:根据Item-Item相似矩阵与session来进行召回,具体做法就是遍历session中的所有item,然后根据item-item相似矩阵来推荐与session中相似的item基础版本的itemcf线上得分0.165import osimport原创 2022-05-21 00:40:19 · 1014 阅读 · 1 评论 -
CI&T Deskdrop dataset
在本节中,我们加载 Deskdrop 数据集,其中包含来自 CI&T 内部通信平台 (DeskDrop) 的 12 个月日志(2016 年 3 月 - 2017 年 2 月)的真实样本。它包含大约 73,000 名登录用户与平台上共享的 3,000 多篇公共文章的互动。它由两个 CSV 文件组成:shared_articles.csvusers_interactions.csv看看这个内核以获得更好的数据集图片:桌面数据集 EDADeskDrop 文章主题建模包含有关平台中共享的文原创 2022-05-20 23:19:03 · 165 阅读 · 0 评论 -
Outbrain点击预测比赛 -- 数据
https://yq.aliyun.com/articles/293596https://www.kaggle.com/c/outbrain-click-predictionhttps://www.kaggle.com/anokas/outbrain-eda用户个性化点击率预估基本场景:document_id(document) uuid(user) ad_id(a set of ads)原始数据:page_views.csv:the log of users visi.原创 2022-05-20 04:49:56 · 191 阅读 · 0 评论 -
RecSys2022 fashion rec challenge
今年的挑战主要集中在时尚推荐上。当给定用户会话、购买数据和有关项目的内容数据时,您能否准确预测会话结束时将购买的时尚单品?内容数据由项目的描述性标签组成(例如颜色、长度、领口、袖子样式等)。标签是使用 Dressipi 的人机交互系统分配的,时尚专家在该系统中审查、纠正和确认标签的正确性,因此我们希望这是一个高精度和高质量的数据集。重要的是能够根据用户在当前会话期间所做的事情做出推荐,以创造可能导致购买的最佳体验。时尚领域的细微差别使得准确的会话预测比其他领域更重要:平均 51% 的访客是新原创 2022-05-20 04:41:01 · 437 阅读 · 0 评论 -
基于商品描述文案的点击预测模型
黄皓炫,盛 武† (安徽理工大学 经济与管理学院, 安徽 淮南 232000)摘 要:为了预测商品描述文案中商品特征对点击的影响,量化分析用户的消费行为特征及缓解冷启动问题,建立 了一种基于 LDA 模型和文本情感分析的点击预测模型。该模型基于 LDA 主题模型对商品描述词的分类筛选,对构 成词进行情感分析,构建特征向量以表示用户对商品各特征的情感倾向,并通过 LightGBM 算法进行对点击的预测。 模型可以将非结构化文本数据转换为结构化数据,量化用户对商品不同特征的兴趣倾向,并利用不同商品的相似特原创 2022-05-12 14:35:11 · 227 阅读 · 0 评论 -
多路召回 新闻推荐
import pandas as pd import numpy as npfrom tqdm import tqdm from collections import defaultdict import os, math, warnings, math, picklefrom tqdm import tqdmimport faissimport collectionsimport randomfrom sklearn.preprocessing import MinMax...原创 2022-05-12 14:33:15 · 105 阅读 · 0 评论 -
Pyspark 平台的协同过滤推荐算法应用与实现
摘 要: 为解决传统的基于矩阵分解协同过滤推荐算法,在大量数据的情况下,单节点计算速度慢以及特征矩阵稀疏 问题,充分对大数据时代下的 Pyspark 大数据处理平台原理及架构进行研究,并对 ALS 协同过滤算法原理研究与其在 Pyspark 平台上的实现推荐系统应用. 实验结果表明,基于 Pyspark 平台的 ALS 算法,通过调节正则化参数为 0. 01、增加 并行化分块计算的块数、减少隐含语义因子的个数,能使推荐算法的 RMSE 最小,并能更快速精准有效推荐给用户他 们感兴趣的商品.Spark 是原创 2022-05-03 00:19:28 · 1855 阅读 · 0 评论 -
H&M个性化Recommendations--kaggle推荐比赛
Provide product recommendations based on previous purchasesH&M 集团是一个拥有 53 个在线市场和大约 4,850 家门店的品牌和企业家族。我们的在线商店为购物者提供了广泛的产品选择供您浏览。但如果选择太多,客户可能无法很快找到他们感兴趣或正在寻找的东西,最终他们可能不会购买。为了增强购物体验,产品推荐是关键。更重要的是,帮助客户做出正确的选择也对可持续性产生积极影响,因为它可以减少回报,从而最大限度地减少交通排放。在本次比赛中原创 2022-04-30 23:01:09 · 1505 阅读 · 0 评论 -
pyspark若不能运行,需指定支持版本的java:os.environ[‘JAVA_HOME‘] = ‘F:\Java15.0.2‘
import osos.environ['JAVA_HOME'] = 'F:\Java15.0.2'from pyspark.sql import SparkSessionspark = SparkSession.builder.getOrCreate()原创 2022-03-22 17:40:56 · 2993 阅读 · 1 评论 -
TOPN问题
TOPN问题 TOPN就是给出一个数组,找出前N个最大的元素。 比如: 1. 电商网站中找到每个商品分类下用户点击最多的5个商品是什么等等。 2. 给定一个几百G的Nginx访问日志文件,取出访问频率在top100的IP。 问题:有10000个数字,那么求出前n个最大的数?有几种解法 1. 先给数排序,然后截取前n个。不过这后面10000 - n个数字是不需要排序的。 2. 利用堆排序。 3. 先截取前n个数,然后n+1的数和这n个里面的最原创 2022-01-21 15:19:06 · 3331 阅读 · 0 评论 -
Criteo数据集探索
Data fieldsLabel - Target variable that indicates if an ad was clicked (1) or not (0).(待预测广告,被点击是1,没有被点击是0。)I1-I13 - A total of 13 columns of integer features (mostly count features).(总共 13 列数值型特征(主要是计数特征)。)C1-C26 - A total of 26 columns of categorical原创 2022-01-19 16:40:50 · 869 阅读 · 1 评论 -
会话推荐和 序列推荐
会话也是基于序列的推荐,我是这样认为的,会话是指一段时间内user的点击序列,在SR-GNN中,就是指的user点击序列,与user本身无关。所以归根结底啥都是序列???CF不是点击序列?其关键区别在哪里呢?区别在于CF可能对点击的item是无序的,或者影响不大,而序列推荐是强调有先后顺序的,乱序的话,效果很差。...原创 2022-01-19 16:25:51 · 711 阅读 · 0 评论 -
BERT4Rec:知道用户的播放(购买、点击、...)序列 item1, item2, item3,预测下一个播放的item问题。
BERT4Rec就是把BERT用在推荐系统中,知道用户的播放(购买、点击、...)序列 item1, item2, item3,预测下一个播放的item问题。训练的时候使用Mask LM任务使用海量用户行为序列进行训练,模型评估时将序列的最后一个item进行masked,预测的时候在序列的最后插入一个“[mask]”,然后用“[mask]”增强后的embedding预测用户接下来会观看哪个item。整体来说,该篇论文为BERT在推荐系统领域的工业界落地提供了强有力的指导说明,但在推荐系统领域的学术界来说创新原创 2022-01-19 16:22:44 · 751 阅读 · 0 评论 -
CTR预估之outbrain
原创 2022-01-19 16:02:16 · 201 阅读 · 0 评论 -
数据样本过大 数据维度过大:用户名做一个聚类2.可以将时间分段,达到降维的效果
CTR的核心问题主要是点击率*广告排序– ECPM=CTR*Bid– 排序时Bid已知,但CTR未知*扣费– CPCi = (CTRi+1*CPCi+1)/CTRi– 当前广告的扣费依赖当前及后一条广告的CTR所以,计算每条广告的CTR是排序和扣费的核心数据样本过大我们现在做的比赛样本都比较小,几个G上下,在自己的PC上还是能凑和的,但是在实际运用中,样本往往会很大,往往达到几百G,所以一般有两种方法可以来处理:1.下采样:直到样本大小达到我们能够训练的程度。注意在采样时尽量让样本达到均衡原创 2022-01-19 15:41:44 · 1846 阅读 · 0 评论 -
DeepWalk
早期,影响力较大的Graph Embedding方法是于2014年提出的 DeepWalk[7l,它的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入Word2vec进行训练,得到物品的Embedding。因此, DeepWalk可以被看作连接序列Embedding 和Graph Embedding的过渡方法。...原创 2022-01-18 15:44:31 · 243 阅读 · 0 评论 -
实时推荐系统
原创 2021-12-16 15:15:40 · 297 阅读 · 0 评论 -
标签系统 -- 用户画像
标签系统标签系统就是俗称的用户画像。从属性变化性质来分,标签系统可分为静态标签和动态标签:静态标签: 短时间内变化不大的标签,比如性别、地域、职业、生活习惯等; 动态标签: 不断变化的行为标签,比如关注的产品类别、产品偏好、内容偏好等 从更新时间的频率上来说,又可以分为短期兴趣标签和长期用户标签:短期标签的更新频率是分钟级或秒级; 长期标签的更新频率是天级或小时级;在这个简化的推荐系统里,我们只考虑实时部分(绿色实线部分)是可以满足需求的。所以只考虑短期兴趣标签的计原创 2021-12-16 14:33:48 · 2374 阅读 · 0 评论 -
presto安装及使用 1
cd /home/reclab./presto --server localhost:8080 --catalog hive --schema default--help 查看帮助./presto --server localhost:8080 --catalog hive --schema default --help原创 2021-12-15 11:42:33 · 569 阅读 · 0 评论 -
CTR相关
思路典型的点击率预估问题。 构造user侧和item侧特征,计算一阶、二阶下的历史ctr,duration统计值以及全局热度特征。 以deepfm为基础模型结构,引入“个性化学习组件”对个性化特征的后验分布进行拟合。数据说明数据列表:用户信息user_info.txt,“\t”分割,各列字段为:用户id、设备名称、操作系统、所在省、所在市、年龄、性别; 文章信息doc_info.txt,“\t”分割,各列字段为:文章id、标题、发文时间、图片数量、一级分类、二级分类、关键词; 训练数原创 2021-12-14 13:24:57 · 170 阅读 · 0 评论 -
CTR预估的流程
0,CTR预估的流程:数据-》预处理数据-》特征抽取-》模型训练-》后处理。1.join特征在预处理的时候要进行相关信息组合 Linux的join相关:(注意sort a > a没有-o会清空内容.应该用sort a -o a)http://www.runoob.com/linux/linux-comm-join.htmlhttp://www.cnblogs.com/51linux/archive/2012/05/23/2515299.htmljoin之前要排序。关原创 2021-12-13 13:25:12 · 362 阅读 · 0 评论 -
一点资讯CTR
数据说明数据列表:用户信息user_info.txt,“\t”分割,各列字段为:用户id、设备名称、操作系统、所在省、所在市、年龄、性别; 文章信息doc_info.txt,“\t”分割,各列字段为:文章id、标题、发文时间、图片数量、一级分类、二级分类、关键词; 训练数据train_data.txt,“\t”分割,各列字段为:用户id、文章id、展现时间、网路环境、刷新次数、展现位置、是否点击、消费时长(秒); 测试数据test_data.txt,“\t”分割,各列字段为:编号、用户id、文原创 2021-12-13 13:22:02 · 524 阅读 · 0 评论 -
MAB多臂老虎机/赌博机
原创 2021-11-23 09:45:05 · 208 阅读 · 0 评论 -
MAB多臂老虎机
伯努利分布:其均值是P,方差是p(1-p)假设每一个新闻的CTR是固定的,将CTR从大到小排序,CTR最大的放在最显著的位置。假设有四个新闻,但是不知道那个新闻用户更加喜欢,因此就给每个新闻25%的机会展示,但是真实的情况是用户最喜欢第一个新闻,那剩下的75%相当于就是占用了第一个新闻的展示资源。没有好好利用的那部分就被叫做 REGRET.应用场景:online Learning冷启动匿名用户怎么解决呢?将探索(explore)和利用(exploit) 结合,一边探索,一边利用.原创 2021-11-23 09:35:17 · 191 阅读 · 0 评论 -
多路召回 -- 融合策略
融合策略:1、按顺序展示比如说实时 > 购买数据召回 > 播放数据召回,则直接展示A、B、C、D、E2、平均法分母为召回策略个数,分子为权重加和C为(0.7+0.5+0.3)/3,B为(0.8+0.6)/33、加权平均比如三种策略自己指定权重为0.4、0.3、0.3,则B的权重为(0.40.8 + 0.60.3 + 0*0.2)/ (0.4+0.3+0.2)这个方法有个问题就是,每个策略的权重是自己设置的,并不准确,所以,有动态加权法4、动态加权法计算XYZ三种召回策原创 2021-11-11 12:25:13 · 988 阅读 · 0 评论 -
Hive 是基于Hadoop 构建的一套数据仓库分析系统
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而mapreduce开发人员可以把己写的mapper 和reducer 作为插件来支持H.原创 2021-11-10 06:18:06 · 1243 阅读 · 0 评论 -
Xgboost和lightgbm的区别
Xgboost, lightgbm, catboost实际上是对GBDT方法的不同实现,它们针对同一目标、做了不同的优化处理。XGboost作为最早出现的库,优化做得稍微少一些,但总体而言,它们都对基础的GBDT方法做了不同的优化。首先,它们在基础逻辑上并没有什么不同,我们限定max_trees或者max_iterations,之后算法从0棵树开始跑,每一轮根据上一轮的残差增加一棵决策树。在每一次增加决策树的时候,选择当前的最优结构。而在生成当前决策树的过程中,各个算法采用了不同的优化方案。在生转载 2021-10-25 23:30:18 · 3748 阅读 · 0 评论 -
微软改进的DSSM结构:
最近,微软的学者们又提出了一个观点:query与doc的相关程度是由query里的term与doc文本精准的匹配,以及query语义与doc语义匹配程度共同决定。而且,term匹配与term在doc中的位置和紧密度有较大关系。因此,他们用一个local model来表达term匹配程度,distribute model表达语义匹配程度,把这两个子模型放在同一个模型来训练。distribute model类似与DSSM来学习语义匹配关系。Local model的输入是一个nq∗ndnq∗nd的矩阵mm,...原创 2021-10-25 23:16:47 · 197 阅读 · 0 评论 -
2021-10-25双塔模型
在当代搜索引擎的召回环节,除了常见的经典倒排索引来对Query和Document进行文本字面匹配外,经常也会增加一路基于Bert模型的双塔结构,将用户查询Query和搜索文档,各自通过一个塔形结构来打Embedding,以此增加Query和Document的深层语义匹配能力。再比如,在自然语言处理的QA领域,一般也会在第一步召回环节,上一个基于Bert模型的双塔结构,分别将问题Question和可能包含正确答案的Passage,通过双塔结构映射到同一个语义空间,并分别把Question和Passage打原创 2021-10-25 23:14:06 · 880 阅读 · 0 评论 -
xgboost兼具线性规模求解器和树学习算法,GBDT 方法只利用了一阶的导数信息,Xgboost 则是对损失函 数做了二阶的泰勒展开,并在目标函数之外加入了正 则项,整体求最优解,用于权衡目标函数的
Xgboost 是华盛顿大学陈天奇于 2016 年开发的 Boosting 库,兼具线性规模求解器和树学习算法[14]。 它是 GBDT 算法上的改进,更加高效。传统的 GBDT 方法只利用了一阶的导数信息,Xgboost 则是对损失函 数做了二阶的泰勒展开,并在目标函数之外加入了正 则项,整体求最优解,用于权衡目标函数的下降和模型 的复杂程度,避免过拟合,提高模型的求解效率,其步 骤如下: ( 1) 给定数据集 D = { ( xi,yi ) : i = 1,2,…,n,xi∈ Rp ,yi∈R} ,其中原创 2021-10-19 11:45:56 · 761 阅读 · 0 评论 -
wide and deep及其发展
原创 2021-10-18 17:23:18 · 94 阅读 · 0 评论 -
2021-10-18word2vec训练过程
word2vec训练过程先介绍一下word2vec的训练过程,目的是想说明这个算法拆解开步骤并不多,初学的时候听说这是deep learning的应用,就感觉高深莫测,其实并不会。STEP 1:为了训练出词向量,肯定要先准备好语料,巧妇难为无米之炊嘛。我们先将中文语料分好词,分词的方法有很多,这里就不细说了。再去除一些无意义的词,比如纯数字1523523523,乱码fasdfkalsjfwek等等,这样得到的结果看起来会更干净。如果是用google开源的word2vec实现,那就将所有语料保存在一个文原创 2021-10-18 16:51:59 · 1676 阅读 · 0 评论 -
GBDT与LR融合现状
2、 GBDT与LR融合现状 GBDT与LR的融合方式,Facebook的paper有个例子如下图2所示,图中Tree1、Tree2为通过GBDT模型学出来的两颗树,x为一条输入样本,遍历两棵树后,x样本分别落到两颗树的叶子节点上,每个叶子节点对应LR一维特征,那么通过遍历树,就得到了该样本对应的所有LR特征。由于树的每条路径,是通过最小化均方差等方法最终分割出来的有区分性路径,根据该路径得到的特征、特征组合都相对有区分性,效果理论上不会亚于人工经验的处理方式。GBDT模型的特点,...原创 2021-10-13 09:45:06 · 119 阅读 · 0 评论