推荐系统的学习路程(三)--- 技术点分析

77 阅读2分钟

简介

这一章,我们解释一下这个embedding名词,这个到底是个什么东西,我们现在来学习

方向

embedding方向,我们的目的是如何更好的表示数据,在这里,我们需要理解一个叫做one-hot的东西

One-Hot

背景

在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等。
这些特征值并不是连续的,而是离散的,无序的。通常我们需要对其进行特征数字化。
我们给出三个特征

["male", "female"]  
["from Europe", "from US", "from Asia"]  
["uses Firefox", "uses Chrome", "uses Safari", "uses Internet Explorer"]

如果将上述特征用数字表示,效率会高很多。例如:

["male", "from US", "uses Internet Explorer"] 表示为[0, 1, 3]
["female", "from Asia", "uses Chrome"]表示为[1, 2, 1]

但是,转化为数字表示后,上述数据不能直接用在我们的分类器中。因为,分类器往往默认数据数据是连续的,并且是有序的。但按上述表示的数字并不有序的,而是随机分配的。

One-Hot编码

我们简单来说其实就是用0,1组成的向量 比如说在这么多城市里面我们选中了济南,然后我们用向量表示的话那就是[0,1,0,0,0,0,0,0](举个例子哈),很显然我们确实是不能够通过这些得出什么有用的关键信息,所以我们不会使用onehot进行书写

隐式向量

这个东西在推荐向量里面几乎是无处不在,而且在其他方面同样会使用,比如说,NLP,这个里面有些经典的样例

I thought the movle was incredible and inspiring

我们如果写成向量的话那就是

[41 804 201534 1005 15 7446 5 13767 0 0]

我们经常会使用FM或者是DeepFM,然后我们会在后面的章节中学习

NLP方向

如何基于文本数据来进行推荐
文本处理方法比较多,LDA,词向量,矩阵分解等套路都能用得上
具体这些名词在网上都有解释
主题模型LDA

知识图谱

这个现在非常流行,所以在推荐系统当中是必须要用到这个的