当前位置: 首页 > news >正文

做网站需要什么认证百度sem优化师

做网站需要什么认证,百度sem优化师,新网站建设问卷,重庆网站建设注意事项神经网络的学习(Neural Networks: Learning) 9.1 代价函数 Cost Function 参考视频: 9 - 1 - Cost Function (7 min).mkv 假设神经网络的训练样本有?个,每个包含一组输入 ? 和一组输出信号 ?,? 表示神经网络层数,??表示每层神经元的个数…

神经网络的学习(Neural Networks: Learning)

9.1 代价函数 Cost Function

参考视频: 9 - 1 - Cost Function (7 min).mkv

  假设神经网络的训练样本有?个,每个包含一组输入 ? 和一组输出信号 ?,? 表示神经网络层数,??表示每层神经元的个数( ?? 表示输出层神经元个数),??代表最后一层中处理单元的个数。
  神经网络分类分两种:
  (1)二类分类:?? = 0, ? = 0 ?? 1表示哪一类;
  (2)?类分类:?? = ?, ?? = 1表示分到第 i 类;(? > 2)

之前定义逻辑回归的Cost Function如下(前半部分表示hypothesis与真实值之间的距离,后半部分是对参数进行regularization的bias项):

神经网络的 cost function 同理:

原理都是希望得到预测结果与真实情况的误差。不同的是结果有k个。hypothesis与真实值之间的距离为 每个样本—每个个类输出的加和。

对参数进行regularization的bias项是排除了每一层?0后,每一层的 ? 矩阵平方和。即所有参数的平方和。

9.2 反向传播算法

参考视频: 9 - 2 - Backpropagation Algorithm (12 min).mkv

为了最小化 J(Θ),需要求偏导。

采用一种反向传播算法:首先计算最后一层(最右)的误差,然后再反向(向左)求出各层的误差,直到倒数第二层(第一层是输入变量,不存在误差)。

 

(1)最后一层误差是激活单元的预测 aj(4) 与实际值 ?j之间的误差( j = 1:?),设其为 ?j(4)

            ?(4) = ?(4) - ?

(2)计算第三层的误差:

            ?(3) = (?(3))??(4) ∗ ?′(?(3))

      其中(?(3))??(4) 则是权重导致的误差的和, ?′(?(3))是 sigmoid函数的导数,sigmoid函数导数有一个特点:

            ?′(?(3)) = ?(3)∗(1−?(3))。

(3)计算第二层的误差:

            ?(2)=(?(2))??(3)∗?′(?(2))

(4)有了误差,开始计算代价函数的偏导。假设 ?=0(即不做任何正则化处理),有:

  ? :目前所计算的是第几层。 

  ? :目前层中的激活单元下标(下一层的第 j 个输入变量的下标)

  ? :下一层中误差单元的下标(受到权重矩阵中第 ? 行影响的下一层中误差的下标)

 

上面得到了error变量δ的计算,下面来看backpropagation算法的伪代码

然后计算代价函数的偏导数,公式如下:

9.3 反向传播算法的直观理解

参考视频 : 9 - 3 - Backpropagation Intuition (13 min).mkv

现在说反向传播模型的学习过程。

首先,前向传播算法forward propagation 从前往后计算z(j),a(j) 的过程如下:

 然后将原cost function 进行简化,去掉regularization项,得到 cost(i):

 

 

即对于每一层来说,δ分量都等于后面一层所有的δ的加权和,其中权值就是参数θ

9.4 实现注意:展开参数

参考视频 : 9 - 4 - Implementation Note_ Unrolling Parameters (8 min).mkv

在Octave中,如果要使用fminc这样的优化算法来求解权重矩阵,需要将矩阵展开成为向量,再利用算法求出最优解后再重新转回矩阵。

假设有三个权重矩阵:Theta1,Theta2,Theta3 。下面是将其向量化 unroll into vector,再变回矩阵的方法。

实例代码如下:

>> Theta1 = ones(10,11)1   1   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> Theta2 = 2*ones(10,11) 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 >> Theta3 = 3*ones(1,11) 3 3 3 3 3 3 3 3 3 3 3

转成向量:

>> thetaVec = [Theta1(:);Theta2(:);Theta3(:)];
>> size(thetaVec)231     1

转回矩阵:

>> reshape(thetaVec(1:110),10,11)1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >> reshape(thetaVec(111:220),10,11) 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 >> reshape(thetaVec(221:231),1,11) 3 3 3 3 3 3 3 3 3 3 3

9.5 梯度检验

参考视频 : 9 - 5 - Gradient Checking (12 min).mkv

为了验证复杂模型内部是否呀运行正常,我们是用一种叫做 Numerical gradient checking的方法来验证梯度是否在下降。

对于下面这个J(θ)图,取θ点左右各一点(θ+ε),(θ-ε),则点θ的导数(梯度)近似等于(J(Θ+ε)-J(θ-ε))/(2ε)。

 因此,针对每个θ,其导数都可以近似为:

将这个近似值,与back-propagation算法中每一步得到的J(θ)的导数D(derivative)进行比较。如果这两个结果相近,则code正确,否则错误。上面描述的算法如下:

步骤:

- 在 back propagation 中计算出J(θ)对θ的导数D,并向量化成Dvec(unroll D(1),D(2),D(3))
- 用 numerical gradient check 方法计算梯度近似值 gradApprox
- 确保这两个值很接近
-(这一点非常重要)只在测试的时候进行校验。真正使用 back propagation 进行神经网络学习的时候,要停止校验,否则会非常慢

9.6 随机初始化

参考视频 : 9 - 6 - Random Initialization (7 min).mkv

之前对于逻辑回归,我们将参数θ全部初始化为0。 然而对于神经网络,此方法不可行: 如果第一层参数θ都相同(不管是不是0),意味着第二层的所有激活单元的值会完全相同。

注:这里考了几道选择题。

通常初始参数为正负 ε 之间的随机值,代码如下:

 

9.7 综合起来

参考视频 : 9 - 7 - Putting It Together (14 min).mkv

 选择神经网络。通常情况下隐藏层神经单元的个数越多越好。

训练神经网络:

1. 参数的随机初始化
2. 利用正向传播方法计算所有的  ℎ?(?)
3. 编写计算代价函数  ? 的代码
4. 利用反向传播方法计算所有偏导数
5. 利用数值检验方法这些偏导

6. 使用优化算法来最小代价函数

神经网络的直观表示如下。因为J(?)不是一个凸函数,因此我们可以到达一个局部最小点。

9.8 自主驾驶

参考视频 : 9 - 8 - Autonomous Driving (7 min).mkv

ALVINN (Autonomous Land Vehicle In a Neural Network) 是一个基于神经网络的智能系统

 

 

 

 

https://blog.csdn.net/u010223750/article/details/50534451

神经网络过拟合有两种情况,可以通过两种方式解决:

(1)引入Validate 数据集

(2)规则化

加入规则化因子之后,整个模型其实是奔着选取较小的 w 而进化的,因为如果需要损失函数值小的话,一旦选取了比较大的 w,那么只有等式右边第一项式子的值比较小的情况下才行,因此规则化的目的其实是减轻比较大的 w 值对损失函数的影响,为什么需要这么做,我们假设对于线性回归而言,有一个数据特别偏离主模型,这样的话,往往会导致模型受这个影响比较大,从而偏离主模型,这时候就需要抵消这个数据对结果的影响,这就用到了规范化,目的是消除其某些损失函数值过大的点影响,对于神经网络,正则化的目的是为了消除太大的 w 对结果的影响,其结果就是局部的变化因素(个别 w 的变化)不会影响整个模型的数据,只有对全部模型起变化的因素才能影响到模型的建立,这样就消除了局部噪声的影响。

 

转载于:https://www.cnblogs.com/maxiaodoubao/p/9979690.html

http://www.lbrq.cn/news/2564173.html

相关文章:

  • wordpress 导航网站模板下载常见的网络营销手段
  • 网站建设发言如何做好网络销售技巧
  • 山东网站制作网络公司网络营销推广方案
  • 网站建设推广的软文qq刷赞网站推广快速
  • 做暧暧视频网站日本企业如何进行网络推广
  • 网络优化网站建设域名查询ip网站
  • 一般自己怎么做网站舆情分析系统
  • 如何免费创建网站关键词seo优化
  • 临沂外贸网站建设舆情危机公关公司
  • 什么网站做的比较好su搜索引擎优化
  • 做旅游网站的工作流程图西安网站设计开发
  • 身份证被用户做网站备案怎么在百度上做网站
  • 孝感网站开发公司东营百度推广公司
  • 两学一做网站 苏州做网络推广的网站有哪些
  • 网站升级什么意思长春seo
  • 上海有哪些做网站电商培训有用吗
  • 用php做网站和java做网站百度影响力排名顺序
  • 电力建设网站进不去seo技术分享博客
  • 做视频网站用什么格式网站推广怎么做有效果
  • 怎么提高网站关键词排名廊坊seo快速排名
  • 网站编辑属于什么行业搜索引擎优化的方法有哪些?
  • 易趣网的网站架构电商培训机构有哪些哪家比较好
  • 磁力网站怎么做的源码社群营销是什么意思
  • 安阳网站推广公司广州专门做seo的公司
  • 杭州推荐网站建设团队新网站百度收录
  • asp怎么做网站适配seo百度关键词排名
  • wordpress内核文件夹重庆seo整站优化效果
  • 网站文字编辑怎么做六种常见的网站类型
  • 做暧小视频免费网站本地服务推广平台哪个好
  • 公司网站建设设计方案班级优化大师头像
  • 兴达餐饮 酒店 进销存管理系统软件
  • 查看主板信息的3种方法
  • 学习笔记:原子操作与锁以及share_ptr的c++实现
  • linux81 shell通配符:[list],‘‘ ``““
  • 网络编程-加密算法
  • 德国威乐集团亚太中东非洲PMO负责人和继明受邀为PMO大会主持人