神经网络初探

betball贝博app 神经网络 442 次浏览 没有评论

分类:

  • 按连接方式:前项神经网络VS反馈(递归)神经网络
  • 学习方式:有导师学习神经网络VS无导师学习神经网络
  • 实现方式:拟合(回归)神经网络VS分类神经网络
  • BP神经网络:Backpropagation反向传播(误差的反向传播)

    信号前向传播,误差反向传播

    It is a supervised learning method(有导师学习犯法),and is a generalization of the delta rule.It requires a teacher that knows,or can calculate,and desired output for any input in the training set.Backpropagation requires that the activation function used by the artificial neurons (or nodes)be differentiable(可微分)

    Phase 1: Propagation:正向传播的时候,每一层计算加权和并进行映射。反向传播要计算和理想输出的误差,并把误差反馈到每一层的神经元中。

    Phase 2:Weight Update:梯度下降法:权值的修正要沿着梯度下降最快的方向。

    http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
    BP神经网络的计算图示

    数据的归一化

    将数据映射到[0,1]或[-1,1]

    数据的单位不同,有些数据的范围特别大,会使神经网络收敛慢,训练时间长。

    数据范围大的输入在模式分类中的作用偏大,输入范围小的偏小。

    根据映射函数有限制

    算法:y=(x-min)/(max-min)

    重点函数

  • mapminmax 归一化
  • newff创建新的前向反馈网络
  • train训练新的神经网络
  • sim仿真
  • 训练集:平时作业 测试集:考试题  验证集:标准答案(用来优化)

    例子:60个不同浓度的辛烷值的光谱数据,通过神经网络学习光谱和浓度的对应关系

  • 1.现将60组数据进行随机划分成训练集(50个,输入到网络里)和测试集(10个,验证是否正确)
  • 好的训练集的标准是具有足够的代表性,能够代表样本中的特点
  • 2.归一化,输入输出都通过mapminmax归到(0,1)
  • 3.创建网络 net = newff(p_train,t_train,9) 9为神经元的个数
  • 4.开始学习
  • 5.仿真测试
  • 6.反归一化
  • 7.性能评价(相对误差,决定系数R^2,)
  • 参数对BP神经网络的影响

  • 隐含层神经元节点的个数
  • 激活函数类型的选择(newff中设置,可以修改)
  • 学习率
  • 初始权值与阈值
  • 留一法(Leave One Out,LOO)循环将每一个样本作为一个验证集,进行测试

    经过这一节课,对于神经网络是个啥东西不是太迷茫了,了解了大概是怎么个东西。每一个神经网络最初都是一样的(当然设置的神经元个数不同),每一组样本有多少个数据,就是有多少个输入,每一个样本都有一个对应的输出,神经网络将这些数据读入进来以后,先通过每一个神经元最初的映射函数依次进行运算,可以得出一个结果,将这个结果与标准输出进行比对,得到误差,将误差反向传播至初值,对权值进行修正,然后再传递到输出,由此不断的往复,即为学习的过程。生成神经网络的时候会预先指定当前需要的误差范围,当程序判断达到了预先的误差范围,即学习完成!

    发表评论

    邮箱地址不会被公开。

    Go