Wide&Deep简介
Wide&Deep模型是Wide Models和Deep Models的结合。Wide Models使用的更多的是人工特征以及一些交互特征(主要有稀疏数据产生),具有较多的经验和稀疏数据产生的记忆;Deep Models是对稀疏特征的变换,通过深度神经网络的挖掘,可以得到更多人工构造特征所不能体现的深层信息。两者的结合既加强了模型的记忆,又增强了模型的泛化能力。
解决的问题:
1、Memorization
具有非线性特征变换的广义线性模型被广泛应用于具有稀疏输入的大规模回归和分类问题。 特征交互的记忆 一组广泛的交叉特征转换是有效和可解释的。
2、Generalization
泛化需要更多的特征工程努力。具有较少的特征工程,深度神经网络通过为稀疏特征学习的低维密集嵌入,可以更好地推广到看不见的特征组合。
一、Wide&Deep的网络结构图
二、Wide&Deep的网络结构介绍
1)Wide Models
Wide Models网络结构
Wide Models网络结构介绍
Wide Models的输入是原始特征(raw input )和组合特征(cross-product transformation),人为构造的成分较多;输出是对特征矩阵的线性变换。
1、组合特征
其中cki是一个布尔变量,如果第i个特征是第k个变换φk的一部分,则为1,否则为0。
对于二值特征,cross-product transformation举例:“AND(gender=female, language=en)”)的值为1,当且仅当 (“gender=female” and “language=en”)“gender=female”和“language=en”同时为真。
2、输出
2)Deep Models
Deep Models网络结构
1、Sparse Features
Input:Sparse Features是对原始数据进行one-hot编码以后的数据,所以数据比较稀疏。
2、Dense Embeddings
Embedding的网络结构图
将Sparse Features部分的输出输入到Embedding层,可将高维稀疏数据转化为低维稠密的数据。这样相当于变相的提取Sparse Features中的重要特征。
Embedding层的特点:1、尽管输入特征的长度不同,但是输出的长度都一样;2、Embedding层的参数其实是全连接的Weights。
3、Hidden Layer
隐层的输入是a;输出要先进行线性变换,再经激活函数处理。
其中l代表第l个隐层;f是激活函数,通常为relu;
4、Output Units
通常是将隐层输出的结果使用sigmoid函数进行处理,得到最终的预测结果。
3)Wide&Deep Model
将Wide Models和Deep Models的输出结果进行了结合,通常共同使用sigmoid函数对两者的结果进行处理。