由One Hot 到 Embedding

1 One-hot

One-hot 编码是一种最普通常见的表示离散数据的表示,首先我们计算出需要表示的离散或类别变量的总个数 N,然后对于每个变量,我们就可以用 N-1 个 0 和单个 1 组成的 vector 来表示每个类别。这样做有两个很明显的缺点:

  1. 对于具有非常多类型的类别变量,变换后的向量维数过于巨大,且过于稀疏。
  2. 映射之间完全独立,并不能表示出不同类别之间的关系。

因此,考虑到这两个问题,表示类别变量的理想解决方案则是我们是否可以通过较少的维度表示出每个类别,并且还可以一定的表现出不同类别变量之间的关系,这也就是 embedding 出现的目的。

2 neural network embedding ?

Embedding 是一个将离散变量转为连续向量表示的一个方式。

在神经网络中,embedding 是非常有用的,因为它不光可以减少离散变量的空间维数,同时还可以有意义的表示该变量。

Embedding 主要有以下优点:

  1. 在 embedding 空间中查找最近邻,这可以很好的用于根据用户的兴趣来进行推荐。
  2. 作为监督性学习任务的输入。
  3. 用于可视化不同离散变量之间的关系。

可能到这里大家还不理解——以下举一个例子:

我们可以在维基百科上获取到的所有 37,000 本书,

对于每一篇,仅仅用一个包含 50 个数字的向量表示这本书,

然后Neural Network Embedding。

对于Neural Network Embedding后的结果可以表示成一个包含 50 个数字的向量,对于37,000个向量可以使用余弦相似度表示一些书籍在某些角度是相似的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值