【原创】深度神经网络(Deep Neural Network, DNN)
线性模型通过特征间的现行组合来表达“结果-特征集合”之间的对应关系。由于线性模型的表达能力有限,在实践中,只能通过增加“特征计算”的复杂度来优化模型。比如,在广告CTR预估应用中,除了“标题长度、描述长度、位次、广告id,cookie“等这样的简单原始特征,还有大量的组合特征(比如”位次-cookie“ 表示用户对位次的偏好)。事实上,现在很多搜索引擎的广告系统用的都是Logistic Regression模型(线性),而模型团队最重要的工作之一就是“特征工程 (feature engineering)”。
线性模型的思路是“简单模型+复杂特征”,用这样的组合实现复杂非线性场景描述。由于模型结构简单,这种做法的训练/预估计算代价相对较小;但是,特征的选取是一个需要耗费大量人力的工作,且要求相关人员对业务有较深的理解。
模型工作的另外一个思路是"复杂模型+简单特征“。即弱化特征工程的重要性,利用复杂的非线性模型来学习特征间的关系,增强表达能力。深度神经网络模型就是这样一个非线性模型。
上图是一个具有一个输入层,一个输出层,两个隐层的深度神经网路。该模型一个有9个节点。
神经网络的介绍很多文献都很详尽,现在以上图为例,重点讲一下backpropagation算法的推导过程。
backpropagation与梯度法非常相似,本质上是求每一个参数的偏导数,然后在偏导数的方向上寻找下一个搜寻点,以${W_{04}}$为例:
将上述推导合并,就可以得到${W_{04}}$的梯度方向:
其他迭代过程和梯度下降法差异不大。
值得注意的是,虽然DNN对特征工程的要求相对较低,但训练时间复杂度较大,切权重可解释性非常差,不易debug。因此,对于一个新的应用,比较好的方法是先用Logistic Regression这样的线性模型开始应用,等迭代成熟了,再尝试DNN模型。
【原创】深度神经网络(Deep Neural Network, DNN)的更多相关文章
- 用matlab训练数字分类的深度神经网络Training a Deep Neural Network for Digit Classification
This example shows how to use Neural Network Toolbox™ to train a deep neural network to classify ima ...
- 深度神经网络如何看待你,论自拍What a Deep Neural Network thinks about your #selfie
Convolutional Neural Networks are great: they recognize things, places and people in your personal p ...
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第四周:深层神经网络(Deep Neural Networks)-课程笔记
第四周:深层神经网络(Deep Neural Networks) 4.1 深层神经网络(Deep L-layer neural network) 有一些函数,只有非常深的神经网络能学会,而更浅的模型则 ...
- 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement
论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...
- Neural Networks and Deep Learning(week4)Deep Neural Network - Application(图像分类)
Deep Neural Network for Image Classification: Application 预先实现的代码,保存在本地 dnn_app_utils_v3.py import n ...
- 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks) —— 3.Programming Assignments: Deep Neural Network - Application
Deep Neural Network - Application Congratulations! Welcome to the fourth programming exercise of the ...
- 课程一(Neural Networks and Deep Learning),第四周(Deep Neural Networks)——2.Programming Assignments: Building your Deep Neural Network: Step by Step
Building your Deep Neural Network: Step by Step Welcome to your third programming exercise of the de ...
- 人工神经网络 Artificial Neural Network
2017-12-18 23:42:33 一.什么是深度学习 深度学习(deep neural network)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高 ...
- A Survey of Model Compression and Acceleration for Deep Neural Network时s
A Survey of Model Compression and Acceleration for Deep Neural Network时s 本文全面概述了深度神经网络的压缩方法,主要可分为参数修 ...
随机推荐
- 十、mysql事务的简介
1. myisam跟memory支持表级别锁定 BDB 页级锁定 Innodb 行级锁定 2.表锁(不是表嫂哈) lock table read //只读表锁,也就是说执行了这个锁后,锁内的操作只能为 ...
- 最简单去Button回车事件
描述: 有的时候,回车时,不想触发 页面上的保存按钮的事件. 有一种最简单的解决 方法: 一,把form增加一个不用的默认button <form id="form1" ru ...
- 机器学习基石的泛化理论及VC维部分整理(第五讲)
第五讲 Training versus Testing 一.问题的提出 \(P_{\mathcal{D}}\left [ BAD \mathcal{D} \right ] \leq 2M \cd ...
- hdu 2566 统计硬币
http://acm.hdu.edu.cn/showproblem.php?pid=2566 假设一堆由1分.2分.5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量 ...
- mysql 权限管理
参考: http://www.cnblogs.com/Richardzhu/p/3318595.html 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内 ...
- no appropriate service handler found The Connection descriptor used by the client was: localhost:1521:myorcl
参考网址:http://www.2cto.com/database/201205/133542.html http://www.cnblogs.com/kerrycode/p/4244493.html ...
- 用JavaScript获取页面上被选中的文字的技巧
这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法.最关键的JavaScript API是: event.selection = window.getSelection(); ...
- [转载]中国天气网API
最近在做个网站要用到天气网的api,在网上找了些参考资料,这篇文章对天气网api的介绍比较详细,所以转载之,谢谢原作者的辛勤劳动和奉献精神. 原文地址:http://g.kehou.com/t1033 ...
- Monad学习
这是观看Cousera上的课程<Principles of Reactive Programming>中week1里的Monad一节所做的笔记. What is a Monad? What ...
- Samza在YARN上的启动过程 =》 之二 submitApplication
首先,来看怎么构造一个org.apache.hadoop.yarn.client.api.YarnClient class ClientHelper(conf: Configuration) exte ...