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

    浏览量

    14167
  • 协同过滤
    +关注

    关注

    0

    文章

    45

    浏览量

    9749
  • 矩阵分解
    +关注

    关注

    1

    文章

    13

    浏览量

    3649

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

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

收藏 人收藏

    评论

    相关推荐

    全面总结机器学习中的优化算法

    几乎所有的机器学习算法最后都归结为求一个目标函数的极值,即最优化问题,例如对于有监督学习,我们要找到一个最佳的映射函数f (x),使得对训练样本的损失函数最小化(最小化经验风险或结构风
    发表于 11-02 10:18 269次阅读
    全面<b class='flag-5'>总结</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>中的优化<b class='flag-5'>算法</b>

    机器学习的研究现状和发展趋势 机器学习的常见算法和优缺点

    随着计算能力和大数据的崛起,机器学习算法正迎来快速发展的时期。在研究层面上,机器学习和深度学习
    发表于 08-22 17:49 1911次阅读

    机器学习有哪些算法机器学习分类算法有哪些?机器学习预判有哪些算法

    机器学习有哪些算法机器学习分类算法有哪些?机器
    的头像 发表于 08-17 16:30 1396次阅读

    机器学习是什么意思?机器学习属于什么分支?机器学习有什么用处?

    机器学习是什么意思?机器学习属于什么分支?机器学习是什么有什么用处?
    的头像 发表于 08-17 16:30 1273次阅读

    机器学习vsm算法

    机器学习vsm算法 随着机器学习技术的不断发展,相似性计算是机器
    的头像 发表于 08-17 16:29 577次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器
    的头像 发表于 08-17 16:27 625次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?
    的头像 发表于 08-17 16:11 1074次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器
    的头像 发表于 08-17 16:11 724次阅读

    机器学习算法的5种基本算子

    机器学习算法的5种基本算子 机器学习是一种重要的人工智能技术,它是为了让计算机能够通过数据自主的学习
    的头像 发表于 08-17 16:11 1336次阅读

    智能数字辨识水表-基于机器学习算法

    智智能数字辨识水表-基于机器学习算法
    的头像 发表于 08-10 11:26 399次阅读
    智能数字辨识水表-基于<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>

    创建一个边缘机器学习系统

    本指南适用于系统设计人员,可能使用Arm Flexible access程序。 本指南将帮助您开发可以执行机器学习的片上系统(SoC)在边缘。本指南中介绍的SoC可以处理与
    发表于 08-02 11:02

    基于机器学习算法的校准优化方案

    基于机器学习算法的校准优化方案
    发表于 06-29 12:35 257次阅读
    基于<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>的校准优化方案

    机器学习理论:k近邻算法

    KNN(k-Nearest Neighbors)思想简单,应用的数学知识几乎为0,所以作为机器学习的入门非常实用、可以解释机器学习
    的头像 发表于 06-06 11:15 432次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>理论:k近邻<b class='flag-5'>算法</b>

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

      一、机器学习基础概念   关于数据   机器学习就是喂入算法和数据,让算法从数据中寻找一种相
    的头像 发表于 05-28 11:29 742次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典<b class='flag-5'>算法</b>与应用

    人工智能、算法机器学习辨析

    十分复杂的快速发展领域乱上加乱。现在,就让我们认识一些有关算法、人工智能和机器学习的基础知识,了解它们是什么、如何使用、用在哪里以及分别是为了什么才创造出它们。我们首先从
    的头像 发表于 05-09 10:55 1512次阅读
    人工智能、<b class='flag-5'>算法</b>与<b class='flag-5'>机器</b><b class='flag-5'>学习</b>辨析