• 9、神经网络


    本文是摘抄学习大神 计算机的潜意识   文章 https://www.cnblogs.com/subconscious/p/5058741.html

    神经网络是一种模拟人脑的神经网络,期望能够实现类人的人工智能机器学习技术。

    一、经典神经网络模型

    这个模型包含三个层次的神经网络,红色是输入层(3个输入单元),绿色是输出层(2个单元),紫色是隐藏层(4个单元)

    神经网络模型知识点:

    • 输入层和输出层的节点数一般是固定的,隐藏层可以自由设定
    • 神经网络结构图的拓扑与箭头代表预测过程数据的流向,和训练的数据流有一定的区别
    • 结构图的关键不是神经元(图中圆圈),而是连接线(图中圆圈的连接线),每个连接线对应一个不同的权重(值称为权值),权重是训练得到

    二、神经元模型

     神经元包含输入、输出和计算功能的模型,下图包含3个输入、1个输出、以及二个计算功能的模型

    连接是神经元中最重要的东西,每个连接上都有一个权重。

    神经网络算法就是让权重值调整到最佳,以到达模型预测的效果最好。

    使用a表示输入特征变量,w来表示权重值,一个连接的有向箭头表示:a经过连接加权变成了aw

    对于多特征变量的神经元模型,如下图,其中:z = g(a1w1+a2w2+a3w3)为输出计算公式

    在MP模型里,函数g是sgn函数:当输入大于0时输出为1,小于0是输出为0

    把sum函数和sgn函数合并,神经元可以看作一个计算和存储单元,计算是神经元对输入进行计算,存储是神经元会暂存计算结果,并传递到下一层。

    整个模型就是对函数:z = g(a1w1+a2w2+a3w3)结果的预测,通过已知的样本a1,a2,a3特征和对应的标签z1,z2,z3,得出最优的w1,w2,w3权重,最后预测出z标签值

    三、单层神经网络

    在MP模型的输入位置添加神经元节点,标志其为输入单元(负责传输数据,不计算),输出层的输出单元需要对前一层对输入进行计算。

    有两个输出单元的模型,用wx,y来表达一个权值。下标中的x代表后一层神经元的序号,而y代表前一层神经元的序号(序号的顺序从上到下)。

    分析图上两个公式,可以向量化:

    输入特征变量:a = [a1 a2 a3]T(T代表转置矩阵),预测值:z = [z1 z2]T,权重矩阵W(2X3矩阵)

    输出公式向量化表示: z = g(Wa)   (神经网络前一层计算后一层的矩阵运算)

    神经网络类似一个logistic回归,可以做分类任务。决策界限表示分类效果

    四、两层神经网络模型

    两层神经网络包含一个输入层、一个输出层和一个隐藏层,隐藏和输出层都是计算层。

    ax(y)代表第y层的第x个节点。z1,z2变成了a1(2),a2(2)。下图给出了a1(2),a2(2)的计算公式

    使用矩阵来进行向量化,a1,a2,z是网络传输的向量数据,W1和W2是网络的矩阵参数

    a2 = g(W1a1

    z = g(W2a2)

    由此可见,使用矩阵来向量化不会受到节点的数量影响,因此神经网络大量使用矩阵运算来描述。

    偏置节点:它本质上是一个只函数存储功能,切存储值永远为1的单元,除了输出层外,神经网络的每个层都含有一个偏置单元,跟线性回归模型和逻辑(logistic)回归模型相同。

    偏置单元与后一层的所有节点都有连接,设参数为向量b,称为偏置

    偏置节点没有输入,在考虑偏置后神经网络的矩阵运算:

    a2 = g(W1a1 + b1

    z = g(W2a+ b2)

    g函数为sigmoid函数又称logistic函数、激活函数:g(x) = 1/(1+e-x),输入大于0时输出为1,小于0是输出为0。

    理论证明,两层神经网络可以无限逼近任意连续函数

    隐藏层的节点数设计

    在设计一个神经网络是,输入层的节点数需要与特征的维度匹配,输出层的节点数也要与目标的维度匹配,而隐藏层的节点数,由设计者指定,但是节点数设置多少,却会影响模型的效果,如何决定这个自由层的节点数呢?目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。这种方法又叫做Grid Search(网格搜索)

    了解了两层神经网络的结构以后,我们就可以看懂其它类似的结构图。例如EasyPR字符识别网络架构(下图)。

    EasyPR使用了字符的图像去进行字符文字的识别。输入是120维的向量。输出是要预测的文字类别,共有65类。根据实验,我们测试了一些隐藏层数目,发现当值为40时,整个网络在测试集上的效果较好,因此选择网络的最终结构就是120,40,65。

    前向传播:输入层--> 隐藏层--> 输出层

    反向传播

    参考:

    1、《机器学习》(吴恩达)

    2、计算机的潜意识:https://www.cnblogs.com/subconscious/p/5058741.html

  • 相关阅读:
    agc015D A or...or B Problem
    agc016E Poor Turkeys
    CTSC2016时空旅行
    假期的宿舍[ZJOI2009]
    上白泽慧音(luogu P1726
    小K的农场(luogu P1993
    Cashier Employment(poj1275
    Intervals(poj1201
    序列分割[Apio2014]
    特别行动队[APIO2010]
  • 原文地址:https://www.cnblogs.com/jp-mao/p/10193234.html
Copyright © 2020-2023  润新知