自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 LLM 系列之 Transformer 组件总结

LLM 学习记录

2023-10-10 22:28:40 501

原创 A Survey for In-context Learning

(1)最近的研究探索了自然语言之外的语境学习,取得了有希望的结果。正确格式化的数据(例如,用于视觉语言任务的交错图像-文本数据集)和架构设计是激活上下文学习潜力的关键因素。在更复杂的结构空间(如图形数据)中探索它是具有挑战性和前景的(Huang et al.,2023a)。(2) 语境中的文本学习示范设计和选择的发现不能简单地转移到其他模式。需要进行特定领域的调查,以充分利用各种模式的情境学习的潜力。

2023-08-14 14:58:03 517

原创 小样本学习

参考博客: https://blog.csdn.net/qq_36104364/article/details/106442357。

2023-08-13 23:09:24 126

原创 Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?

大语言模型能够通过上下文学习-只需要在推理阶段加入一些输入-标签的示例对,就能完成对新输入文本的预测。但是,对模型是如何学习,示例的哪些方面会影响最终的任务效果,我们知之甚少。在这篇纹章中,我们揭示了 正确的输入-标签示例对不是必须的,随机替换示例中的标签几乎不会影响效果,这个结论在12个不同的模型上是一致的,包括gpt3。相反,我们发现示例的其他方面是最终任务效果的核心驱动,包括:标签的空间,输入文本的分布,整体序列的格式。

2023-08-13 18:14:50 361

原创 推荐系统中 纯用户冷启动问题研究

纯冷启动问题Pure cold star problem区别于一般冷启动cold star的一点是无法从第三方获取任何有关用户的信息,即它指的是推荐系统(RS)的功能,可为没有历史数据的用户提供有用的推荐。作者基于用户覆盖率最大化引入了两个新的RS来缓解此问题:Max-Coverage 和 Category-Exploration。这项工作旨在增强向初次用户发布的推荐,从而缓解纯冷启动问题。系统做出的假设:因受欢迎程度,新近度和正面评分而产生偏差的商品有可能满足大多数首次使用者的兴趣,但并非总是如此。

2022-08-21 17:45:08 650 1

转载 柏林噪声(Perlin Noise)

柏林噪声(Perlin Noise)

2022-07-23 22:17:57 857

原创 机器学习评价指标ROC中 macro,micro 的区别

macro:每种类别下,都可以得到m个测试样本为该类别的概率(矩阵P中的列)。所以,根据概率矩阵P和标签矩阵L中对应的每一列,可以计算出各个阈值下的假正例率(FPR)和真正例率(TPR),从而绘制出一条ROC曲线。这样总共可以绘制出n条ROC曲线。最后对n条ROC曲线取平均,即可得到最终的ROC曲线。micro:首先,对于一个测试样本:1)标签只由0和1组成,1的位置表明了它的类别(可对应二分类问题中的‘’正’’),0就表示其他类别(‘’负‘’);2)要是分类器对该测试样本分类正确,则该样本标签中1对应的

2021-06-19 16:40:05 8048

原创 NRMS: Neural News Recommendation with Multi-Head Self-Attention

NRMSMSRA 2019年的多头注意力机制的神经网络推荐算法这里做个简单的总结

2021-05-10 09:47:04 1896

原创 推荐系统有关博客文章

简单汇总一下,方便后面查看【基础】推荐系统教程推荐系统学习清单推荐系统/计算广告/机器学习/CTR预估资料汇总排序学习杂谈-上 排序学习杂谈-下推荐系统随笔推荐系统中的排序学习推荐系统技术演进趋势:从召回到排序再到重排deeplearning 用来做推荐系统基于矩阵分解的推荐算法基于协同过滤的推荐算法文本内容分析算法DPP行列式点阵在推荐系统中的应用【各大公司应用】得物推荐系统Transformer 在美团搜索排序中的实践Embedding在大厂的应用推荐系统Embed

2021-04-06 15:38:37 202

原创 推荐系统中的排序概述

推荐系统中的排序学习1.为什么需要排序学习1.1 排序学习在推荐领域的重要作用2.排序学习框架2.1.基本流程2.2.特征提取2.3.标签获取2.3.1人工标注2.3.2 日志抽取3.排序学习设计方法3.1.单点法(Pointwise)推荐领域的 Pointwise 排序学习3.2 配对法(Pairwise)Pointwise与Pairwise的结合方案3.3 列表法(Listwise)排序学习(Learning to Rank,LTR),也称机器排序学习(Machine-learned Ranking,

2021-03-16 21:43:13 1870 1

原创 排序算法 LTR 的评价指标

排序算法评价指标排序指标1.1 MRR1.2 MAP1.3 NDCG1.4 ERR最近想要总结一下 LTR的算法,虽然DL的出现已经可以快速替代了LTR的方法,但是工业界还有很多LTR的应用。先讲解LTR的评价指标排序指标信息检索和推荐系统常用排序质量评分有4种:MRR(Mean Reciprocal Rank):平均倒数排名。 通用的对搜索推荐算法进行评价的机制,即第一个结果匹配,分数为1,第二个匹配分数为0.5,第n个匹配分数为1/n,如果没有匹配的句子分数为0。最终的分数为所有得分之和。

2021-03-13 17:25:41 1437 2

原创 大数据的技术生态,Hadoop,Hive,Spark之间的关系

这个内容摘抄自知乎一个问题的答案,希望可以把大数据生态圈的技术理清楚。大数据技术本质上无非4个核心问题:存储:海量的数据怎么有效存储?主要包括 HDFS, Kafka;计算:海量的数据怎么快速计算?主要包括:MapReduce,Spark,Flink等;查询:海量的数据怎样快速查询?主要包括Nosql和Olap,Nosql包括Hbase\Cassandra等,其中olap包括kylin,impla等,其中Nosql主要解决随机查询、Olap技术主要解决关联查询。挖掘:海量数据怎样挖掘出隐藏的知识

2020-12-28 12:09:36 661

原创 推荐系统的论文阅读更新计划

基于Embedding+MLP的结构DeepCrossing : 基于Embedding+MLP+Resnet的经典DNN结构PNN: DeepCrossing + Product层对协同过滤的改进模型NeuralCF: 将神经网络替代协同过滤中的点积操作将因子分解机的隐向量作为Embedding初始化值FNN (基于FM)基于Wide&Deep结构的Wide&Deep对wide部分进行改进的Deep&Cross: 将wide部分替换成Cross

2020-12-21 12:14:04 126

原创 推荐系统--n--模型DeepFM

前面提到了Embedding+MLP(DeepCrossing/PNN), Wide&Deep, NerualCF(单塔/双塔)等不同的模型结构,那我们再深入思考一个问题:就是这几种模型都是怎么处理特征交叉的?比如说,模型的输入有 性别、年龄、电影风格这几个特征,在训练样本中,我们发现25岁男生喜欢科幻电影的样本,有35岁女生喜欢恐怖电影的样本,那你觉得模型应该怎么推测“25岁”女生喜欢的电影风格呢?事实上,这类特征组合和特征交叉问题非常常见,实际应用中,特征的种类还要多得多,特征交叉的复杂程度

2020-12-21 12:04:05 286

原创 推荐系统--n--模型NeuralCF

NeuralCF是对协同过滤的改进。

2020-12-21 10:47:24 666

原创 推荐系统--n--模型Wide&Deep

Wide&Deep 让你的模型既有想象力又有记忆力。Google的Wide&Deep在工业界有着巨大的影响力。只要掌握wide&deep就抓住了深度推荐模型这几年发展的一个主方向。Wide&Deep 形象化理解“宽且深”,我们之前的Embedding+MLP经典结构,因为MLP可以有多层神经网络,所以它是一个比较“深”的模型,但是Wide&Deep这个模型的“深”与MLP有什么区别吗?“宽”的部分又是怎样的呢?宽和深分别有什么不同的作用呢?以及为什么要把他们结合在

2020-12-21 00:14:12 212

原创 推荐系统--n--模型DeepCrossing和PNN

微软2016年提出的DeepCrossing 是经典的Embedding+MLP结构。Embedding + MLP 模型结构微软把DeepCrossing用于广告推荐这个业务场景上。DeepCrossing从下到上可以分为5层,分别是Feature层、Embedding层、Stacking层、MLP层和Scoring层。Feature层feature 层也叫输入特征层,它处于DeepCrossing的最底部,作为整个模型的输入。但是仔细观察feature层,我们会发现不同的特征在细节上的一些区别

2020-12-20 23:29:33 241

原创 推荐系统--3--深度学习发展

深度学习推荐模型,有早期微软的DeepCrossing, Google的Wide&Deep,阿里的MLR,到现在影响力非常大的DIN, DIEN, YouTube的深度推荐模型等。这篇文章讲的是深度学习推荐模型,以及他们之间的发展关系。深度学习能够显著提升推荐系统的效果,主要原因在于2点:深度学习极大地增强了推荐模型的拟合能力深度学习模型可以利用模型结构模拟用户兴趣的变迁、用户注意力机制等不同的用户行为过程。深度学习模型的强拟合能力经典的推荐算法,矩阵分解,在矩阵分解模型的结构中,用

2020-12-20 23:01:28 510 1

原创 推荐系统--2--协同过滤与矩阵分解

协同过滤与矩阵分解协同过滤算法的基本原理计算用户相似度用户评分的预测矩阵分解算法总结这里主要介绍几个推荐系统的模型。推荐系统模型是最重要的一块,因为推荐模型直接决定了最终物品排序的结果,它的好坏也直接影响着推荐效果的优劣。而且从某种意义上讲,推荐系统的整体架构都是围绕着推荐模型搭建的,用于支持推荐模型的上线、训练、评估、服务。这里讲解的是 最经典的”协同过滤“。协同过滤算法的基本原理我们知道”用户行为数据是推荐系统最常用,也是最关键的数据。用户的潜在兴趣、用户对物品的评价好坏都反应在用户的行为历史

2020-12-20 20:08:05 3603

原创 推荐系统--n--召回层

这里主要介绍召回层的技术,包括2个方面,一是召回的策略,另外一个是查找近似向量的策略。召回策略单策略召回:单一无法满足用户潜在多兴趣需求多路召回:可以全面地照顾到不同的召回方法,各个策略之间的数据和信息是割裂的,无法综合考虑多个策略对同一个物品的影响基于embedding召回:既考虑到了多路召回策略,又有评分连续性的特点,embedding线上相似度计算也比较简单。召回层邻近检索方法聚类k-means:虽然可以根据k个中心 进行缩小搜索范围,但是k是超参数,不好确定,并且无法处理边

2020-12-20 12:16:51 1196 1

原创 推荐系统系列--4-- Embedding在推荐系统中的应用

自从深度学习流行起来,embedding就成为深度学习推荐系统方向最火热的话题之一。什么是Embedding?简单来说Embedding就是用一个数值向量“表示”一个对象的方法,这里的对象可以是一个词、物品、也可以是一部电影等。但是“表示”这个词怎么理解呢?用一个向量表示一个物品,一个物品能被向量表示,是因为这个向量跟其他物品向量之间的距离反应了这个物品的相似性,也就是两个向量间的距离向量甚至能够反应他们之间的关系。在Netflix应用的电影Embedding向量方法,就是一个非常直接的推荐系统的应用

2020-12-19 21:28:22 909 2

原创 矩阵分解背后数学原理

面试时遇到这个问题,试图解释SVD,PCA等方法,总感觉没有很好地解释问题。矩阵分解是机器学习常用的处理方法,包括PCA降维,协同过滤里面的分解MF等。这里简单总结一下SVD, PCA, MF有关矩阵分解的问题。矩阵分解先看一下特征值分解:设A为n*n的方阵,则 Ax=λ∗xAx = \lambda*xAx=λ∗x, 称λ\lambdaλ为方阵A的特征值,x为方阵A的特征向量。 特征值不是唯一的, 一个满秩方阵就有n个特征值,每个特征值对应一个特征向量,满秩方阵的特征向量也是线性无关的。如果A 是

2020-12-19 17:07:09 517 1

原创 推荐系统--n--特征处理2

Spark是一个分布式计算平台,所谓的分布式,指的是计算节点之间不共享内存,需要通过网络通信的方式交换数据。Spark最典型的应用方式就是建立在大良廉价的计算节点上,这些节点可以是廉价主机,也可以是虚拟的docker container.从下面的Spark架构图中我们可以看到Spark程序是由Manager node(管理节点)进行调度组织,由worker node(工作节点)进行具体的计算任务执行,最终将结果返回给Drive Program(驱动程序)。在物理的worker node上,数据还会分为不同

2020-12-19 10:34:33 240 1

原创 推荐系统--n--特征工程

推荐系统中可用的特征非常多,但它们基本上可被划分到“用户行为”“用户关系”“属性标签”“内容数据”“场景信息”这五个类别,而且挑选特征的方法也遵循着“保留有用信息,摒弃冗余信息”的原则。用户行为数据: 一般与业务相关,显示行为(评分,点赞,收藏,转发),隐式行为(点击,收藏,评论,播放,播放时长,加入购物车,购买)用户关系数据:强关系(好友关系等,关注),弱关系(同一个国家,城市,小区,同看一部电影,互相点赞等)属性标签数据:用户属性标签,物品属性标签。(类别型,来源型)(用户类标签:年龄,性别,住

2020-12-18 22:39:34 199 1

原创 推荐系统系列--1--系统架构

最近开始学习推荐系统, 在这里做个记录, 会更新如下内容:推荐系统架构推荐系统进化之路推荐系统与深度学习Embedding在推荐系统中的应用多角度审视推荐系统推荐系统工程实现推荐系统评估推荐系统前沿该系列内容是参考 王喆的深度学习推荐系统 整理的,作为自己的学习笔记.推荐系统的目的是在特定场景下...

2020-12-18 20:06:18 252 1

原创 损失函数

RankCrossEntropyLoss: 排序交叉熵损失class RankCrossEntropyLoss(nn.Module): """Creates a criterion that measures rank cross entropy loss.""" __constants__ = ['num_neg'] def __init__(self, num_neg: int = 1): """ :class:`RankCrossEnt.

2020-12-11 11:40:14 403

原创 sigmoid Vs softmax

在逻辑回归模型中,我们可以使用sigmoid进行二分类,也可以使用softmax进行多分类。但是这两个有什么区别呢?1. sigmoid functionF(xi)=11+exp(−xi)F(x_i) = \frac {1}{1+exp(-x_i)}F(xi​)=1+exp(−xi​)1​sigmoid 函数是把输入单独转成0到1之间的输出properties of sigmoid functionsigmoid 函数返回一个真是的输出值sigmoid函数的一阶导数是非负数或者非正。(非

2020-12-11 11:03:44 196

原创 文本匹配模型-DSSM

这里主要实现的是基于表征文本匹配和基于交互的文本匹配模型。同时也对比了各个模型在wikiQA上的运行结果。1. 基于表征的文本匹配模型1.1 DSSM 模型1. 简介DSSM 模型是2013提出的 最早的基于表征的文本匹配方法,整体流程比较简单:首先基于bag-of-words得到文本的向量表征,再基于word-hashing方法进行降维,接着就是MLP,得到最终128维的文本embedding, 最后对两个文本emebdding 计算cosine相似度得到相似度分数。该模型也奠定了基于表征匹配

2020-12-10 17:35:34 1174

原创 SmiHash算法

1. SimHash与传统hash函数的区别传统hash算法只负责将原始内容尽量均匀随机映射为一个签名值,原理上仅相当于伪随机数产生算法。传统的hash算法产生的两个签名,如果原始内容相等,在一定概率下是相等的,如果不想等,除了说明原始内容不想等以外,不再提供任何信息,因为即使原始内容只是想差一个字节,所产生的签名也很可能差别很大。所以传统的Hash是无法在前面的维度上来衡量原内容的相似度,而SimHash本身属于一种局部敏感哈希算法,它产生的hash签名在一定程度上可以表征原内容的相似度。我们主要解决

2020-12-09 09:20:33 731

原创 论文阅读记录-关于文本嵌入表示

这里只是做一个简单的论文学习记录。Sentence levelbertbert讲解作者说用最后4层加和或者拼接作为句向量表示效果比较好,其实根据不同的任务可以尝试不同的组合方式。sentence- bert代码:sentence-transformers双塔模型的bert, 训练阶段直接通过拼接 (U, V, |U-V|)进行分类(softmax)-回归(cosine sim)-TripleLoss,对bert进行finetune, 预测阶段可以通过bert 直接得到句向量,然后计算

2020-11-29 22:28:14 401 1

原创 kenlm训练语言模型 及 NLP中中文字符预处理

step-1: 去除英文和标点符号step-2: 去除非中文和数字的step-3: 分词并且将数字改成大写 将句子用空格拼接起来import jiebaimport re def num_to_ch(num): """ 功能说明:将阿拉伯数字 ===> 转换成中文数字(适用于[0, 10000)之间的阿拉伯数字 ) """ if len(num) == 5: return '手机号' num = int(num) _MAPPING = (u'

2020-11-20 15:56:15 1745

原创 BM25算法Best Matching

BM25是信息检索领域用来计算query与文档相似度得分的经典算法.不同与TFIDF, BM25 的公式主要由三部分组成:query 中每个单词t与文档d之间的相关性单词t与query之间的相似性每个单词的权重BM25 带来的好处: BM25 vs TFIDFBM25公式BM25的一般公式: (计算query Q与某个文档之间的BM25 Score)Score(Q,d)=∑inWiR(qi,d) Score(Q, d) = \sum_{i}^n W_i R(q_i, d)Score(Q,

2020-10-20 22:17:43 364

原创 HNSW伪代码解释

HNSW 伪代码INSERT(hnsw, q, M, Mmax, efConstruction, mL): 插入新元素q.SEARCH_LAYER(q, ep, ef, lc) # 在第lc层查找距离q最近邻的ef个元素SELECT_NEIGHBORS_SAMPLE(q, C, M): 在候选点集合C中 选取距离q最近的M个元素.SELECT_NEIGHBORS_HEURISTIC(q, C, M, lc, extendCandidates, keepPrunedConnections): 探索式

2020-10-19 17:32:08 943 1

原创 python 用joblib保存训练模型

在机器学习中,我们训练模型后,需要把模型保存在本地,采用joblib来保存。import joblib#保存模型def save_model(model, filepath): joblib.dump(model, filename=filepath)def load_model(filepath): model = joblib.load(filepath) return model...

2020-10-11 15:20:00 2206

原创 Python 一些内置函数的用法

chain函数串联a和b,兼顾内存效率同时写法更加优雅。from itertools import chaina = [1,3,5,0]b = {'a':1,'b':2}for i in chain(a,b): print(i)#result:1,3,5,0,a,bfor i in chain(a,b.values()): print(i)#result:1,3,5,0,1,2c = '2,4,6'for i in chain(a,c): print(i)#re

2020-10-09 22:18:57 833 1

转载 python函数注释,参数后面加冒号:,函数后面的箭头 ->

python的函数注释1注释1def fun(name: str, age: '是一个大于零的整数值' = 52) -> '返回值为真': """ 这个是函数的帮助说明文档,help时会显示 函数声明中,name:str name 是参数 :冒号后面 str是参数的注释。 如果参数有默认值,还要给注释,如下写。 age:'是一个大于零的整数值'=52 ->'返回值为真' 是函数返回值的注释。 这些注释信息都

2020-10-09 20:47:04 1029 1

转载 python的 hashlib库

1. hashlib的基本概念什么叫hash?hash是一种算法(不同的hash算法只是复杂度不一样)(python3.x里面 代替了md5模块 和sha模块,主要提供SHA1,SHA224,SHA256, SHA384, SHA512, MD5算法),该算法接收传入的内容,经过运算得到一串hash值。hash值得特点是(hash值、产品有三大特性):只要传入的内容一样,得到的hash值必然一样,要用明文传输密码文件完整性校验不能由hash值返解成内容–>把密码做成hash值,

2020-10-09 20:34:41 2173

原创 python fastapi介绍

fastapi 击败flaskfastapi介绍详情请参考:fastapi 网页部署

2020-10-09 15:32:19 712

原创 Python Uvicorn 简介

Uvicorn 简介uvicorn是一个基于asyncio开发的一个轻量级高效的web服务器框架uvicorn 设计的初衷是想要实现两个目标:使用uvloop和httptools 实现一个极速的asyncio服务器实现一个基于ASGI(异步服务器网关接口)的最小应用程序接口。它目前支持http, websockets, Pub/Sub 广播,并且可以扩展到其他协议和消息类型。安装使用uvicorn 仅支持python 3.5.3以上版本,我们可以通过pip3来快速的安装。Tip:建议和我

2020-10-09 15:26:30 24728 2

转载 python中property, setter装饰器

问题提出:在python中用 “.” 操作来访问和改写类的属性成员时, 会调用__get__和__set__方法,在这种情况下,python会查找class.__dict__字典,对 对应值进行操作。比如C.x 会调用C.__get__访问最终读取C.dict[x]元素。如果需要读取时对输出结果进行修饰或者对输入进行合法化检查,通常做法是自己写get和set函数,并通过调用get和set函数进行读写类成员属性。如:class Timer: def __init__(self, value = 0.

2020-10-08 19:41:06 217

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除