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(Θ)不是凸的,因此我们可以结束在一个局部最小值。

  • 相关阅读:
    Commander Nodejs 命令行接口
    数据库集群 ---续集
    数据库集群
    实时查看linux下的日志
    自动化测试
    python中list和dict
    super与this的用法
    数据类型
    父类调用子类方法
    子类调用父类方法
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/7326861.html
Copyright © 2011-2022 走看看