社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

传统机器学习和前沿深度学习推荐模型演化关系

小小挖掘机 • 3 年前 • 463 次点击  

本文来自王喆老师《深度学习推荐系统》一书,如果有一定的推荐系统基础的话,建议读一读,当然如果只是初学者的话还是建议从基础的开始学起,比如《推荐系统开发实战》。

传统机器学习推荐模型演化

传统机器学习推荐模型演化

简单讲,传统推荐模型的发展主要由以下几部分组成

协同过滤算法族

即上图中蓝色部分,协同过滤是推荐系统的首选模型,从物品相似度和用户相似角度出发,衍生出了ItemCF和UserCF两种算法。为了使协同过滤衍生出矩阵分解模型(Matrix Factorization,MF),并发展出矩阵分解的各分支模型。

逻辑回归模型族

协同过滤仅利用用户和物品之间显式或者隐式反馈信息,逻辑回归能够利用和融合更多用户、物品和上下文特征。从LR模型衍生出的各种模型同样“枝繁叶茂”,包括增强了非线性能力的大规模分片线性模型(Large Scale Piece-wise Linear Model,LS-PLM),由逻辑回归发展出来的FM模型,以及与多种不同模型配合使用后的组合模型等。

LS-PLM模型是阿里巴巴曾经使用的主流推荐模型,本质上,LS-PLM可以看作是对逻辑回归的自然推广,他在逻辑回归的基础上采用了分而治之的思路,先对样本进行分片,而在样本分片中应用逻辑回归进行CTR预估。

比如在电商领域要预估女性受众点击女装广告的CTR,那么显然我们不希望把男性用户点击数码类的样本数据也考虑进来,因为这些样本不仅与我们要训练的模型目标无关,甚至会在模型训练过程中扰乱相关特征的权重,为了让CTR模型对不同用户群体、不同使用场景更加具有针对性,其采用的方法是先对全量样本进行聚类,再对每个分类实施逻辑回归进行CTR预估。LS-PLM的思路就来自于此。

LS-PLM的数学形式为:

首先用聚类函数对样本进行分类(这里的采用了softmax函数对样本进行多分类),再用LR模型计算样本在分片中具体的CTR,然后将二者相乘后求和。

其中超参数 “分片数” 可以较好的平衡模型的拟合和推广能力。时,LS-PLM退化为LR,越大,模型的拟合能力越强。阿里给出的的经验值为12。

因子分解机模型族

因子分解机模型在传统的逻辑回归的基础上,加入了二阶部分,使模型具备了进行特征组合的能力,更进一步,在因子分解机基础上发展出来的域感知因子分解机(Field-aware Factorization Machine,FFM)则通过加入特征域的概念,进一步加强了因子分解机特征交叉的能力。

组合模型

为了融合多个模型的优点,将不同模型组合使用时构建推荐模型常用的方法,Fackbook提出的GBDT+LR组合模型是业界影响力较大的组合方式,此外,组合模型体现出的特征工程模型化的思路,也成为了深度学习推荐模型的引子和核心思想之一。

前沿深度学习推荐模型演化

前沿深度学习推荐模型演化

改变神经网络的复杂程度

从最简单的单层神经网络模型(AutoRec),到经典的深度神经网络结构(Deep Crossing),其主要的进化方式在于---增加了深度神经网络的层数和结构复杂度。

改变特征交叉方式

这类模型的主要改变在于丰富了深度学习网络中的特征交叉的方式。例如,改变了用户向量和物品向量互操作方式的NCF(Neural Collaborative Filtering,神经网络协同过滤),定义了多种特征向量交叉操作的PNN(Product-based Neural Network,基于积操作的神经网络)模型。

组合模型

这类模型主要是指Wide&Deep模型及其后续变种等,其思路是通过组合两种不同特点、优势互补的深度学习网络,提升模型的综合能力。

FM模型的深度学习演化版本

传统推荐模型FM在深度学习时代有了诸多后续版本,其中包括NFM(Neural Factorization Machine,神经网络因子分解机),FNN(Factorization-machine supported network,基于因子分解机支持的神经网络),AFM(Attention neural Factorization Machine,注意力因子分解机)等,他们对FM的改进方向各不相同。例如NFM模型主要使用神经网络提升FM二阶部分的特征交叉能力,AFM是引入了注意力机制的FM模型,FNN利用FM的结果进行网络初始化。

注意力机制与推荐模型的结合

这类模型主要是将注意力机制应用于深度学习推荐模型中,主要包括了FM与注意力机制的AFM和引入了注意力机制的CTR预估模型DIN(Deep Interest Network,深度兴趣网络)

序列模型与推荐模型的结合

这类模型的特点是使用序列模型模拟用户行为和用户兴趣的演化趋势,代表模型是DIEN(Deep Interest Evolution Network,深度兴趣进化网络)

强化学习与推荐模型的结合

这类模型将强化学习应用与推荐领域,签到模型的在线学习和实时更新,其代表模型是DRN(Deep Reinforcement Laearning Network,深度强化学习网络)。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/70873
 
463 次点击