zoukankan      html  css  js  c++  java
  • 神经网络(总代码)

    首先,选择一个网络体系结构;选择你的神经网络的布局,包括每个层有多少隐藏单元,以及你想要拥有多少层。

     1.输入层的节点数=x(i)的维度

    2.输出层的节点数=分类的数量

    3.每层隐藏单位数=通常更好(必须与计算成本相平衡,因为它增加了隐藏单位)

    4.默认值:1隐藏层。如果你有超过1个隐藏层,那么建议你在每个隐藏层有相同数量的单位。

    训练一个神经网络:

    1.随机初始化权重

    2.实现了传播得到HΘ(x(i))对任意的x(i)

    3.实现成本函数

    4.实施反向传播计算偏导数

    5.使用梯度检查,以确认您的反向传播工程。然后禁用梯度检测。

    6.使用梯度下降或内建优化函数来最小化θθ中的权重函数的代价函数。

    当我们执行正向和反向传播(BP)的,我们在每一个循环训练的例子:

    for i = 1:m,
       Perform forward propagation and backpropagation using example (x(i),y(i))
       (Get activations a(l) and delta terms d(l) for l = 2,...,L

    下面的图片让我们直观地了解正在发生的事情,因为我们正在实现我们的神经网络:

    理想的,你得到的hΘ(x(i))  y(i).

    这将减少我们的成本函数。但是,请记住,J(Θ)不是凸的,因此我们可以结束在一个局部最小值。

  • 相关阅读:
    梅小雨20191010-2 每周例行报告
    梅小雨20190919-1 每周例行报告
    梅小雨20190919-4 单元测试,结对
    王可非 20191128-1 总结
    20191121-1 每周例行报告
    20191114-1 每周例行报告
    对“都是为了生活”小组成员帮助的感谢
    20191107-1 每周例行报告
    20191031-1 每周例行报告
    20191024-1 每周例行报告
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/7326861.html
Copyright © 2011-2022 走看看