推荐算法学习笔记2.2:基于深度学习的推荐算法-基于特征交叉组合+逻辑回归思路的深度推荐算法-Deep Crossing模型

  • Deep Crossing模型(微软,搜索引擎,广告推荐)

    前置知识:推荐算法学习笔记1.3:传统推荐算法-逻辑回归算法推荐算法学习笔记1.4:传统推荐算法-自动特征的交叉解决方案:FM→FFM
    本文含残差块反向传播梯度推导 (最后附录)

    背景概述:用户搜索关键词 → 返回搜索结果以及相关广告。

    导出问题:如何提高广告的点击率?

    输入:混合类型(类别型,数值型)特征。

    输出:点击概率。

    细化问题:

    ①如何解决类别型特征进行one-hot或multi-hot编码后的稀疏问题?

    ②如何进行自动特征组合?

    ③如何将得到理想的输出?

    解决方案:

    ①对类别型特征进行嵌入表示(引入了Embedding层)。

    ②通过Stacking层将多个特征进行堆叠(concatenate),利用神经网络的非线性特征组合能力进行自动特征组合(Multiple Residual Units层, 残差结构)。

    ③通过Scoring层输出点击概率(分类层)。

    附录:

    附1:残差结构

    残差结构通过让模型拟合残差而不是映射从而减少网络过拟合的现象发生。即前向传播如下

    h ( i + 1 ) = h ( i ) + σ i + 1 ( W i + 1 h ( i ) + b i + 1 ) \mathbf{h}^{(i+1)} = \mathbf{h}^{(i)}+\sigma^{i+1}(\mathbf{W}^{i+1}\mathbf{h}^{(i)}+b^{i+1}) h(i+1)=h(i)+σi+1(Wi+1h(i)+bi+1)

    其中假设 h ( i ) = σ i ( W i h ( i − 1 ) + b i ) \mathbf{h}^{(i)} = \sigma^{i}(\mathbf{W}^{i}\mathbf{h}^{(i-1)}+b^{i}) h(i)=σi(Wih(i−1)+bi),则 W i \mathbf{W}^i Wi的反向传播如下

    ∂ L o s s ∂ W i = ∂ L o s s ∂ h i + 1 ( ∂ h i ∂ W i + ∂ σ i + 1 ∂ ( W i + 1 h ( i ) + b i + 1 ) ( W i + 1 ) T ∂ h i ∂ W i ) = ∂ L o s s ∂ h i + 1 ∂ h i ∂ W i + ∂ L o s s ∂ h i + 1 ∂ σ i + 1 ∂ ( W i + 1 h ( i ) + b i + 1 ) ( W i + 1 ) T ∂ h i ∂ W i \frac{\partial Loss}{\partial \mathbf{W}^i}= \frac{\partial Loss}{\partial \mathbf{h}^{i+1}} (\frac{\partial \mathbf{h}^{i}}{\partial \mathbf{W}^i}+\frac{\partial \sigma^{i+1}}{\partial (\mathbf{W}^{i+1}\mathbf{h}^{(i)}+b^{i+1})}(\mathbf{W}^{i+1})^T\frac{\partial \mathbf{h}^{i}}{\partial \mathbf{W}^i}) \\ =\frac{\partial Loss}{\partial \mathbf{h}^{i+1}} \frac{\partial \mathbf{h}^{i}}{\partial \mathbf{W}^i}+\frac{\partial Loss}{\partial \mathbf{h}^{i+1}} \frac{\partial \sigma^{i+1}}{\partial (\mathbf{W}^{i+1}\mathbf{h}^{(i)}+b^{i+1})}(\mathbf{W}^{i+1})^T\frac{\partial \mathbf{h}^{i}}{\partial \mathbf{W}^i} ∂Wi∂Loss=∂hi+1∂Loss(∂Wi∂hi+∂(Wi+1h(i)+bi+1)∂σi+1(Wi+1)T∂Wi∂hi)=∂hi+1∂Loss∂Wi∂hi+∂hi+1∂Loss∂(Wi+1h(i)+bi+1)∂σi+1(Wi+1)T∂Wi∂hi

    从反向传播过程可以看出 W i \mathbf{W}^i Wi的梯度中第一项不会引入后续的参数矩阵 W i + 1 \mathbf{W}^{i+1} Wi+1,所以在一定程度避免了梯度消失的产生。

相关推荐
嵌入式小企鹅1 小时前
CPU供需趋紧、DeepSeek V4全链适配、小米开源万亿模型
人工智能·学习·开源·嵌入式·小米·算力·昇腾
三品吉他手会点灯7 小时前
C语言学习笔记 - 20.C编程预备计算机专业知识 - 变量为什么必须的初始化【重点】
c语言·笔记·学习
kobesdu7 小时前
【ROS2实战笔记-12】rosshow:终端里的盲文可视化与无头机器人的现场调试
笔记·机器人·ros·移动机器人
sakiko_7 小时前
UIKit学习笔记1-创建项目(使用UIKit)、使用组件
笔记·学习
生信碱移7 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
智者知已应修善业8 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
星幻元宇VR9 小时前
VR航空航天科普设备【VR时空直升机】
科技·学习·安全·生活·vr
_李小白9 小时前
【android opencv学习笔记】Day 2: Mat类(图片数据结构体)
android·opencv·学习
智者知已应修善业10 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
JasmineX-110 小时前
数据结构(笔记)——双向链表
c语言·数据结构·笔记·链表