讲过了Wide&Deep模型以后,貌似已经全面了,是不是就是重点了呢? 其实还会有后文可以继续补充咱们的知识面。有请Deep&Cross网络登场。
Deep&Cross模型
之前咱们讲过使用简单模型增强网络的记忆功能, 实际上,我们还想进一步的增加它的交叉能力,所以顺理成章的引进了Cross网络进行补充,接下来咱们看一按下Deep&Cross模型的模型结构。
设计Cross网络的目的是增加特征之间的交互力度,使用多层交叉层 Cross layer)对输人向量进行特征交叉。假设第l层交叉层的输出向量为$x_{l}$,那么l+1层的输出就是。
$$
x_{l+1}=x_{0}x_{l}^{T}W_{l}+b_{l}+x+{l} \tag{1.1}
$$
可以看到,交叉层操作的二阶部分非常类似PNN模型中提到的外积 操作.在此基础上增加了外积操作的权重向$w_{l}$,以及原输入向量$x_{l}$和和偏置向量$b_{l}$
可以看出,交叉层在增加参数方面是比较“克制”的,每一层仅增加了一个 ↑维的权重向量维输人向量维度),并且在每一层均保留了输入向量,因此 输出与输人之间的变化不会特别明显。由多层交叉层组成的 Cross 网络在 Wide&Deep 模型中 Wide 部分的基础上进行特征的自动化交叉,避免了更多基于 业务理解的人工特征组合。同 Wide&Deep 模型一样,Deep&Cross 模型的 Deep 部分相比 Cross 部分表达能力更强,使模型具备更强的非线性学习能力
总而言之
学习了Wide&Deep,这个模型应该是比较得心应手的,用于增加大家的认知量吧。