12.5 其他应用
在本节中,我们介绍深度学习一些其他类型的应用,它们与上面讨论的标准对
象识别、语音识别和自然语言处理任务不同。本书的第三部分将扩大这个范围,甚
至进一步扩展到仍是目前主要研究领域的任务。
12.5.1 推荐系统
信息技术部门中机器学习的主要应用之一是向潜在用户或客户推荐项目。这可
以分为两种主要的应用:在线广告和项目建议(通常这些建议的目的仍然是为了销
售产品)。两者都依赖于预测用户和项目之间的关联,一旦向该用户展示了广告或推
荐了该产品,推荐系统要么预测一些行为的概率(用户购买产品或该行为的一些代
替)或预期增益(其可取决于产品的价值)。目前,互联网的资金主要来自于各种形
式的在线广告。经济的主要部分依靠网上购物。包括 Amazon 和 eBay 在内的公司
都使用了机器学习(包括深度学习)推荐他们的产品。有时,项目不是实际出售的
产品。如选择在社交网络新闻信息流上显示的帖子、推荐观看的电影、推荐笑话、推
荐专家建议、匹配视频游戏的玩家或匹配约会的人。
通常,这种关联问题可以作为监督学习问题来处理:给出一些关于项目和关于
用户的信息,预测感兴趣的行为(用户点击广告、输入评级、点击 ‘‘喜欢’’ 按钮、购
买产品,在产品上花钱、花时间访问产品页面等)。通常这 终会归结到回归问题
(预测一些条件期望值)或概率分类问题(预测一些离散事件的条件概率)。
早期推荐系统的工作依赖于这些预测输入的 小信息:用户 ID 和项目 ID。在
这种情况下,唯一的泛化方式依赖于不同用户或不同项目的目标变量值之间的模式
相似性。假设用户 1 和用户 2 都喜欢项目 A,B 和 C. 由此,我们可以推断出用户
1 和用户 2 具有类似的口味。如果用户 1 喜欢项目 D,那么这可以强烈提示用户 2
也喜欢 D。基于此原理的算法称为协同过滤(collaborative filtering)。非参数方法
(例如基于估计偏好模式之间相似性的 近邻方法)和参数方法都可能用来解决这个
问题。参数方法通常依赖于为每个用户和每个项目学习分布式表示(也称为嵌入)。
目标变量的双线性预测(例如评级)是一种简单的参数方法,这种方法非常成功,通
常被认为是 先进系统的组成部分。通过用户嵌入和项目嵌入之间的点积(可能需
要使用仅依赖于用户 ID 或项目 ID 的常数来校正)获得预测。令 ˆ 是包含我们预
测的矩阵, 矩阵行中是用户嵌入, 矩阵列中具有项目嵌入。令 和 是分别包