神经网络基本概念

来源:互联网 发布:怎么用jquery遍历数组 编辑:程序博客网 时间:2024/06/07 15:16

概述

处理问题

  • 分类
    • 将不同的数据进行分类
  • 回归
    • 找一条直线,使所有点或数据到它的距离最短之类的
    • 回归是分类的一种特殊形式

注意的地方

  • 没有数学模型或模型特别复杂时可以考虑神经网络
  • 要求系统100%准确时不能用神经网络

网络的类型

  • Determinstic
    • 去往所有下一状态的概率相同
  • Stochastic
    • 去往下一状态的概率不同

数据类型

  • Supervised
    • 知道输入,同时知道对应的输出
  • Unsupervised
    • 发掘数据的内在联系
    • 常常对数据进行分类
  • 不同的数据类型对应不同类型的神经网络

训练类型

  • online
    • 有数据(almost)
  • offline
    • 没有数据,直接训练网络和设计网络

处理神经网络的设备

  • PC
    • 对内存不高
  • 其他设备(DSP等)
    • 需要考虑芯片内存、处理速度等问题

主要的神经网络

BP(主要)、RBF、SVM、Hopfield、Stochastic、Associate Memory、Kohonen、SOM(最简单)。。。。

BP神经网络

  • 分类过程中,权重的选择就是减少误差的过程
  • Widrow-Hoff learning rules
  • 主要用于分类

定义

  • 从后向前更新权重
  • 给定初始权重,根据网络计算得到的值与实际值进行比较,计算权重的更新,更新权重后,再次计算,直到迭代次数超出或者误差满足条件是时停止

步骤

  • 提取网络
  • 训练网络
  • 使用网络

案例

给出一个人脸向左向右向前向后等各种图片,判断新给的图片中的人脸在哪个方向

  • 提取特征,根据已知的图像进行分类
  • 创建网络

    • 代码

      `net_1=newff(minmax(P),[10,3],{'tansig','purelin'},'traingdm')`
    • 方法
  • 给出数据,进行近似拟合和预测的程序代码

    clearclcclose allX = [0 1 2 3 4 5 6 7 8 9 10];D = [0 1 2 3 4 3 2 1 2 3 4];figure;plot(X,D,'*'); %绘制原始数据分布图net = newff([0 10],[5 1],{'tansig','purelin'})net.trainParam.epochs=10000;net.trainParam.goal=0.005;net=train(net,X,D);O=sim(net,X);figure;plot(X,D,'*',X,O);%绘制训练后得到的结果和误差曲线V = net.iw{1,1}%输入层到中间层权值theta1 = net.b{1}%中间层各神经元阈值W = net.lw{2,1}%中间层到输出层权值theta2 = net.b{2}%输出层各神经元阈值

基于C语言的BP神经网络

  • 网址
    • 介绍神经网络解决问题的基本过程,可以参考

RBF(径向基)神经网络(Radical Basis Function)

本质与理解

  • 把输入数据从一个空间转换到另外一个空间
    • 目的:使得数据更加方便处理,类似于时域与频域的转换会使问题得以更加方便的解决。
  • 主要用于回归

特点

  • 只有一个隐藏层的三层前馈神经网络
  • 隐藏层函数是局部相应的高斯函数,如果要实现同一个功能,神经元个数要比BP多
  • 训练时间短
  • 以任意精度逼近任意连续函数(由于局部效应)

种类

  • Exact
    • 有多少组数据,就用多少个径向基函数
    • 适合数据组比较少的情况
  • Approximate
    • 如果数据很多,首先需要对数据进行分类,减少径向基函数的个数

常用的径向基函数(即,将数据从一个空间转换到另外一个空间的函数)

  • 高斯函数
  • *

非线性回归与神经网络的区别

  • 神经网络
    • 只知道数据,不知道模型
  • 非线性回归
    • 知道函数表达式的形式,根据数据求出参数

自组织竞争神经网络

特点

  • 网络竞争层的各神经元通过竞争获取对输入模式的响应机会,最后只有一个神经元成为胜利者,并将与获胜神经元有关的各连接权值向着更有利于其竞争的方向调整。

用途

  • 模式识别
  • 模式分类
0 0
原创粉丝点击