读书笔记:推荐系统与深度学习-第五章-混合推荐系统

1 什么是混合推荐系统

目前介绍的算法各有利弊:

  • 基于内容的推荐方法:一类item的特征描述
  • 协同过滤:利用user和item的特定类型的信息转化生成推荐结果
  • 社交网络的推荐算法:根据user的相互影响关系进行推荐
    所以,希望构建一种混合的推荐系统,结合不同算法的有点,克服缺陷,以提高推荐系统的可用性

1.1 混合推荐系统的意义

1.1.1 海量数据推荐

海量数据推荐系统通常是三个部分构成的:在线系统、近线系统和离线系统。
在这里插入图片描述

  • 离线系统是传统的个性化推荐系统的主体,定期利用大量历史操作日志进行批处理运算,然后进行特征构造及选取, 最终建立模型并更新。
  • 近线系统是将用户产生的事件,利用流式计算得到中间结果,这些中间结果一方面发送给在线部分用于实时更新推荐模型, 另一方面将中间结果存储起来作为备份。
  • 在线部分利用离线部分的主体模型并考虑近线部分的实时数据对模型进行增量更新,然后得到实时的推荐模型,进而根据用户的行为来对用户进行实时推荐。
1.1.2 高质量推荐

为了提升推荐系统的推荐精度以及推荐多样性,工业上会对推荐系统进行特征、模型等多层面的融合来构建混合推荐系统。

1.2 混合推荐系统的算法分类

  • 加权型混合推荐:就是将不同算法的推荐结果进行加权总和,生成最终的排序结果。权重可以根据用户的反馈进行调整。缺点是在数据稀疏的时候,相关的推荐方法没有办法获得好的效果。
  • 切换型混合推荐:根据问题的背景和实际情况在使用不同的推荐技术
  • 交叉型混合推荐:将不同推荐算法的生产结果,按照一定的配比融合在一起,打包后集中呈献给用户。主要可能存在的问题是结果组合时的冲突解决问题。
  • 特征组合型混合推荐:将不同推荐数据源的特征组合,由一种单一的推荐技术使用。
  • 瀑布型混合推荐:采用了过滤的设计思想,把不同的推荐算法看作是不同粒度的过滤器,特别适用于推荐对象与所需推荐的结果数量相差悬殊的时候,一般会把算起来快,区分度低的算法放在前面。
  • 特征递增型混合推荐:将前一个推荐方法的输出作为后一个推荐方法的输入,前者会为后者提供某些特征。
  • 元层次型混合推荐:将不同的推荐模型在模型层面上进行深度的融合

上面的这些混合推荐方式,又可以分为三类:

  • 整体式混合推荐系统:对算法内部进行调整
  • 并行式混合推荐系统:对结果进行调整
  • 流水线式混合推荐系统:利用多个流程顺序产生推荐结果

2 推荐系统特征处理方法

2.1 特征处理方法

2.1.1 数值特征处理

  • 方法一:无量纲处理:
名称python代码计算方法
标准化sklearn.preprocessing.scale x ′ = x − x S x^{'}=\frac {x-x} {S} x=Sxx
最大最小标准化sklearn.preprocessing.MinMaxScale x ′ = x − M i n M a x − M i n x^{'}=\frac {x-Min} {Max-Min} x=MaxMinxMin
二次核sklearn.preprocessing.normalize/
  • 方法二:非线性变化:对数变换,主要的作用是解决随着自变量增加,因变量的方差变大的问题;把非线性转化为线性
  • 方法三:离散化,主要的优点,减少异常值的影响,易于存储,使得模型更稳定
    • 无监督离散化:
      • 等宽度离散方法
      • 等频分箱法:使得分到每个箱中的数据个数是相同的
      • 基于聚类分析的离散化方法:自顶向下的分裂策略和自底向上的合并策略
    • 有监督离散化:基于熵的离散化方法和基于卡方的离散化方法

2.1.2 离散特征处理

  • 方法一:One-Hot编码 sklearn.preprocessing.OneHotEncoder()
  • 方法二:特征哈希
    • 作用:把高维特征向量压缩成低维特征向量
    • 针对特征:如id类型特征
    • 相比embedding方法更加节约资源
  • 方法三:时间特征处理
    在这里插入图片描述

2.2 特征选择方法

2.2.1 单变量特征选择

方法计算介绍优缺点
皮尔森相关系数两个变量之间协方差与标准差的商衡量的是线性相关性,只对线性关系敏感
距离相关系数余弦相似度优点是变量大小不是必须一致的
卡方检验通过观察实际值与理论值的偏差程度/

2.2.2 基于模型的特征选择

  • 逻辑回归和正则化特征选择
方法介绍
L1正则弱特征的系数会变成0,导致学习到的模型稀疏
L2正则使得系数的取值变得平均,是一个更稳定的模型
  • 随机森林特征选择
  • xgboost特征选择
  • 基于深度学习的特征选择

3 常见的预测模型

  • 逻辑回归
  • 支持向量机
  • 梯度提升树

4 排序学习

4.1 基于排序的指标优化

之前的排序是采用均方根作为优化指标,但是发现:

  • 排序问题更关心:头部产品能否预测准确,而不是所有产品能否预测准确
  • 排序问题更关心:所有商品的相对偏序关系,而不是预测值的绝对值的准确。

经典的排序指标

  • MAP(mean reciprocal rank)
  • MRR(mean average precision)
  • NDCG(Normalized Discounted Cumulative Gain)
    D C G @ T = s u m i = 1 T 2 l i − 1 l o g ( 1 − i ) DCG@T=sum_{i=1}^T \frac {2^{l_i}-1} {log(1-i)} DCG@T=sumi=1Tlog(1i)2li1
    其中l是系统给出的前T个商品的评分,分子表示推荐对应的i的收益,坟墓是位置的偏置。计算完了以后需要进行归一化,也就是除以一个理想的最好的DCG的结果

4.2 L2R算法的三种情形

4.2.1 point-wise

  • 基于单个样本的优化
  • 问题:模型的分数是和用户无关的;对头部商品不敏感,无法有效容忍某个用户或者某个商品的偏置

4.2.2 pair-wise

  • 对偏序对的二分类问题
  • 问题:评价指标与损失函数不一致,因为NDGG不是连续的不能直接拿来做损失函数,lambda系列的算法就是为了解决这个问题

4.2.3 list-wise

  • 基于整个排序列表的优化
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
深度学习推荐系统领域有着广泛的应用。下面是一些关于深度学习推荐系统的笔记: 1. 数据表示:深度学习推荐系统通常使用向量表示用户和物品,将它们映射到低维空间中。常见的方法包括使用Embedding层将用户和物品ID转换为密集向量表示。 2. 神经网络模型:深度学习推荐系统使用神经网络模型来学习用户和物品之间的复杂交互关系。常见的模型包括多层感知机(Multi-Layer Perceptron,MLP)、卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(Recurrent Neural Networks,RNN)等。 3. 个性化排序:深度学习推荐系统可以通过学习用户行为数据,预测用户对物品的喜好程度,并根据预测结果对物品进行个性化排序。常见的模型包括基于DNN的排序模型和序列模型,如Wide & Deep模型、DeepFM模型和Transformer模型等。 4. 强化学习:深度学习推荐系统可以与强化学习相结合,通过与环境交互来优化推荐策略。常见的方法包括使用深度Q网络(Deep Q-Network,DQN)和策略梯度方法等。 5. 多任务学习:深度学习推荐系统可以同时处理多个任务,如点击率预测、商品推荐和用户画像等。多任务学习可以通过共享模型参数来提高模型的泛化能力和效果。 6. 可解释性:深度学习模型在推荐系统中通常具有较强的表达能力,但其可解释性较差。为了提高可解释性,可以使用注意力机制、解释性模型和推荐解释等方法。 这些是深度学习推荐系统的一些关键概念和技术。当然,实际应用中需要根据具体问题和数据进行选择和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值