算法 自动采集列表(用技术力量探索行为密码,让大数据助跑每一个人)

优采云 发布时间: 2021-10-20 07:02

  算法 自动采集列表(用技术力量探索行为密码,让大数据助跑每一个人)

  作者是一个痴迷于挖掘数据价值的学习者。希望在日常工作学习中挖掘数据的价值,发现数据的奥秘。笔者认为,数据的价值不仅体现在企业中,也可以体现在个人身上。发挥数据的魅力,用技术力量探索行为密码,让大数据帮助大家。欢迎关注我的公众号,一起探讨数据中的趣事。

  我的公众号是:livandata

  

  推荐算法的内容比较多。本文首先介绍一些常用的知识点。随着学习的深入,作者会增加新的内容。

  笔者理解,基于协同过滤的推荐是一种基于内容推荐的推广。模型的构建主要需要考虑几个问题:

  1)如何计算用户对商品的偏好并形成UV矩阵;

  2)计算items和users的相似度主要有两种方法:

  它的一、根据用户属性计算UU和VV的相似度;

  它的二、根据用户对产品的偏好计算U和V的相似度;

  在此期间,需要确定U的对应属性和V的对应属性,并利用这些来了解用户与用户、产品与产品之间的相似性。这主要是基于内容推荐的一些思路。型号推荐;

  在基于协同过滤的推荐过程中,需要使用UV矩阵中的用户偏好,即根据用户偏好计算用户或产品之间的相似度,计算方法有欧式距离、皮尔逊系数等方法;

  在推荐算法的应用过程中需要考虑的一些因素是:

  1)如何推荐大单小频的商品;

  2)如何推荐小众高频产品;

  3)如何推荐热门产品;

  4)如何推荐长尾产品;

  ...

  推荐算法的应用领域非常广泛,涉及协作、内容等常用算法,以及机器学习中常用的聚类、分类等算法。将用户和产品分开,然后根据用户和同类别产品的交互程度推荐与同类别其他用户相关的产品。

  

  现阶段比较流行的基础推荐算法主要有以下几类:

  1、 基于内容的推荐:

  它是推荐引擎出现之初应用最广泛的推荐机制。它的核心思想是根据推荐的物品或内容的元数据发现物品或内容的相关性,然后根据用户过去的偏好记录向用户推荐相似的物品。图3展示了基于内容推荐的基本原理。

  图1. 基于内容推荐机制的基本原理

  

  图1展示了一个基于内容推荐的典型例子,一个电影推荐系统。首先,我们需要对电影的元数据进行建模。这里我们只简单描述电影的类型;那么我们就可以通过电影的元数据找出来。电影之间的相似性,因为类型都是“爱情,浪漫”。电影A和C被认为是相似的电影(当然,获得更好的推荐还不够,我们也可以考虑电影的导演、演员等);最后,建议得到执行。对于用户A,他喜欢看电影A,那么系统可以向他推荐类似的电影C。

  这种基于内容的推荐机制的优点是可以很好地模拟用户的口味,提供更准确的推荐。但它也存在以下问题:

  1) 文章需要分析建模,推荐质量取决于文章模型的完整性和综合性。在目前的应用中,我们可以观察到关键词和标签(Tag)被认为是一种简单有效的描述item元数据的方式。

  2) 物品相似度的分析只依赖物品本身的特征,这里不考虑人们对物品的态度。

  3)由于需要根据用户过去的偏好历史进行推荐,所以对于新用户存在“冷启动”问题。

  虽然这种方法有很多缺点和问题,但它已经成功地应用于一些电影、音乐和书籍的社交网站。一些网站还邀请专业人员在报告中对项目进行基因编码,例如 Pandora。在 Pandora 的推荐引擎中,每首歌曲都有 100 多个元数据特征,包括歌曲风格、年份、歌手等。

  2、基于协同过滤的推荐:

  随着Web2.0的发展,网站促进了用户参与和用户贡献。因此,基于协同过滤的推荐机制应运而生。它的原理很简单,就是根据用户对物品或信息的偏好,找到物品或内容本身的相关性,或者找到用户的相关性,然后根据这些相关性进行推荐。基于协同过滤的推荐可以分为三个子类别:基于用户的推荐、基于物品的推荐和基于模型的推荐。下面我们将一一详细介绍三种协同过滤推荐机制。

  1)基于用户的协同过滤推荐

  基于用户的协同过滤推荐的基本原理是根据所有用户对物品或信息的偏好,找到与当前用户的口味和偏好相似的“邻居”用户群。在一般应用中,“K-nei*敏*感*词*ors”的计算使用算法;然后,根据这K个邻居的历史偏好信息,为当前用户做推荐。下面的图 2 显示了原理图。

  图2. 基于用户的协同过滤推荐机制基本原理

  

  上图说明了基于用户的协同过滤推荐机制的基本原理。假设用户A喜欢物品A,物品C,用户B喜欢物品B,用户C喜欢物品A,物品C和物品D;从这些用户的历史偏好信息中,我们可以发现用户A和用户C的品味和偏好比较相似,并且用户C也喜欢项目D,那么我们可以推断用户A可能也喜欢项目D,所以项目 D 可以推荐给用户 A。

  基于用户的协同过滤推荐机制和基于人口统计的推荐机制都计算用户的相似度,也计算基于“邻居”用户群的推荐,但两者的区别在于如何计算用户的相似度,基于人口统计机制只考虑用户自身的特征,而基于用户的协同过滤机制则根据用户的历史偏好数据计算用户的相似度。它的基本假设是喜欢相似物品的用户可能具有相同或相似的品味和偏好。

  2)基于项目的协同过滤推荐

  基于项目的协同过滤推荐的基本原理类似,只不过它是利用所有用户对项目或信息的偏好来寻找项目和项目之间的相似性,然后根据用户的历史偏好信息向用户推荐相似的项目。对于用户来说,图5很好地说明了它的基本原理。

  假设用户A喜欢物品A和物品C,用户B喜欢物品A,物品B和物品C,用户C喜欢物品A,从这些用户的历史偏好可以分析出物品A和物品C是相似的并且喜欢物品A的人喜欢物品C。根据这个数据可以推断用户C很可能也喜欢物品C,所以系统会向用户C推荐物品C。

  与上述类似,基于项目的协同过滤推荐和基于内容的推荐实际上都是基于项目相似度预测推荐,只是相似度计算方法不同。前者是从用户的历史偏好中推断出来的,而后者则是基于物品。其自身的属性特征信息。

  图3. 基于项目的协同过滤推荐机制基本原理

  

  同时,如何在基于用户和基于项目的协同过滤策略之间进行选择?事实上,基于物品的协同过滤推荐机制是亚马逊在基于用户的机制上改进的一种策略,因为在大多数网站中,物品的数量远小于用户的数量,物品的数量是相似度比较稳定,基于项目的机制比基于用户的实时性能要好。但并非在所有场景中都是如此。可以想象,在一些新闻推荐系统中,也许items的数量,即新闻的数量可能大于用户的数量,而且新闻更新的程度也很快,所以它的相似度还是有的不稳定。因此,事实上,

  3)基于模型的协同过滤推荐

  基于模型的协同过滤推荐是根据样本的用户偏好信息训练推荐模型,然后根据实时用户的偏好信息进行预测计算推荐。

  基于协同过滤的推荐机制是当今应用最广泛的推荐机制。它具有以下显着优点:

  而且它还存在以下问题:

  3、协同过滤的主要步骤是:

  1)采集用户偏好

  需要从用户的行为和偏好中找出规律,并在此基础上给出建议。如何采集用户的偏好信息成为系统推荐效果最基本的决定因素。用户可以通过多种方式向系统提供自己的偏好信息,不同的应用程序可能会有很大差异。以下是示例:

  上面列出的用户行为比较笼统,推荐引擎设计者可以根据自己应用的特点添加特殊的用户行为,用它们来表达用户对物品的偏好。在一般的应用中,我们一般提取不止一种用户行为。基本上有两种方法可以组合这些不同的用户行为:

  一般可以分为“查看”和“购买”等,然后根据不同的行为计算不同用户/物品的相似度。类似于当当网或者亚马逊的“买书的人也买了……”、“看过书的人也看过……”

  根据用户偏好的程度对不同的行为进行加权,得到用户对物品的整体偏好。一般来说,显式用户反馈比隐式权重大,但比较稀疏。毕竟,只有少数用户执行显示反馈。同时,相比“浏览”,“购买”行为在更大程度上反映了用户的偏好,但这也因应用而异。

  在采集到用户行为数据之后,我们还需要对数据进行预处理。核心工作是:降噪和归一化。

  用户行为数据是在用户使用应用程序的过程中产生的。可能会有很多噪音和用户误操作。我们可以通过经典的数据挖掘算法过滤掉行为数据中的噪声,这可以让我们的分析更加准确。

  如前所述,在计算用户对物品的偏好时,可能需要对不同的行为数据进行加权。但是,可以想象,不同行为的数据值可能会有很大差异。例如,用户的观看数据必须远大于购买数据。如何统一同一取值范围内各个行为的数据,从而使加权求和得到的整体偏好更加准确,我们需要对其进行归一化。最简单的归一化过程就是将各类数据除以该类别中的最大值,保证归一化后的数据在[0,1]范围内。

  预处理后,可以根据不同应用的行为分析方法选择分组或加权,然后我们就可以得到用户偏好的二维矩阵,一个是用户列表,一个是项目列表,值是用户对item的偏好,一般是[0,1]或[-1,1]的浮点值。

  2)寻找相似的用户或物品

  在对用户行为进行分析得到用户偏好后,我们可以根据用户偏好计算相似的用户和物品,然后根据相似的用户或物品进行推荐。这是两个最典型的 CF 分支:基于用户的 CF 和基于项目的 CF。这两种方法都需要计算相似度。下面我们来看看计算相似度的最基本的方法。

  (1)计算相似度

  关于相似度的计算,现有的几种基本方法都是基于向量的。事实上,他们正在计算两个向量之间的距离。距离越近,相似度越大。在推荐场景中,在user-item偏好的二维矩阵中,我们可以将一个用户对所有item的偏好作为向量来计算用户之间的相似度,或者将所有用户对某个item的偏好作为一个向量来计算计算物品之间的相似度。下面我们详细介绍几种常用的相似度计算方法:

  

  (2) 计算相似邻居

  介绍完相似度的计算方法后,我们再来看看如何根据相似度找到users-items的邻居。常用的邻域选择原则可以分为两类: 图1是二维平面空间上点集的*敏*感*词*。

  

  不考虑邻居的“距离”,只取最近的 K 作为它的邻居。如图1中A所示,假设我们要计算点1的5个邻居,那么根据点之间的距离,我们取最近的5个点,分别是点2、点3、点4、点7和第5点。但显然我们可以看到这种方法对于计算孤立点并不有效,因为它需要固定数量的邻居。当它附近没有足够的相似点时,它就被迫取一些不太相似的点。作为邻居,这会影响邻居之间的相似程度。例如,在图 1 中,点 1 和点 5 不是很相似。

  与计算固定数量邻居的原理不同,基于相似度阈值的邻居计算是将邻居的距离限制为最大值。以当前点为中心,距离为K的区域内的所有点都视为当前点。邻居。这种方法计算出的邻居数是不确定的,但相似度不会有很大的误差。如图1,B,从点1开始,计算相似度在K以内的邻居,得到点2、点3、点4、点7。这种方法计算出的邻居相似度优于前一个。,尤其是离群值的处理。

  3)计​​算建议

  经过初步计算,得到了相邻用户和相邻物品。下面介绍如何根据这些信息为用户进行推荐。

  基于用户的CF的基本思想很简单。它根据用户对物品的偏好寻找邻居用户,然后将邻居用户的采集推荐给当前用户。在计算中,将用户对所有物品的偏好作为向量来计算用户之间的相似度。找到K个邻居后,根据邻居的相似权重和他们对物品的偏好,预测当前用户没有偏好且不涉及物品,计算得到一个排序的物品列表作为推荐。图 2 显示了一个示例。对于用户A,根据用户的历史偏好,这里只计算一个邻居用户C,然后将用户C喜欢的项目D推荐给用户A。

  

  item-based CF的原理和user-based CF类似,只是在计算邻居的时候使用的是item本身,而不是从用户的角度,即根据用户对item的偏好寻找相似的item,然后推荐相似物品根据用户对他的物品的历史偏好。从计算的角度来看,将所有用户对一个物品的偏好作为一个向量来计算物品之间的相似度。获得物品的相似物品后,根据用户的历史偏好预测当前用户没有具有偏好的物品。排序项目的列表被计算为推荐。图 3 显示了一个示例。对于物品A,根据所有用户的历史偏好,喜欢物品A的用户喜欢物品C,

  

  目前我们得到的数据如下:我们需要为P5推荐三部电影中的一部。有两种方法:直接推荐和加权排名推荐。

  

  直接推荐:如果我们需要为用户P5推荐电影,首先我们检查相似度列表,发*敏*感*词*刚这两个数据。

  加权排名推荐:我们根据不同用户之间的相似度对不同产品的评分进行加权。根据加权结果对产品进行排序,然后推荐给用户P5。这样,用户P5得到了更好的推荐结果。

  

  在上述计算结果中,我们按照(变形金刚-环太平洋-神奇快车)的顺序向用户P5推荐结果。

  以上是基于用户的协同过滤算法。该算法依赖于用户的历史行为数据来计算相关性。换句话说,必须有一定的数据积累(冷启动问题)。对于新的网站或者数据较少的网站,还有一种基于item-based协同过滤算法的方法。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线