机器学习中的 Embedding 和 Encoding
Embedding
Embedding layer 即嵌入层。
具体来说,就是实现两类不同特征的映射。这种映射满足线性空间中的同构。
同构:A、B满足双射,且双射运算 $\sigma$ 满足
即加法和数乘封闭。
Embedding 的实现方法就是对原来的特征向量组进行矩阵乘法来实现降维得到新的特征向量组。
为什么要使用 Embedding
传统的特征编码有两种方法。
一是直接编码:将原特征直接类似哈希的方法表示成数字。
二是 one-hot. 这种方法适于稀疏矩阵运算。
这两种方案都存在表示后数据过大的问题。
Embedding 层的解决办法则是通过矩阵降维来解决数据过大的问题。
当然,Embedding 层也能用于升维。升维的作用是放大某些特征,分开一些 general 的特征,形成一个良好的观测点。
Encoding
就是编码的过程。
将我们输入的初始信息编码成特征向量的网络即 encoder.
相应地,decoder 做的就是将特征向量还原为可直接应用的信息。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ekke の Space!
评论