Embedding是高维向量到低维空间的转换。在理想情况下,嵌入可以将语义上相似的不同输入映射到嵌入空间里的邻近处,以此来捕获输入的语义1。
在常见的特征中,通常可以用分桶或OneHot编码转为特征,对于类别较多的特征或者非结构化特征,可以通过Embedding转换为紧凑的实值特征向量表示。
# 类型
# 文本
词嵌入(Word Embedding)将每个单词表示为密集向量,嵌入的相似句子应该在空间上彼此接近。常用模型有神经网络模型(NNLM)、用于字词表示的全局向量(GloVe)、深层语境化词表示(ELMo)、Word2Vec等。
# Word2Vec
Skip-gram: works well with a small amount of the training data, represents well even rare words or phrases.
CBOW: several times faster to train than the skip-gram, slightly better accuracy for the frequent words.
# Doc2Vec
# 图像
使用大型图片数据集训练模型,常用的预训练模型有ResNet、Inception、NasNet、MobileNet等。最后使用不含Softmax分类器的模型作为特征向量,这类向量可以很好的描述图片基本属性。
# 音频
可以从高位功率谱密度系数提取特征向量。
# 协同过滤
用户和物品数量可能相当大,可以使用矩阵分解、单值分解、神经协同过滤、神经因式分解机等得到向量。物品的嵌入位置表达了物品属性,位置接近的嵌入位置代表用户更相似的兴趣度。
# 神经协同过滤
# 视频
Video2Vec
CNN+LSTM提取
# 图
DeepWalk
Node2Vec
EGES
GraphSage
DCN