搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
人工智能uu
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
SCI文章写作攻略—起飞站_would you be willing to review a revision of this
2
Symbol数据类型_symbol typeof
3
K8S集群安装kafka集群(持久化数据)并构建webui_helm kafka集群
4
为什么越是大厂,越喜欢问这些基础知识?
5
手把手教你用 ComfyUI 部署 最新开源的Stable diffusion 3,目前最强的AI绘画模型!(附报错和解决方法)_stable diffusion3.0 comfyui
6
记录一下,普通本科,程序员真实薪资曝光_python真实薪资
7
【WPF】ComboBox限制输入长度的两种方式_wpf combox限制显示文字长度
8
Mybatis基础总结-基于注解开发_mybatis基于注解
9
LoRA训练环境Kohya-ss的排障记录_module 'diffusers.models.attention' has no attribu
10
人类警惕!AI是个大骗子!
当前位置:
article
> 正文
特征工程Embedding技术_embedding特征
作者:人工智能uu | 2024-08-18 11:03:18
赞
踩
embedding特征
文章目录
Embedding概念
经典Embedding方法Word2Vec
Word2Vec介绍
Word2Vec如何生成样本
Word2Vec 模型的结构
Word2Vec如何提取词向量
Item2Vec
Embedding概念
什么是embedding?
Embedding 就是用一个数值向量“表示”一个对象(Object)的方法,我这里说的对象可以是一个词、一件物品、一部电影等等。
一件物品能被向量表示,是因为这个向量跟其他物品向量之间的距离反映了这些物品的相似性。更进一步来说,两个向量之间的距离向量甚至能够反映它们之间的关系。
Embedding 技术对深度学习推荐系统的重要性
推荐系统中物品、ID特别多,如果一致使用one-hot独热编码,会造成特征向量矩阵稀疏,同样而深度学习的结构特点又不利于稀疏特征向量的处理,这时候我们就需要使用embedding技术。当今几乎所有深度学习推荐模型都会由 Embedding 层负责将稀疏高维特征向量转换成稠密低维特征向量。所以说各类 Embedding 技术是构建深度学习推荐模型的基础性操作。
Embedding 可以融合大量有价值信息,本身就是极其重要的特征向量。相比于直接由原始信息得到的特征向量。embedding表达能力更强,通过预训练得到的embedding向量其本身就是非常重要的特征向量。
总结:Embedding方法它不仅是一种处理稀疏特征的方法,也是融合大量基本特征,生成高阶特征向量的有效手段。
经典Embedding方法Word2Vec
Word2Vec介绍
Word2vec 是“word to vector”的简称,顾名思义,它是一个生成对“词”的向量表达的模型。
想要训练 Word2vec 模型,我们需要准备由一组句子组成的语料库。假设其中一个长度为 T 的句子包含 w1,w2……wt个词,并且我们假定每个词都跟其相邻词的关系最密切。
Word2Vec有两种模型一种是CBOW模型还有一种是Skip-gram模型。CBOW 模型假设句子中每个词的选取都由相邻的词决定。输入为wt-1,wt+1…,输出是wt;Skip-gram模型则正好相反,它假设句子中的每个词都决定了相邻词的选取。输入为wt,输出为为wt-1,wt+1…。两者比较而言Skip-gram效果更好。
Word2Vec如何生成样本
以Skip–gram模型为例,我们从语料库中随机抽取一个句子,选取一个长度为 2n+1(目标词前后各选n个词)的滑动窗口,将滑动窗口从左往右依次滑动,每移动一次,窗口中的词组就形成了一个训练样本。根据 Skip-gram 模型的理念,中心词决定了它的相邻词,我们就可以根据这个训练样本定义出 Word2vec 模型的输入和输出,输入是样本的中心词,输出是所有的相邻词。
Word2Vec 模型的结构
Word2Vec的结构本质上就是一个三层的神经网络,如下图:
输入层和输出层的维度都是V,这个V其实就是语料库词典的大小。根据生成的训练样本,这里的输入向量就是由输入词转换而来的One-hot编码向量,输出向量则是由多个输出词转换而来的Multi-hot编码向量,Skip-gram模型解决的是一个多分类问题。
隐层的维度是N,N的选择则需要一定的调参能力,我们需要对模型的效果和模型的复杂度进行权衡,来决定N的取值,并且最终每个词的 Embedding向量维度也由N来决定。
最后是激活函数的问题,需要注意的是隐层神经元是没有激活函数的,或者说是采用了输入即输出的恒等函数作为激活函数,而输出层神经元采用了Softmax作为激活函数。
下图为输入向量到输出向量的这样的一个条件概率关系公式:
输入WI和预测输出WO的条件概率,其实就是Word2Vec神经网络要表达的东西。我们通过MLE最大化这个条件概率,就能够让相似的词的内积距离更接近,这就是我们希望Word2Vec神经网络学到的。
如果当词非常大的情况下,训练时间会非常的长,为了节约时间,我们可以采用负采样和分层Softmax的方法进行训练。
Word2Vec如何提取词向量
输入向量矩阵 W
VxN
的每一个行向量对应的就是我们要找的“词向量”。比如我们要找词典里第i个词对应的Embedding,因为输入向量是采用One-hot编码的,所以输入向量的第i维就应该是 1,那么输入向量矩阵 W
VxN
中第i行的行向量就是该词的Embedding。如下图:
在实际过程中,我们往往会把输入向量矩阵转换成词向量查找表。例如,输入向量是 10000 个词组成的 One-hot 向量,隐层维度是 300 维,那么输入层到隐层的权重矩阵为 10000x300 维。在转换为词向量 查找表后,每行的权重即成了对应词的 Embedding 向量。如果我们把这个查找表存储到线上的数据库中,就可以轻松地在推荐物品的过程中使用 Embedding 去计算相似性等重要的特征了。
Item2Vec
Item2Vec方法是由微软于 2015 年提出的,它是对Word2Vec方法的推广,使Embedding方法适用于几乎所有的序列数据。Item2Vec模型的技术细节几乎和Word2Vec完全一致,只要能够用序列数据的形式把我们要表达的对象表示出来,再把序列数据传到Word2vec模型上,就可以得到任意物品的Embedding了。
对于推荐系统而言,Item2Vec可以利用物品的Embedding直接求得它们的相似性,或者作为重要的特征输入推荐模型进行训练,这些都有助于提升推荐系统的效果。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/人工智能uu/article/detail/997235
推荐阅读
article
详解AI
大
模型
提示
工程
(
prompt
)、向量
工程
(
embedding
)、微调
工程
(
fine
-tune...
大
家都在讨论
大
模型
,似乎什么都可以与
大
模型
结合,可当初学者也想上手时,却面临令人头
大
的词汇,Prompt、Embeddi...
赞
踩
article
NLP 之
transformer
_
input
embedding
...
本文深入探讨了Transformer模型,重点介绍了输入嵌入、注意力层、残差模块和前馈神经网络。Transformer作...
赞
踩
article
如何在生成式AI里使用
Ray
Data
进行大规模
RAG
应用的
Embedding
Infer...
本文将详细介绍使用 Milvus +
Ray
Data
进行
Embedding
inference 的性能。如何在生成...
赞
踩
article
AI
时代,
Java
程序员不可不知的两个开发框架_
java
调用
bedrock
embedding
...
AI
时代,
Java
程序员也需要与时俱进,这两个框架你不能不知道。第一个是 Spring
AI
,第二个是 Spring...
赞
踩
article
四种推荐算法——
Embedding
+
MLP
、
Wide
&
Deep
、
Deep
FM、
NeuralCF
...
最经典的是输入用户和物品id,转化成One-hot编码后经过简单的
Embedding
后生成稠密向量,然后将用户塔和物品塔...
赞
踩
相关标签
人工智能
prompt
embedding
产品经理
大模型应用
LLM
大模型
transformer
自然语言处理
深度学习
milvus
数据库
语言模型
程序人生
java
开发语言
推荐算法
MLP
DeepFM
NeuralCF
WideDeep