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

    浏览量

    14793
  • 协同过滤
    +关注

    关注

    0

    文章

    45

    浏览量

    10168
  • 矩阵分解
    +关注

    关注

    1

    文章

    13

    浏览量

    3785

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    MOSFET管开关电路基本知识总结

    总结以上知识,在选MOSFET开关时,首先选MOS管的VDS电压,和其VGS开启电压,再就是ID电流值是否满足系统需要,然后再考虑封装了,功耗了,价格了之类次要一些的因素了,以上是用P沟道MOS管做的例子,N沟道的其实也是基本上
    的头像 发表于 04-20 11:26 139次阅读
    MOSFET管开关电路基本<b class='flag-5'>知识</b><b class='flag-5'>总结</b>

    锂电企业必看!如何通过知识驱动的具身智能工业机器人实现物流“零事故、零延误”停靠

    本文聚焦锂电车间复杂环境下的物流机器人作业难题,系统分析了自动避障与精准停靠的技术瓶颈。结合富唯智能知识驱动技术框架,深入探讨具身智能工业机器人如何通过3D视觉感知与AI决策
    的头像 发表于 03-25 17:15 448次阅读

    算法工程师需要具备哪些技能?

    算法工程师需要掌握一系列跨学科的技能,涵盖数学基础、编程能力、算法理论、工程实践以及业务理解等多个方面。 以下是具体技能及学习建议: 线性代数核心内容:矩阵运算、特征值分解、向量空间等。应用场
    发表于 02-27 10:53

    穿孔机顶头检测仪 机器视觉深度学习

    LX01Z-DG626穿孔机顶头检测仪采用深度学习技术,能够实现顶头状态的在线实时检测,顶头丢失报警,顶头异常状态报警等功能,响应迅速,异常状态视频回溯,检测顶头温度,配备吹扫清洁系统,维护周期长
    发表于 12-22 14:33

    量子机器学习入门:三种数据编码方法对比与应用

    在传统机器学习中数据编码确实相对直观:独热编码处理类别变量,标准化调整数值范围,然后直接输入模型训练。整个过程更像是数据清洗,而非核心算法组件。量子机器
    的头像 发表于 09-15 10:27 934次阅读
    量子<b class='flag-5'>机器</b><b class='flag-5'>学习</b>入门:三种数据编码方法对比与应用

    AI 驱动三维逆向:点云降噪算法工具与机器学习建模能力的前沿应用

    在三维逆向工程领域,传统方法在处理复杂数据和构建高精度模型时面临诸多挑战。随着人工智能(AI)技术的发展,点云降噪算法工具与机器学习建模能力的应用,为三维逆向工程带来了创新性解决方案,显著提升
    的头像 发表于 08-20 10:00 845次阅读
    AI 驱动三维逆向:点云降噪<b class='flag-5'>算法</b>工具与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>建模能力的前沿应用

    PID控制算法学习笔记资料

    用于新手学习PID控制算法
    发表于 08-12 16:22 7次下载

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文中,我们将介绍
    发表于 07-31 11:38

    FPGA在机器学习中的具体应用

    ,越来越多地被应用于机器学习任务中。本文将探讨 FPGA 在机器学习中的应用,特别是在加速神经网络推理、优化算法和提升处理效率方面的优势。
    的头像 发表于 07-16 15:34 3069次阅读

    机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统

    本文转自:DeepHubIMBA无监督异常检测作为机器学习领域的重要分支,专门用于在缺乏标记数据的环境中识别异常事件。本文深入探讨异常检测技术的理论基础与实践应用,通过IsolationForest
    的头像 发表于 06-24 11:40 1588次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>异常检测实战:用Isolation Forest快速构建无标签异常检测<b class='flag-5'>系统</b>

    使用MATLAB进行无监督学习

    无监督学习是一种根据未标注数据进行推断的机器学习方法。无监督学习旨在识别数据中隐藏的模式和关系,无需任何监督或关于结果的先验知识
    的头像 发表于 05-16 14:48 1582次阅读
    使用MATLAB进行无监督<b class='flag-5'>学习</b>

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    学习建议 对于初学者,建议先通过仿真(如Gazebo)验证算法,再迁移到真实机器人,以降低硬件调试成本。 多参与开源社区(如ROS2的GitHub项目),学习前沿技术并贡献代码
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    、软件开发、系统集成等环节,让读者能够全面了解一个完整的机器人应用开发过程。 实践项目:除了案例分析,书中还设计了一些实践项目,供读者进行动手实践。这些实践项目涵盖了从简单的传感器数据处理到复杂的多机器
    发表于 04-27 11:24

    机器人主控芯片平台有哪些 机器人主控芯片一文搞懂

    AI芯片在人形机器人中的应用越来越广泛。这些AI芯片专门设计用于执行人工智能算法,如深度学习机器学习等。
    的头像 发表于 04-25 16:26 8294次阅读
    <b class='flag-5'>机器</b>人主控芯片平台有哪些  <b class='flag-5'>机器</b>人主控芯片一文搞懂

    复合机器人为什么要使用单点纠偏算法

    复合机器人单点纠偏算法
    的头像 发表于 04-20 14:59 858次阅读
    复合<b class='flag-5'>机器</b>人为什么要使用单点纠偏<b class='flag-5'>算法</b>?