推荐系统初探(一):推荐系统概述

    最近基于工作要求,对推荐系统进行了学习,在这里记录下来自己的学习心得和学习笔记。

    一、推荐系统意义

        推荐系统在这个时代,已经成为各大互联网公司尤其是电商网站的必备系统。起初,推荐系统的出现是为了应对信息过载的问题,随着互联网的发展,信息量的无限度扩张,对于每个用户的来说,使得有价值信息在大量无用信息中被掩埋的越来越深,如何找到有价值信息变得越来越困难;对于每个信息生产者来说,如何让自己的信息在大量信息中脱颖而出,也变得越来越困难。为了解决这一矛盾,推荐系统应运而生,这也催生了一门新的科学,计算广告学。

   二、推荐系统分类

        对于目前来说,推荐系统不仅是应用热点,也是研究热点。目前在商业领域,有着大量迥异的推荐系统在运作着,同时,在学术圈,又存在着大量形形色色的推荐算法。从应用领域对其分类,可以分为基于电商的推荐系统、基于社交网络的推荐系统、基于搜索引擎的推荐系统等等;从应用的算法来分,又可分为基于协同过滤的推荐系统、基于内容过滤的推荐系统、混合推荐系统;从根据的数据来看,可将其分为基于用户行为的推荐系统、基于用户标签的推荐系统、基于上下文信息的推荐系统等等。

   三、推荐系统评测

        推荐系统的评测方法可以分为三种,离线实验:算法跑数据集;在线实验:AB测;用户调查:调查问卷。推荐系统的评测指标主要有以下几个(妈的考辛斯今天老将底薪去了勇士,伤心):

         1).准确率

        推荐准确是从推荐系统的推荐结果的角度,评价的是推荐系统推荐的物品能否正中用户下怀,也就是说在整个推荐列表中,被用户认为推荐得对的物品所占的比率,即P=A/A+B*100%,这里定义一下,我们将被推荐给用户并且用户满意的物品称作推荐成功的物品,将被推荐给用户但用户不满意的称作推荐失败,那么A代表推荐成功的结果集,B代表推荐失败的结果集。准确率是推荐算法的一个非常重要的度量,并且与推荐算法的性能成正相关,如果准确率能达到很高的一个水平,那么无论对于用户还是对于企业,都会带来很大的效益。

         2).召回率

        推荐召回率是从用户的角度,在所有用户满意的物品中,推荐给用户的物品所占的比率,即R=A/A+C*100%,其中A代表推荐系统的结果集,C代表用户满意的但是推荐系统未推荐的结果集。

        3).覆盖率

        推荐系统有一个非常重要的作用,就是挖掘长尾列表中的需求。覆盖率用来表征一个推荐系统中所包含的物品的类型与所有物品类型的占比。对于一个推荐系统来说,如果只是针对热门物品进行推荐,那么只会加剧马太效应,从而丧失千人千面的能力。对于市场来说,一个企业如何在竞争中脱颖而出,是一直推荐热门物品,还是再所有人都推荐热门物品的时候,充分挖掘长尾物品的需求,从而去汲取那涵盖80%商品的潜在利润呢,覆盖率确实是一个非常重要的指标。

        4).实时性

       实时性也是一个非常重要的评价指标,这个不用多说了。一个好的推荐系统,如果能够根据用户的行为动态响应,实时更新推荐列表,那么它带来的效益肯定会更好。

   四、推荐系统API

       apacheMahout是apache基于hadoop分布式的一个关于机器学习的顶级项目,它提供了许多能够对分布式大数据进行机器学习的API,其中包括推荐系统及其常用的各种算法,如系统过滤,KNN等等,并且实现了推荐系统的评分器,还提供了各种数据模型的操作。mahout作为apache的顶级项目,品质还是有保证的,并且其中所实现的很多算分相对来说都已经比较成熟,通过使用mahout可以为我们节省很多时间,并且通过对mahout源码的阅读,也可以帮助我们对推荐系统所使用的算法有一个更为深刻的了解。     

猜你喜欢

转载自blog.csdn.net/qq_21399231/article/details/80889969