zoukankan      html  css  js  c++  java
  • 机器学习五--分类--神经网络算法Neural Network

    多层向前神经网络 Multilayer Feed-Forward Neural Network

    1、组成:输入层(input layer),隐藏层(hidden layer),输出层(output layer)

    ====两层神经网络(输入层不算)

    2、每层由单元(units)组成

    3、输入层由训练集的实例特征向量传入。

    4、经过连接点的权重weight传入下一层。上一层的输出也是下一层的输入。

    5、隐藏层的个数是任意的,输入层,输出层各一层。

    6、一层中加权的求和,然后根据非线性方程转换输出。

    7、理论上,如果有足够多的隐藏层和样本足够的训练集,可以模拟出任何方程

    设计神经网络结构

    1、训练数据前必须确定神经网络的层数,及每层的单元数。

    2、特征向量被传入输入层时,要先被标准化(normalize)到0~1之间。(加速学习)

    3、神经网络可以用来做分类(classification),也可以解决回归(regression)。

        3.1、如果是两类,可以用一个输出单元表示。如果是多类,每一类分别用一个输出单元表示。

    交叉验证方法(cross-validation)计算准确度

    如:把数据平均分成10份;

      先用第一份做测试集,其他九份为训练集——》准确度1

      用第二份做测试集,其他九份为训练集——》准确度2

      用第三份做测试集,其他九份为训练集——》准确度3

    最后求平均准确度。

    Backpropagation算法(核心算法)

    1、通过迭代来处理训练集中的实例。

    2、对比经过神经网络后输入层的预测值(predicted value)与真实值(target value)之间的差距。

    3、反方向(输出层--隐藏层--输入层),最小化误差,来更新每个连接之间的权重weight和偏向b。

    第一步:得到每个单元的输出Oj

    第二步:根据误差Error反向传送。

    第三步:终止条件

    1、权重的更新低于某一个阈值。

    2、预测的错误率低于某一个阈值。

    3、达到预设的一定的循环次数。

  • 相关阅读:
    【C++】小心使用文件读写模式:回车(' ') 换行(' ')问题的一次纠结经历
    小记同学一次奇葩的DNS欺骗实验失败经历
    IE的BHO通过IHTMLDocument2接口获得网页源代码
    HTML5离线缓存攻击测试(二)
    HTML5离线缓存攻击测试
    PHP防止SQL注入的方法
    Linux系统环境变量的四个配置文件的关系
    CentOS 7 上搭建LNMP环境
    [Linux][Nginx][02]Config
    [Linux][Nginx][01]Install
  • 原文地址:https://www.cnblogs.com/daacheng/p/8094915.html
Copyright © 2011-2022 走看看