Embedding

对于Embedding的理解

相对于one-hot编码来说,Embedding的主要作用是降维,减少计算量

相同点

one-hot编码和Embedding的主要作用均是对一组特征进行转换,使其每个特征都转换为向量,便于计算

例子

对于输入的同一组特征[0,1,0,2,1,3,4],one-hot编码的维度与特征的类别数保持一致,而Embedding的维度可以自己设置,本文设置为2。
代码:
from keras.models import Sequential
from keras.layers import Embedding, Input
import numpy as np
model = Sequential()
model.add(Embedding(5, 2, input_length=7))#输入维,输出维
model.compile(‘rmsprop’, ‘mse’)
model.summary()
input_array = np.array([[0,1,0,2,1,3,4]])
output_array_e = model.predict(input_array)

from keras.utils import np_utils
output_array_o = np_utils.to_categorical(input_array)
分析:
one-hot编码的输出为output_array_o,长这个样子:Embedding_第1张图片
Embedding的输出为output_array_e,长这个样子:
Embedding_第2张图片
欢迎各位大佬指教。

你可能感兴趣的:(Embedding,深度学习,数据处理,one-hot)