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]

  • 相关阅读:
    Leetcode 349. Intersection of Two Arrays
    hdu 1016 Prime Ring Problem
    map 树木品种
    油田合并
    函数学习
    Leetcode 103. Binary Tree Zigzag Level Order Traversal
    Leetcode 102. Binary Tree Level Order Traversal
    Leetcode 101. Symmetric Tree
    poj 2524 Ubiquitous Religions(宗教信仰)
    pat 1009. 说反话 (20)
  • 原文地址:https://www.cnblogs.com/redheat/p/9362056.html
Copyright © 2011-2022 走看看