zoukankan      html  css  js  c++  java
  • 机器学习基础7--推荐系统

    近十年以来,推荐系统迅猛发展,比如说亚马逊的商品推荐等.而Netflix的比赛,让推荐系统更广为人知.

    在YouTube,每分钟都会有上百个小时的视频汇聚,我们没法把视频一个个的看完,那么哪些视频是我们关心的?这是一个信息过载的例子.

    信息量爆炸所带来的影响非常深远,衍生出了一种个性化思想,连接用户和某一项事物.

    传统的浏览模式成为历史,我们必须寻找一种新的模式.

    推荐系统的例子:

      电影推荐

      商品推荐

      音乐推荐

      用户关系判断(比如微博上的用户之间的关系)

      药物靶相互作用(治疗感冒的药物同时也有治疗头疼的作用)

    构建一个推荐系统:

    1.根据流行度.  
      类似微博的热榜,会展现在用户面前,但是这样的推荐缺乏个性化.至少我就对哪个明星干了啥没什么兴趣.

    2.分类模型

      使用用户的信息,购买历史,商品的信息,以及其他的一些进行,通过一个分类模型,来判断用户是否感兴趣.

      但是这样做同样存在问题,比如说使用的特征可能并不全.

    3.买婴儿尿布的人也会买婴儿湿巾

      这种现象称为同现购买

      我们可以画出一个同现矩阵

    比如说我们要查看婴儿尿布的次数向量.以下对应的数量和品类:

      [0 ... 4 ... 100 ....]

      DVD 奶嘴 湿巾

    对上面的次数进行排序,很明显,湿巾是最多的数量.

    那么我们就推荐湿巾?

    克服流行商品推荐里过强:

      现在我们不买婴儿尿布了,我们买儿童玩具

      [0(DVD) ... 100W(尿布) ... 湿巾 ...]

      很明显,因为尿布的数量巨大,导致只会推荐尿布(尿布数量巨大不是因为买玩具的同时喜欢买尿布,而是因为尿布的需求量确实大).

    同现矩阵规格化:

    Jaccard相似度算法:

      同时购买商品i和j的人数 / 购买了商品i或j的人数

    也有其他的规格化算法,比如余弦相似度.

    但是这个方法也有一定的局限性,比如只会考虑当前的状态,不考虑历史情况.

    另外,如果购买了很多商品怎么办?这需要使用权重系数了.

    冷启动问题:

      这也是一个问题,就是在没有用户数据的情况下,如何进行相似度计算?

    end

    课程:机器学习基础:案例研究(华盛顿大学)

    视频链接: https://www.coursera.org/learn/ml-foundations/supplement/vAjQL/slides-presented-in-this-module

    week5 [Recommender systems,Co-occurrence matrices for collaborative filtering]

  • 相关阅读:
    【linux]】lighttpd的日志格式
    【vi】awk为指定行的指定字段添加一个单词
    【Android】命令行操作-启动应用程序
    CCS设置第一个li的元素与其他li样式不同
    nginx+tomcat 下POST响应参数过大无法显示完整及文件下载服务遇到过大文件无法下载解决办法
    有重复行,查询时只保留最新一行的sql
    Android定时执行和停止某任务
    MySQL每天自动增加分区
    <html:option获取文本值
    easyui datagrid 增删改查示例
  • 原文地址:https://www.cnblogs.com/redheat/p/9362056.html
Copyright © 2011-2022 走看看