在神经网络下,每个特征都必须是数字。这就意味着在诸如推荐系统之类的领域,我们必须将非数字变量(如项目和用户)转换为数据和向量。
将项目和用户转为数字和向量
这意味着在诸如推荐系统之类的系统,我们必须将非数字变量(如项目和用户)转换为数字和向量。
我们可以尝试通过产品ID来表示项目;然而,神经网络将数字输入视为连续变量。
这就意味着较高的数字大于较低的数字,它还将相似的数字视为相似的项目。
对于年龄这样的字段来说,这个比较合适,但是数字表示类别变量时,这是没有意义的。在嵌入之前,最常用的方法之一是one-hot encoding。
one hot encoding
one-hot encoding是一种常用的表示分类变量的方法,这种无监督技术将单个类别映射到一个向量,并生成二进制表示。
实际过程很简单,我们创建一个大小等于类别数量的向量,所有值设置为0.然后将与给定id或者id关联的行设置1.
但是对于有很多唯一类别的变量,它就会产生无法管理的维数。而embedding就是为了解决这个问题的。
本文暂时没有评论,来添加一个吧(●'◡'●)