zoukankan      html  css  js  c++  java
  • 神经网络训练的过程

    神经网络训练的过程可以分为三个步骤

    1.定义神经网络的结构和前向传播的输出结果

    2.定义损失函数以及选择反向传播优化的算法

    3.生成会话并在训练数据上反复运行反向传播优化算法

    神经元

    神经元是构成神经网络的最小单位,神经元的结构如下

    一个神经元可以有多个输入和一个输出,每个神经元的输入既可以是其他神经元的输出,也可以是整个神经网络的输入。

    上图的简单神经元的所有输出即是所有神经元的输入加权和,不同输入的权重就是神经元参数,神经网络的优化过程就是优化神经元参数取值的过程。

    全神经网络

    全连接神经网络相邻两层之间任意两个节点都有连接

    三层全连接神经网络

    输入层从实体提取特征向量,隐藏层越多,神经网络结构越复杂

    我们给上图的神经网络添加参数

    • W表示神经元的参数,上标为神经网络的层数,下标为连接节点标号,W的数值就为当前边上的权重。

    • 隐藏层的a11的值就为对应的输入值的加权和

    • 输出y就是隐藏层的三个值的加权和

    线性模型

    如果模型的输出为输入的加权和,输出y和输入xi满足如下关系,则这个模型就是线性模型

    wi,b∈R是模型的参数,当输入只有一个的时候x和y就形成了一个二维坐标系的一条直线。
    当有n输入时,就是一个n+1维空间的平面。

    在现实世界中,绝大部分问题是无法线性分割的。如果我们不运用激活函数的话,则输出信号将仅仅是一个简单的线性函数。
    我们需要激活函数帮助我们理解和学习其他复杂类型的数据。

    激活函数去线性化

    如果将每一个神经元的输出通过一个非线性函数,则整个神经网络的模型也就不再是线性的了。
    整个非线性函数就是激活函数。

    损失函数

    神经网络模型的效果及优化的目标是通过损失函数来定义的

    监督学习

    监督学习的思想就是在已知答案的标注数据集上,模型给出的结果要尽量接近真实的答案。通过调整神经网络中的参数
    对训练数据进行拟合,使得模型对未知的样本提供预测能力。

    反向传播算法

    反向传播算法实现了一个迭代的过程,每次迭代开始的时候,先取一部分训练数据,通过前向传播算法
    得到神经网络的预测结果。因为训练数据都有正确的答案,所以可以计算出预测结果和正确答案之间的差距。
    基于这个差距,反向传播算法会相应的更新神经网络参数的取值,使得和真实答案更加接近。

  • 相关阅读:
    shell学习三十八天----运行顺序和eval
    开发新手教程【三】Arduino开发工具
    【Cloud Foundry】Cloud Foundry学习(四)——Service
    java调用oracle函数
    JDK动态代理
    Nginx 笔记与总结(8)Location:归纳总结
    机器学习从入门到放弃之决策树算法
    用数据分析进行品类管理
    用数据分析进行品类管理
    大数据分析过程中经常遇到那13个问题
  • 原文地址:https://www.cnblogs.com/chenjy1225/p/11723878.html
Copyright © 2011-2022 走看看