zoukankan      html  css  js  c++  java
  • 神经网络基础

    学习资料:机器学习周志华、网易云课堂吴恩达教程

    一、 神经元模型

           神经元模型是神经网络最基本的构成部分,如图是典型的MP神经元模型,其中包括n个输入,每个输入有各自的连接权

    重,计算输入与连接权乘积的和与阈值的差值,作为激活函数的输入,得到输出。

    二、感知机模型与多层网络

    感知机模型是由两层神经元构成,一层输入神经元,一层输出神经元,输出神经元是MP神经元模型,模型示意图如下。

    感知机模型采用阶跃函数作为激活函数,可以解决与或非这类线性可分问题,不能解决异或问题这类线性不可分问题。

     为了解决线性不可分问题,就要增加网络层数,于是用到多层网络,即除了输入层和输出层,还包含隐层的神经网网络。

    三、激活函数

     采用非线性激活函数的原因:1可以使模型解决线性不可分问题;2线性的激活函数会使神经网络的层数失去意义。

     常用的激活函数如下:

                                                                                                               

                                                     

     其中,tanh函数性能较好,比较常用。

    四、BP神经网络

    BP神经网络可以看作是使用BP算法进行训练的单隐层前馈神经网络。模型如下:

    BP算法即误差逆传播算法,可以分为正向传播和误差反向传播两个阶段。在正向传播时采用Sigmoid作为激活函数,计算实际输出值,然后计算出实际输出与预期输出之间的误差,根据梯度下降法,反向传播,计算更新值。

    梯度下降法原理:

    误差函数是关于连接权与阈值的凸函数,函数的沿梯度的反方向下降最快,进而寻找梯度为0的全局最小点。

    五、全局最小与局部极小

    全局最小值,是期望的结果,但是模型还有局部极小点,如果陷入局部极小点所得到的结果不是我们所期望的。

     通常用来跳出局部极小点的方法:1、重新初始化,更换起点 2、模拟退火算法 3、随机梯度下降

    六、深度学习

    典型的深度学习模型可以看作是具有很多隐层的神经网络。

    深度学习模型包括处理时间序列的循环神经网络(RNN)、处理图像识别的卷积神经网络(CNN)、处理图像分类的深度信念网络(DBN)等。以后学习更多的内容会继续更新。

  • 相关阅读:
    论 设计模式及项目架构的作用
    Linux根据进程号查找其程序文件路径 及 lsof 命令使用
    Synchronized 原理
    Seata 中类SPI使用机制分析
    redisson spring boot starter 做分布式锁
    TTFB 时间过长
    ShardingSphere Hint模式 SpringBoot + Mybatis
    Core源码(十三)Stack和ConcurrentStack
    C#源码(十二) HashSet
    Core源码(十一)Queue
  • 原文地址:https://www.cnblogs.com/XinL-blog/p/11773556.html
Copyright © 2011-2022 走看看