奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 358 页

PDF 物理页索引 374 · 第10章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
358
PDF 物理页
374(从 0 开始)
章节
第10章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
84fe515faf9b67681cda2c962ca31cff63a339f6bd8945521c644f0547ab07ca

行机器学习变得更加容易。在理想情况下,嵌套可以将语义上相似的不同输入映射到嵌套空间里的邻近处,以此来捕获输入的语义。一个模型学习到的嵌套也可以被其他模型重用。

10.4.1 协同过滤

假设我们是爱奇艺的开发小组,上面有一百万部电影和几十万用户,而且知道每个用户观看过哪些电影。我们的任务很简单:基于观看记录向用户推荐电影。比如,小李观看了一部电影,那么相似的其他电影也是一部值得推荐的好电影。在机器学习中,这叫协同过滤(CollaborativeFiltering),这是一项可以预测用户兴趣(根据很多其他用户的兴趣)的任务。为了解决电影推荐的问题,我们必须首先能够判断哪些电影是相似的。那么,怎么设计电影的相似性呢?比如,是儿童动画片还是适合大人的电影,是否是卖座电影,是否是偏艺术类的电影,等等。如图10-53所示,我们可以将每个电影“嵌入”与用户偏爱相关的维度的空间中。我们将维度接近的电影放在相互邻近的位置,它们都是非常类似的电影。最后,需要很多维度,比如20、50甚至100个维度来进行嵌入。

我们先讨论二维,可以将二维模型画出来(见图10-53),x轴的左侧是比较适合儿童的电影,右侧则是比较适合大人的电影。v轴的顶部是比较卖座的电影,底部则是偏艺术类(不太卖座)的电影。再向这个模型添加一些电影。这时,会看到位置相邻的电影比较类似,而这正是我们想要实现的目标。每部电影在这个二维空间中都只是单个点,我们使用x轴上的一个值和y轴上的一个值来表示这些点。现在可以通过这些点之间的距离来了解电影之间的相似性。显然,二维不足以表达电影与电影之间的相似性,在实际工作中,我们需要在N维空间中建模。比如,选择N个不同的方面,然后可以在N个维度中移动某个电影。使用这种方法将类似电影放在相互邻近的位置。现在,每部电影都只是N维中的一个点,我们能够以N维实值的形式记下每部电影。

在上面的例子中,我们所做的是将这些影片映射到一个嵌套空间,其中每部电影都由一组二维坐标来表示。通常情况下,在学习N维嵌套时,每部影片都由N个实值数字表示,其中每个数字都分别表示在一个维度中的坐标。在上面的示例中,我们为每个维度指定了名称。在学习嵌套时,每个维度的学习跟它们的名字无关。有时我们可以查看嵌套并为维度赋予语义,但有时则无法做到这一点。通常,每个此类维度都称为一个潜在维度(latentdimension),因为它代表的特征没有明确显示在数据中,而是要根据数据推断得出。最终,真正有意义的是嵌套空间中各个影片之间的距离,而不是单个影片在任意指定维度上的坐标。

人工智能与大数据技术导论

358