0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

系统机器学习算法总结知识分享

zhKF_jqr_AI 来源:未知 作者:steve 2017-12-15 14:11 次阅读

Statsbot数据科学家Daniil Korbut简明扼要地介绍了用于推荐系统的主流机器学习算法:协同过滤、矩阵分解、聚类、深度学习

现在有许多公司使用大数据来制定高度相关的建议以提高收入。数据科学家需要根据业务的限制和需求,在各种推荐算法中选择最好的算法。

为了简化这一任务,Statsbot团队准备了一份现有主要推荐系统算法的概览。

协同过滤

协同过滤(collaborative filtering, CF)及其改版是最常用的推荐算法之一。 即使是数据科学初学者也可以使用它来构建他们的个人电影推荐系统,比如用它写一个简历项目。

当我们想向用户推荐东西时,最符合逻辑的做法是找到有相似兴趣的人,分析他们的行为,然后给我们的用户推荐相同的东西。 或者我们可以查看与用户之前所购类似的物品,并进行相应的推荐。

这正是CF的两种基本方法:基于用户的协作过滤和基于物品的协作过滤。

在这两种情形下,推荐引擎分两步:

  1. 找出数据库中有多少用户/物品与给定的用户/物品类似。

  2. 评估其他用户/物品,这一评估基于比待评估用户/物品更相似的用户/物品的总权重,以预测给用户推荐相应产品的评分。

算法中的“最相似”是什么意思?

假设我们有一个表示每个用户的偏好的向量(矩阵 R的行)和一个表示用户给每件产品评分的向量(矩阵 R的列)。

首先,让我们去除一些元素,只保留两个向量中值均已知的元素。

例如,如果我们想比较比尔和简,我们可以看到,比尔还没有看过《泰坦尼克号》,而简到现在为止还没看过《蝙蝠侠》,所以我们只能通过《星球大战》来衡量他们的相似性。怎么会有人不看《星球大战》,是吧?:)

最流行的衡量相似性的技术是用户/物品向量之间的余弦相似性或加权平均数。

矩阵分解

下一个有趣的算法是矩阵分解。这是一个非常优雅的推荐算法,因为使用矩阵分解时通常不用考虑要在结果矩阵的列和行中保留的物品。

u是第i个用户的兴趣向量,v是表示第j部电影的参数的向量。因此,我们可以使用u和v的点积来逼近x(第i个用户对第j部电影的评分)。我们使用已知评分来构建这些向量,并使用它们来预测未知评分。

例如,我们有表示用户特德的向量(1.4; .9)和表示电影A的向量(1.4; .8),矩阵分解之后我们可以直接通过计算(1.4; .9)和(1.4; .8)的点积来还原电影A——特德的评分,结果为2.68。

聚类

前面两个推荐算法非常简单,比较适合小型系统。到目前为止,我们将推荐问题看作一个监督学习任务。现在到了应用无监督方法来解决这个问题的时候了。

想象一下,我们正在建立一个大型推荐系统,协同过滤和矩阵分解会花很长时间。这时第一个想到的应该是聚类(clustering)。

根据属于同一聚类的所有客户的偏好,每个聚类会被分配一个典型偏好。每个聚类中的客户将收到在聚类层次计算出的推荐。

业务初期缺乏用户评分,因此聚类会是最佳选择。

不过,单独使用的话,聚类有点弱。因为通过聚类,我们识别出用户群组,然后给同一群组中的每个用户都推荐相同的物品。当我们有足够多的数据的时候,更好的选择是将聚类作为第一步,用来调整相关用户/物品选取,以供协同过滤算法使用。聚类也能提升复杂推荐系统的性能。

深度学习

十年来,神经网络有一个巨大的飞跃。今天,神经网络被应用到许多领域,正逐渐取代传统的机器学习方法。我想谈一下YouTube使用的深度学习方法。

毫无疑问,为这样的服务打造推荐系统是一项非常具有挑战性的任务,因为这一服务的规模很大,语料库是动态的,还有各种难以观察的外部因素。

根据《YouTube推荐系统的深度神经网络》,YouTube推荐系统算法包括两个神经网络:一个用于生成候选视频,另一个用于排名。如果你没有足够的时间阅读上面的论文,我这里有一个快速总结。

接受用户的历史事件作为输入,候选生成网络显著减少了视频的数量,从一个巨大的语料库抽取出一组相关性最高的视频。生成的候选视频是最和用户相关的,我们即将预测用户给候选视频的评分。这个网络的目标只是通过协同过滤来提供一些范围较广的个性化候选视频。

接下来我们需要更仔细地分析这些候选视频,以挑选出其中最好的视频。我们通过评分网络完成这一任务,评分网络可以通过一个期望目标函数给每个视频赋值一个分数,该期望目标函数使用描述视频的数据和有关用户行为的信息。评分最高的那些视频将被推荐给用户。

使用这一两步方法,我们可以基于一个非常巨大的视频语料库推荐视频,同时保证推荐的少量视频是个性化的。这一设计也允许我们混合从其他来源生成的候选视频。

这一推荐任务构成了一个极端多类分类(extreme multiclass classification)问题,基于用户(U)和情境(C)精确地分类在给定时刻t观看(wt)的特定视频,这一视频取自一个语料库(V),总共有数百万的视频类别(i)。

构建你自己的推荐系统

  • 基于大型数据库的在线推荐,最好的办法是将这个问题拆分成两个子问题:1)选择排名最高的N个候选 2)对它们进行评分。

  • 如何评估模型质量?除了标准的质量指标之外,还有一些特别针对推荐问题的指标:Recall at K和Precision at K,Average Recall at K和Average Precision at K。另外可以参考《A Survey of Accuracy Evaluation Metrics of Recommendation Task》(JMLR 10 (2009))

  • 如果使用分类算法解决推荐问题,则应考虑生成负样本。如果用户购买了推荐的物品,不应将其作为正样本,也不应将未购买的推荐物品作为负样本。

  • 基于在线分数和离线分数考量算法质量。 仅使用历史数据的训练模型可能导向简陋的推荐系统,因为该算法不知道新的潮流和偏好。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 聚类
    +关注

    关注

    0

    文章

    146

    浏览量

    14226
  • 协同过滤
    +关注

    关注

    0

    文章

    45

    浏览量

    9794
  • 矩阵分解
    +关注

    关注

    1

    文章

    13

    浏览量

    3681

原文标题:推荐系统机器学习算法概览

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    《具身智能机器系统》第10-13章阅读心得之具身智能机器人计算挑战

    是全书最“硬核”的部分,涉及不少机器人的硬件、系统算法等方面的知识,对于我这个非相关专业的人士,阅读起来还是有些吃力,不过好在这本书也不是讲解特别深入,还是偏向于综述性质的概况
    发表于 01-04 01:15

    华为云 Flexus X 实例部署安装 Jupyter Notebook,学习 AI,机器学习算法

    前言 由于本人最近在学习一些机器算法,AI 算法知识,需要搭建一个学习环境,所以就在最近购买的
    的头像 发表于 01-02 13:43 97次阅读
    华为云 Flexus X 实例部署安装 Jupyter Notebook,<b class='flag-5'>学习</b> AI,<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>

    传统机器学习方法和应用指导

    在上一篇文章中,我们介绍了机器学习的关键概念术语。在本文中,我们会介绍传统机器学习的基础知识和多种算法
    的头像 发表于 12-30 09:16 250次阅读
    传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法和应用指导

    【「具身智能机器系统」阅读体验】1.全书概览与第一章学习

    了解具身智能机器人相关的知识,我感到十分荣幸和幸运。 全书简介 本书以循序渐进的方式展开,通过对具身智能机器人技术的全方位解析,帮助读者系统化地
    发表于 12-27 14:50

    《具身智能机器系统》第7-9章阅读心得之具身智能机器人与大模型

    医疗领域,手术辅助机器人需要毫米级的精确控制,书中有介绍基于视觉伺服的实时控制算法,以及如何利用大模型优化手术路径规划。工业场景中,协作机器人面临的主要挑战是快速适应新工艺流程。具身智能通过在线
    发表于 12-24 15:03

    【「具身智能机器系统」阅读体验】+初品的体验

    学习资源,以培养更多的专业人才。随着具身智能机器人技术对社会的影响越来越大,该书还可以向公众普及相关的知识,以提升社会对新技术的认知和接受度,从而为技术的发展创造良好的社会环境。 随着具身智能
    发表于 12-20 19:17

    《具身智能机器系统》第1-6章阅读心得之具身智能机器系统背景知识与基础模块

    与环境持续互动来优化决策策略。书中还进一步讨论了强化学习的基本原理,包括状态空间、动作空间、奖励函数的设计,以及策略网络的训练方法。 具身智能机器系统是一个多学科知识交叉的复杂工程体
    发表于 12-19 22:26

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度
    的头像 发表于 11-15 09:19 511次阅读

    【「时间序列与机器学习」阅读体验】+ 鸟瞰这本书

    清晰,从时间序列分析的基础理论出发,逐步深入到机器学习算法在时间序列预测中的应用,内容全面,循序渐进。每一章都经过精心设计,对理论知识进行了详细的阐述,对实际案例进行了生动的展示,使读
    发表于 08-12 11:28

    【「时间序列与机器学习」阅读体验】+ 简单建议

    这本书以其系统性的框架和深入浅出的讲解,为读者绘制了一幅时间序列分析与机器学习融合应用的宏伟蓝图。作者不仅扎实地构建了时间序列分析的基础知识,更巧妙地展示了
    发表于 08-12 11:21

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 1134次阅读

    机器学习的经典算法与应用

    关于数据机器学习就是喂入算法和数据,让算法从数据中寻找一种相应的关系。Iris鸢尾花数据集是一个经典数据集,在统计学习
    的头像 发表于 06-27 08:27 1679次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

    名单公布!【书籍评测活动NO.35】如何用「时间序列与机器学习」解锁未来?

    和专业知识,对这一领域进行系统的梳理和总结。然而,将时间序列分析与机器学习技术相结合的书籍却并不多见。 以上正是《时间序列与
    发表于 06-25 15:00

    基于FPGA的常见的图像算法模块总结

    意在给大家补充一下基于FPGA的图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 619次阅读
    基于FPGA的常见的图像<b class='flag-5'>算法</b>模块<b class='flag-5'>总结</b>

    机器学习怎么进入人工智能

    ,人工智能已成为一个热门领域,涉及到多个行业和领域,例如语音识别、机器翻译、图像识别等。 在编程中进行人工智能的关键是使用机器学习算法,这是一类基于样本数据和模型训练来进行预测和判断的
    的头像 发表于 04-04 08:41 345次阅读