深度神经网络(Deep Neural Network, DNN)
线性模型通过"线性组合"的方式表达"结果与特征之间的关系"。尽管其"表达能力较为有限",在实际应用中仍需通过提升"特征计算"的复杂度来改进性能。例如,在广告点击率预估中除了"标题长度、描述长度、位次、广告id和cookie"等基础原始特征外, 还存在大量组合特征求取(如"位次.cookie"表示用户对位次偏好的偏好)。实际上, 现在更多地采用的是Logistic Regression模型(即线性的回归方法),而该团队的核心工作之一就是进行'特征工程(feature engineering)'"。
线性模型的概念是'简单模块与复杂特征'的结合,在这种方式下可以实现复杂的非线性场景描述。尽管该种方法在建模过程中所涉及的计算资源较低(训练或预测过程所需计算资源较低),但其关键在于如何选择合适的特征——这不仅需要投入大量的工作时间(即人工作业量大),而且还需要相关人员对于业务领域具有深入的理解能力(即具备深入的理解能力)。
另一种思路是将复杂模型与简单特征相结合。这使得对特征的工程化需求大为降低,并通过复杂的非线性模型来探索特征之间的相互作用关系。深度神经网络模型就是这样一个典型的非线性模型。

如图所示,该模型是一个由输入层、输出层和两个隐藏层组成的深度学习网络结构。该模型共有9个节点。
在现有文献中对神经网络的介绍已非常深入。以图表为例,着重阐述回传算法的推导过程及其应用。
在原理上与梯度下降方法具有高度相似性,在数学模型中都涉及到对目标函数进行优化操作以实现损失函数最小化的目标;其核心在于计算每个参数变量的偏导数值,并沿着单个参数方向逐步更新参数值;为了提高算法效率,在每次迭代过程中通常会采用动量项来加速收敛速度

将上述推导合并,就可以得到的梯度方向:

其他迭代过程和梯度下降法差异不大。
需要注意的是,在使用深度神经网络(DNN)时虽然对特征工程的要求相对较低 但计算量较大 剔除权重的可解释性较差 徹难调试。理论上讲 理想情况下 我们应该优先选择一种较为简单的方法来进行建模 这样能够更方便地快速验证模型的性能 在积累了一定经验后再逐步引入更为复杂的深度学习算法如DNN模型
