【推荐解决方案四部曲】请查收——第三部:基于深度学习模型Wide&Deep的推荐

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: Wide&Deep推荐算法出自一篇论文《Wide&Deep Learning for RecommenderSystems》,Wide&Deep由两部分组成,分别是Wide和Deep。先来说wide,表示的是generalized的推荐系统,传统的推荐系统都是通过线性算法基于离散特征来做推荐的。

Wide&Deep推荐算法出自一篇论文《Wide&Deep Learning for RecommenderSystems》,Wide&Deep由两部分组成,分别是Wide和Deep。先来说wide,表示的是generalized的推荐系统,传统的推荐系统都是通过线性算法基于离散特征来做推荐的。

Wide推荐通常是这样的:系统通过获得用户的购物日志数据,包括用户点击哪些商品,购买过哪些商品,然后通过one-hot编码的方式构成离散特征或者通过对业务的理解衍生出一些特征,并进行计算。这种wide推荐方式有非常多的好处,比如对于大规模的稀疏数据有很好的效果,而且模型的解释性很强。

什么叫模型的解释性呢?以逻辑回归为例,每个特征都对应模型中的一个权重值,每个特征的权重值的大小跟这个特征对结果的影响是有关的。那么wide方式同样有很多缺点,比如我们一直强调的,特征衍生需要很多人为操作,需要专家经验,另外这种推荐只对用户操作过的商品有效。

接着讲下deep,这里的deep表示的是通过深度学习学习出来的一些向量,这些向量是隐性特征,往往是没有明确可解释性的。这些向量也可以作为特征的一部分参与到训练中。通过deep方式产生的特征会有以下好处,其一可以拟补人为提取特征造成的人力思考维度的限制,试想下一个人可以轻易的思考出二阶乘法的结果,如果是五阶呢?其二这部分特征是深度学习框架自动生成的,无需人力干预。

image.png

既然Wide和Deep算法各有千秋,那如果可以将两种算法作为组合,那么一定可以生成更有效的推荐场景的模型,本文就介绍如何在PAI-DSW上实现基于Wide&Deep的预测。

一、业务场景描述

本节使用的是PAI-DSW云端深度学习训练平台和PAI-EAS模型服务平台,使用的是一份开源的基于人的各种背景的统计数据,解决的问题是基于人的各种基础数据预测每个人收入是否会超过50K。

本实验的全部代码和数据已经内置于PAI-DSW,只要打开DSW就可以安装下方的教程运行实验。

image.png

二、数据集介绍

数据源:引用UCI开源数据源

https://archive.ics.uci.edu/ml/datasets/Census+Income

具体特征字段如下:

image.png

目标字段:income是否超过50k

三、数据探索流程

首先进入PAI-DSW,找到左侧的Demo文件夹,下载Wide&Deep数据集及代码包。

image.png

1、工程描述

首先看下整个工程,

包含一个census_data文件夹,里面包含一个训练数据和一个测试数据

official文件夹是一个工具包

census_main.py为训练脚本

image.png

2、模型训练

打开一个terminal环境,执行

python census_main.py--export_dir wide_deep_saved_model

wide_deep_saved_model为输出模型所在的文件夹,训练完在文件目录下会找到相应文件,打开后可以看到checkpoint:

image.png

把这个checkpoint的号记住。

3、模型预测

现在已经生成了模型的checkpoint输出,接下来进入terminal,运行以下脚本:

saved_model_cli run --dir wide_deep_saved_model/${模型checkpoint号码}/ --tag_set serve --signature_def="predict" --input_examples='${预测数据}'

根据本文的案例可以执行以下脚本拿到预测结果:

saved_model_cli run --dir wide_deep_saved_model/1542168326/ --tag_set serve --signature_def="predict" --input_examples='examples=[{"age":[46.], "education_num":[10.], "capital_gain":[7688.], "capital_loss":[0.], "hours_per_week":[38.]}, {"age":[24.], "education_num":[13.], "capital_gain":[0.], "capital_loss":[0.], "hours_per_week":[50.]}]'

输入了两条预测数据,最终拿到预测结果:

image.png

输入了两条预测数据,可以得到预测输出,第一条预测结果为1,第二条结果为0,可以通过output key probabilities判断(注:矩阵第一行对应第一个预测结果,第二列0.9599956>第一列0.04000434,所以第一个预测结果是1。同理第二个预测结果是0)。

可以通过代码

official/wide_deep/census_dataset.py来看具体的特征工程的特征和目标值的构建,目标列>50k时目标值为1,目标列<50k时目标值为0。

于是预测结果第一条的人的预测收入为>50k,预测结果第二条的人的预测收入<50k。

4、模型在线部署

生成的模型是Tensorflow的标准模型格式,可以通过PAI-EAS将模型部署成Http服务供调用。

后续流程可以参考在线预测文档:

https://help.aliyun.com/document_detail/92917.html

部署成在线服务之后,这样就可以做到模型跟用户自身的业务结合,完成PAI模型训练和业务应用的打通。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
23 0
|
4天前
|
机器学习/深度学习 数据采集 人工智能
提升深度学习模型性能的实用技巧
【5月更文挑战第30天】在深度学习领域,构建一个高性能的模型需要超越直觉和经验。本文将深入探讨一系列实用的技术技巧,用于优化神经网络的训练过程和结构设计,进而提高模型的准确性和效率。我们将从数据预处理、网络结构调整、正则化手段以及超参数调优等方面入手,提供一套系统化的方法论,帮助研究人员和工程师们在面对各种复杂任务时,能够有效地提升其深度学习模型的性能。
|
5天前
|
机器学习/深度学习 人工智能 算法
提升深度学习模型性能的优化技术
【5月更文挑战第29天】 随着人工智能领域的快速发展,尤其是深度学习技术的广泛应用,如何有效提升模型的性能成为了研究热点。本文将探讨几种用于提高深度学习模型性能的优化技术,包括数据增强、正则化方法、网络结构调整以及超参数优化等。通过对比实验和理论分析,展示了这些技术在实际应用中的有效性和局限性,并提出了未来可能的研究方向。
|
5天前
|
机器学习/深度学习 数据采集 传感器
深度学习在图像识别中的应用进展构建高效机器学习模型:从数据预处理到模型优化的洞见
【5月更文挑战第29天】 在人工智能领域,深度学习技术已经成为推动图像识别进步的核心动力。随着卷积神经网络(CNN)的不断发展和优化,以及大数据和计算能力的显著提升,图像识别的准确性和效率得到了极大增强。本文将探讨深度学习技术在图像识别领域的最新应用,分析其关键技术创新点,并讨论未来可能的发展趋势。 【5月更文挑战第29天】 在探索数据科学与机器学习的融合艺术中,本文将引导读者穿越数据处理的迷宫,解锁特征工程的秘密,并最终在模型优化的顶峰俯瞰效率与准确性的壮丽景色。我们将通过一系列经过实战验证的技术感悟,展现如何打造一个既健壮又灵敏的机器学习模型。文章不仅聚焦于技术细节,更注重于概念理解与实
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
基于深度学习的自然语言处理模型优化策略
基于深度学习的自然语言处理模型优化策略
17 0
|
6天前
|
机器学习/深度学习 自然语言处理 数据可视化
揭秘深度学习模型中的“黑箱”:理解与优化网络决策过程
【5月更文挑战第28天】 在深度学习领域,神经网络因其卓越的性能被广泛应用于图像识别、自然语言处理等任务。然而,这些复杂的模型往往被视作“黑箱”,其内部决策过程难以解释。本文将深入探讨深度学习模型的可解释性问题,并提出几种方法来揭示和优化网络的决策机制。我们将从模型可视化、敏感性分析到高级解释框架,一步步剖析模型行为,旨在为研究者提供更透明、可靠的深度学习解决方案。
|
8天前
|
机器学习/深度学习 存储 人工智能
构建高效AI系统:深度学习模型压缩技术
【5月更文挑战第26天】 在资源受限的应用场景中,深度学习模型往往面临存储空间和计算能力的双重挑战。本文针对这一问题,深入探讨了深度学习模型压缩技术,旨在通过降低模型复杂度来优化其性能。文中首先分析了模型压缩的必要性,随后详细介绍了知识蒸馏、网络剪枝、量化等主流压缩方法,并通过实验验证了所提技术的有效性。最后,文章展望了模型压缩领域的未来发展方向,为相关研究提供了新的视角和思路。
|
8天前
|
机器学习/深度学习 数据采集 人工智能
构建高效AI模型:深度学习优化策略和实践
【5月更文挑战第26天】 在人工智能的浪潮中,深度学习作为一项核心技术,其模型构建与优化一直是研究的热点。本文旨在探讨如何通过一系列创新性的优化策略提升深度学习模型的性能及效率。我们将从理论与实践两个维度出发,详细阐述包括数据预处理、网络结构设计、损失函数选择、正则化技巧以及超参数调整等方面的优化措施。通过这些策略的综合运用,可以显著提高模型的准确性,降低过拟合风险,并缩短训练时间,为AI领域的研究者和工程师提供有价值的参考。
|
11天前
|
机器学习/深度学习 自然语言处理 TensorFlow
使用Python实现深度学习模型:注意力机制(Attention)
使用Python实现深度学习模型:注意力机制(Attention)
25 0
使用Python实现深度学习模型:注意力机制(Attention)
|
12天前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络模型的鱼眼镜头中人员检测算法matlab仿真
该内容是一个关于基于YOLOv2的鱼眼镜头人员检测算法的介绍。展示了算法运行的三张效果图,使用的是matlab2022a软件。YOLOv2模型结合鱼眼镜头畸变校正技术,对鱼眼图像中的人员进行准确检测。算法流程包括图像预处理、网络前向传播、边界框预测与分类及后处理。核心程序段加载预训练的YOLOv2检测器,遍历并处理图像,检测到的目标用矩形标注显示。