本层应用,就是把稀疏矩阵变成一个密集矩阵,也称为查表,因为他们之间是一个一一映射关系。与其对应的是one-hot编码,multi-hot编码,对于特征维度过大的应用,直接使用会造成维度灾难。

Embedding层本质也是一个映射,不过不是映射为on-hot编码,而是映射为一个指定维度的向量,该向量是一个变量,通过学习寻找到最优值;此过程类似word2vec的原理。

而通常输入的特征都是字符串,所以在映射之前先转化为数字,也就是StringLookup对应的count模式所做的事情。

使用方式如下:

import tensorflow as tf
#其中1000表示input_dimension,也就是词汇表的大小,size of vocabulary
embedding = tf.keras.layers.Embedding(1000, 64)
input_array = np.random.randint(20, size=(32, 10))
embedding(input_array)
#输出,数字会随着模型的训练而变化调优
<tf.Tensor: shape=(32, 10, 64), dtype=float32, numpy=
array([[[-0.00223513,  0.04911561,  0.03994017, ..., -0.00141234,0.03842745, -0.03368234],[-0.00223513,  0.04911561,  0.03994017, ..., -0.00141234,0.03842745, -0.03368234],[-0.02339436, -0.03834909,  0.01074553, ...,  0.01113864,-0.04465676,  0.02594434],...,[ 0.02353707,  0.02030389, -0.03473636, ..., -0.00815297,-0.0427214 , -0.02282931],[ 0.02353707,  0.02030389, -0.03473636, ..., -0.00815297,-0.0427214 , -0.02282931],

降维的原理和意义,参考:深度学习-函数-tf.nn.embedding_lookup 与tf.keras.layers.Embedding_茫茫人海一粒沙的博客-CSDN博客

keras.layers.Embedding层介绍相关推荐

  1. Keras.layers各种层介绍,网络层、卷积层、池化层 等

    [转载]Keras.layers各种层介绍 - 心冰之海 - bk园 https://www.cnblogs.com/lhxsoft/p/13534667.html 文章导航 一.网络层 1.常用网络 ...

  2. keras.layers 各种层介绍

    http://www.manongjc.com/detail/8-lmdxlrmdfqxetzq.html

  3. 嵌入层 tf.keras.layers.Embedding() 介绍【TensorFlow2入门手册】

    函数原型 tf.keras.layers.Embedding(input_dim, output_dim, embeddings_initializer='uniform',embeddings_re ...

  4. tf.keras.layers.Embedding 嵌入层 示例

    将正整数(索引)转换为固定大小的密集向量.此层只能用作模型中的第一层 import tensorflow as tf import numpy as np embedding_layer = tf.k ...

  5. 深度学习-函数-tf.nn.embedding_lookup 与tf.keras.layers.Embedding

    embedding函数用法 1. one_hot编码 1.1. 简单对比 1.2.优势分析: 1.3. 缺点分析: 1.4. 延伸思考 2. embedding的用途 2.1 embedding有两个 ...

  6. TensorFlow tf.keras.layers.Embedding

    参数 参数 描述 input_dim 词汇表的维度(总共有多少个不相同的词) output_dim 嵌入词空间的维度 input_length 输入语句的长度 embeddings_initializ ...

  7. Tensorflow.keras.layers各种层的学习笔记

    目录 karas简介 一. 输入层keras.layers.Input 二. 嵌入层keras.layers.Embedding 三. Lambda层keras.layers.Lamda karas简 ...

  8. 在Keras的Embedding层中使用预训练的word2vec词向量

    文章目录 1 准备工作 1.1 什么是词向量? 1.2 获取词向量 2 转化词向量为keras所需格式 2.1 获取所有词语word和词向量 2.2 构造"词语-词向量"字典 2. ...

  9. 深入浅出TensorFlow2函数——tf.keras.layers.Embedding

    分类目录:<深入浅出TensorFlow2函数>总目录 语法 tf.keras.layers.Embedding(input_dim, output_dim, embeddings_ini ...

最新文章

  1. 腾讯云的ubuntu虚拟主机上再安装VirtualBox遇到的一些错误
  2. centos安装多个tomcat
  3. C语言课后习题(2)
  4. python对象特性教学_Python三个面向对象特性多态性的实用解释,实践,解读,丨,三大,特征,之...
  5. flir红外数据集_FLIR联合Foresight推广长波红外+可见光四摄视觉系统
  6. C#内存共享通讯示例
  7. 微电网逆变器VF控制simulink仿真模型。 采用解耦的电压电流双闭环控制, 输出电压电流波形质量良好
  8. 编译ffmpeg安卓库(clang篇),含armeabi-v7a , arm64-v8a, x86, x86_64
  9. 贪吃蛇代码 (登录可全部复制)
  10. Dell Windows 10中Outlook无法发邮件的问题排查思路
  11. 我要继续坚持梦想,把我的demo变成产品!
  12. 城市售票网关于使用selenium撞库的一点心得,可以在抢票时间卡进去
  13. C# 使用SQLite 错误 - 试图加载格式不正确的程序
  14. java棒棒糖和皮卡丘八音盒_如何比别人抢先一步买到肯德基的皮卡丘八音盒?我有两个小建议...
  15. 【微信小程序】WXML WXSS JS
  16. blend2d + MFC
  17. Android Studio 关于TextToSpeech Speak失败
  18. SSE(Server-sent Events)实现Web消息推送(SpringBoot)
  19. dart pub私有仓库搭建、私有仓库上传方法、上传工具定制
  20. Arduino- GY30光线传感器实验(检测光照强度)

热门文章

  1. 微信小程序我在校园打卡微信小程序设计与实现(含论文)
  2. QEMU System环境
  3. 2021年Android春招面试经历,大厂内部资料
  4. 模板引擎FreeMarker的介绍和使用
  5. VTP协议与配置(理论)
  6. oracle adg 人工干预,ORACLE 12C ADG 之十四 (ADG PDB级闪回(Flashback PDB))
  7. 对于对数变换(log transform)的一些理解
  8. 微软官方补丁6B BUG造成WIN7系统蓝屏解决方案
  9. Linux Shell 脚本编程 入门
  10. 反微软缴文-看到它,我决定学习、使用Linux