强化学习曾小健
"强化学习曾小健2、强化学习曾小健3、我是机器人曾小健具身"都是该号副号。CSDN全站80强博客、总近480w+浏览。AI生成式技术,计算机博士;llama3、Baichuan2、Qwen、GLM-4等等项目贡献人(ArtificialZeng)。这个博客的主题主要是强化学习技术、AI生成式技术、大模型多模态技术、机器人具身智能控制技术、机器/深度学习论文或科研前沿、GNN图神经网络、神经网络,包括人工神经网络和生物神经网络,及其大脑演化,智能和认知的产生,通用人工智能;
展开
-
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 · 918 阅读 · 0 评论 -
Python连接presto
如果要使用Python来连接Presto,就需要相关的驱动包。目前发现有两个驱动包,分别是:pyhive :GitHub - dropbox/PyHive: Python interface to Hive and Presto. 🐝presto-python-client :GitHub - prestodb/presto-python-client: Python DB-API client for Presto其中第二个是Presto官方自己弄的,不过使用率没有pyhive高。在Super...原创 2022-03-24 16:56:37 · 1971 阅读 · 1 评论 -
2021-08-20 Redis 基本类型:string set sortedSet Hash List
我们先看基础类型:String:String类型是Redis中最常使用的类型,内部的实现是通过SDS(Simple Dynamic String )来存储的。SDS 类似于Java中的ArrayList,可以通过预分配冗余空间的方式来减少内存的频繁分配。这是最简单的类型,就是普通的 set 和 get,做简单的 KV 缓存。但是真实的开发环境中,很多仔可能会把很多比较复杂的结构也统一转成String去存储使用,比如有的仔他就喜欢把对象或者List转换为JSONString进行存...原创 2021-08-20 18:37:13 · 249 阅读 · 0 评论 -
召回 i2i
i2i的依据是什么。假如用户之前买过某款衣服,我给他推长得像的衣服是不是很合理呢?或者用户喜欢看王者荣耀,那我给他推英雄联盟手游是不是也说得通?原创 2022-07-29 14:53:25 · 296 阅读 · 0 评论 -
TensorFlow Serving 高性能的机器学习模型服务系统
TensorFlowServing可以在单个服务器实例的生命周期内处理一个或多个版本的servable。在服务时,客户端可以请求特定模型的最新版本或特定版本ID。TensorFlowServing可以轻松部署新算法和实验,同时保持相同的服务器架构和API。TensorFlowServing提供与TensorFlow模型的开箱即用集成,但可以轻松扩展以服务于其他类型的模型。机器学习模型可能包括一个或多个算法(包括学习的权重)和查找或嵌入表。Servable的大小和粒度是灵活的。...原创 2022-07-28 15:10:04 · 616 阅读 · 0 评论 -
什么时候使用UserCF,什么时候使用ItemCF?
物品少,用户多,用户兴趣固定持久。进行推荐,所以具备更强的。少,物品多,时效性较强。,这样的特点非常适于。艺术品,音乐,电影。原创 2022-07-22 14:36:29 · 357 阅读 · 0 评论 -
Sohu2022算法赛-推荐赛道
推荐的部分,也会分为训练集和测试集,在数据中,我们将每次曝光给用户的展示结果列表称为一个Group(每个Group都有唯一的pvId)。训练集和测试集中每个Group都有正样本(曝光并点击)和负样本(曝光但未点击)。训练集中每条样本包含pvId,用户id,点击序列(序列中的每次点击都包含文章id和浏览时间),用户特征(包含但不限于操作系统、浏览器、设备、运营商、省份、城市等),待预测文章id和当前时间戳,以及用户的行为(1为有点击,0为未点击)。测试集中每条样本包含测试样本id,用户id,点击序列(原创 2022-07-14 09:39:27 · 431 阅读 · 0 评论 -
自动化win训练脚本+日志
自动化win训练脚本+日志原创 2022-07-11 21:24:49 · 347 阅读 · 0 评论 -
YoutubeDNN召回的一些问题
列出十个文中解决的非常有价值的问题:推荐问题转换成多分类问题,在next watch的场景下,每一个备选video都会是一个分类,因此总共的分类有数百万之巨,这在使用softmax训练时无疑是低效的,这个问题Youtube是如何解决的?...原创 2022-06-09 14:55:23 · 297 阅读 · 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 · 1101 阅读 · 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 · 208 阅读 · 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 · 254 阅读 · 0 评论 -
RecSys2022 fashion rec challenge
今年的挑战主要集中在时尚推荐上。当给定用户会话、购买数据和有关项目的内容数据时,您能否准确预测会话结束时将购买的时尚单品?内容数据由项目的描述性标签组成(例如颜色、长度、领口、袖子样式等)。标签是使用 Dressipi 的人机交互系统分配的,时尚专家在该系统中审查、纠正和确认标签的正确性,因此我们希望这是一个高精度和高质量的数据集。重要的是能够根据用户在当前会话期间所做的事情做出推荐,以创造可能导致购买的最佳体验。时尚领域的细微差别使得准确的会话预测比其他领域更重要:平均 51% 的访客是新原创 2022-05-20 04:41:01 · 505 阅读 · 0 评论 -
基于商品描述文案的点击预测模型
黄皓炫,盛 武† (安徽理工大学 经济与管理学院, 安徽 淮南 232000)摘 要:为了预测商品描述文案中商品特征对点击的影响,量化分析用户的消费行为特征及缓解冷启动问题,建立 了一种基于 LDA 模型和文本情感分析的点击预测模型。该模型基于 LDA 主题模型对商品描述词的分类筛选,对构 成词进行情感分析,构建特征向量以表示用户对商品各特征的情感倾向,并通过 LightGBM 算法进行对点击的预测。 模型可以将非结构化文本数据转换为结构化数据,量化用户对商品不同特征的兴趣倾向,并利用不同商品的相似特原创 2022-05-12 14:35:11 · 304 阅读 · 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 · 162 阅读 · 0 评论 -
Pyspark 平台的协同过滤推荐算法应用与实现
摘 要: 为解决传统的基于矩阵分解协同过滤推荐算法,在大量数据的情况下,单节点计算速度慢以及特征矩阵稀疏 问题,充分对大数据时代下的 Pyspark 大数据处理平台原理及架构进行研究,并对 ALS 协同过滤算法原理研究与其在 Pyspark 平台上的实现推荐系统应用. 实验结果表明,基于 Pyspark 平台的 ALS 算法,通过调节正则化参数为 0. 01、增加 并行化分块计算的块数、减少隐含语义因子的个数,能使推荐算法的 RMSE 最小,并能更快速精准有效推荐给用户他 们感兴趣的商品.Spark 是原创 2022-05-03 00:19:28 · 1970 阅读 · 0 评论 -
H&M个性化Recommendations--kaggle推荐比赛
Provide product recommendations based on previous purchasesH&M 集团是一个拥有 53 个在线市场和大约 4,850 家门店的品牌和企业家族。我们的在线商店为购物者提供了广泛的产品选择供您浏览。但如果选择太多,客户可能无法很快找到他们感兴趣或正在寻找的东西,最终他们可能不会购买。为了增强购物体验,产品推荐是关键。更重要的是,帮助客户做出正确的选择也对可持续性产生积极影响,因为它可以减少回报,从而最大限度地减少交通排放。在本次比赛中原创 2022-04-30 23:01:09 · 1747 阅读 · 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 · 3089 阅读 · 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 · 3433 阅读 · 0 评论 -
Redis实时推荐系统:2、文章列表的实现概述:
2、文章列表的实现概述:我们使用有序集合(zset)来存储文章id和文章权重(文章发表的时间戳), 使用 hash 存储文章字段。用户关注的博主和兴趣领域标签分别都是集合存储,可以方便的使用集合操作来实现关联操作。...原创 2022-01-21 11:12:12 · 50 阅读 · 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 · 1012 阅读 · 1 评论 -
会话推荐和 序列推荐
会话也是基于序列的推荐,我是这样认为的,会话是指一段时间内user的点击序列,在SR-GNN中,就是指的user点击序列,与user本身无关。所以归根结底啥都是序列???CF不是点击序列?其关键区别在哪里呢?区别在于CF可能对点击的item是无序的,或者影响不大,而序列推荐是强调有先后顺序的,乱序的话,效果很差。...原创 2022-01-19 16:25:51 · 825 阅读 · 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 · 834 阅读 · 0 评论 -
CTR预估之outbrain
原创 2022-01-19 16:02:16 · 242 阅读 · 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 · 1940 阅读 · 0 评论 -
DeepWalk
早期,影响力较大的Graph Embedding方法是于2014年提出的 DeepWalk[7l,它的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入Word2vec进行训练,得到物品的Embedding。因此, DeepWalk可以被看作连接序列Embedding 和Graph Embedding的过渡方法。...原创 2022-01-18 15:44:31 · 310 阅读 · 0 评论 -
多场景多产品形态样本处理方案
多场景多产品形态样本处理方案,拿走不谢。沉浸流(或其它自动播放)视频产品沉浸流是类似抖音首页、快手精选页那种无限下滑、一屏一视频的产品形态,特点是自动播放、用户对下一个item无感知、无晒选,曝光即播放,样本无明显正、负倾向。Trick1播放时长>阈值 为正样本,否则为负样本,配合按观看时长长度分布以一定比例采样或调整样本权重。适合沉浸流产品上线初期,以提升下滑数(与信息流广告潜力相关)和用户停留时长(场景用户留存相关)为主业务目标。Trick2按不同视频时长(或类目)做样本..原创 2022-01-17 17:15:52 · 27 阅读 · 0 评论 -
pointwise方法,搜索系统只按关键词的相关度进行排序然后给我们返回结果
pointwise呢?这是源自从排序学习的一个概念。我们搜索的时候,搜索系统只按关键词的相关度进行排序然后给我们返回结果,就是pointwise方法原创 2022-01-17 16:52:39 · 16 阅读 · 0 评论 -
实时推荐系统
原创 2021-12-16 15:15:40 · 356 阅读 · 0 评论 -
标签系统 -- 用户画像
标签系统标签系统就是俗称的用户画像。从属性变化性质来分,标签系统可分为静态标签和动态标签:静态标签: 短时间内变化不大的标签,比如性别、地域、职业、生活习惯等; 动态标签: 不断变化的行为标签,比如关注的产品类别、产品偏好、内容偏好等 从更新时间的频率上来说,又可以分为短期兴趣标签和长期用户标签:短期标签的更新频率是分钟级或秒级; 长期标签的更新频率是天级或小时级;在这个简化的推荐系统里,我们只考虑实时部分(绿色实线部分)是可以满足需求的。所以只考虑短期兴趣标签的计原创 2021-12-16 14:33:48 · 2628 阅读 · 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 · 619 阅读 · 0 评论 -
CTR相关
思路典型的点击率预估问题。 构造user侧和item侧特征,计算一阶、二阶下的历史ctr,duration统计值以及全局热度特征。 以deepfm为基础模型结构,引入“个性化学习组件”对个性化特征的后验分布进行拟合。数据说明数据列表:用户信息user_info.txt,“\t”分割,各列字段为:用户id、设备名称、操作系统、所在省、所在市、年龄、性别; 文章信息doc_info.txt,“\t”分割,各列字段为:文章id、标题、发文时间、图片数量、一级分类、二级分类、关键词; 训练数原创 2021-12-14 13:24:57 · 223 阅读 · 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 · 430 阅读 · 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 · 589 阅读 · 0 评论 -
MAB多臂老虎机/赌博机
原创 2021-11-23 09:45:05 · 280 阅读 · 0 评论 -
MAB多臂老虎机
伯努利分布:其均值是P,方差是p(1-p)假设每一个新闻的CTR是固定的,将CTR从大到小排序,CTR最大的放在最显著的位置。假设有四个新闻,但是不知道那个新闻用户更加喜欢,因此就给每个新闻25%的机会展示,但是真实的情况是用户最喜欢第一个新闻,那剩下的75%相当于就是占用了第一个新闻的展示资源。没有好好利用的那部分就被叫做 REGRET.应用场景:online Learning冷启动匿名用户怎么解决呢?将探索(explore)和利用(exploit) 结合,一边探索,一边利用.原创 2021-11-23 09:35:17 · 265 阅读 · 0 评论 -
过拟合产生的原因
模型出现过拟合现象的原因发生过拟合的主要原因可以有以下三点:(1)数据有噪声(2)训练数据不足,有限的训练数据(3)训练模型过度导致模型非常复杂(1)数据有噪声为什么数据有噪声,就可能导致模型出现过拟合现象呢?所有的机器学习过程都是一个search假设空间的过程!我们是在模型参数空间搜索一组参数,使得我们的损失函数最小,也就是不断的接近我们的真实假设模型,而真实模型只有知道了所有的数据分布,才能得到。往往我们的模型是在训练数据有限的情况下,找出使损失函数最小的最优模型,然原创 2021-11-11 12:31:13 · 79 阅读 · 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 · 1305 阅读 · 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 · 1358 阅读 · 0 评论 -
百面深度学习 -- 置顶
xgboost相比传统gbdt有何不同?xgboost为什么快?xgboost如何支持并行?1.传统GBDT以CART作为基分类器,xgboost还支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题)。2.传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。且xgboost工具支持自定义代价函数,只要函数可一阶和二阶求导。3.xgboost在代价函数里加入了正则项,用于控原创 2021-11-08 13:32:53 · 42 阅读 · 0 评论