`
deepfuture
  • 浏览: 4411737 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80127
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70327
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103582
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:286543
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15053
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67782
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32290
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46075
社区版块
存档分类
最新评论

matlab-神经网络-线性网络(2)

 
阅读更多

我们使用线性网络来识别6和8的数字,数字以点阵方式表示

%以点阵方式表示6和8
%8
p1=[0 1 1 1 1 1 0
    0 1 0 0 0 1 0 
    0 1 0 0 0 1 0
    0 1 1 1 1 1 0
    0 1 0 0 0 1 0
    0 1 0 0 0 1 0
    0 1 1 1 1 1 0];
p2=[0 0 1 1 0 0 0
    0 1 0 0 0 1 0 
    0 1 0 0 1 0 0
    0 0 1 1 0 0 0
    0 0 1 0 1 0 0
    0 1 0 0 1 0 0
    0 0 1 1 0 0 0];
%6
p3=[0 1 1 1 1 0 0
    0 1 0 0 0 0 0 
    0 1 0 0 0 0 0
    0 1 1 1 1 0 0
    0 1 0 0 1 0 0
    0 1 0 0 1 0 0
    0 1 1 1 1 0 0];
p4=[0 0 0 0 1 0 0
    0 0 0 1 0 0 0 
    0 0 1 0 0 0 0
    0 1 1 1 1 0 0
    0 1 0 0 0 1 0
    0 1 0 0 1 0 0
    0 0 1 1 0 0 0];
%6
p61=[0 0 1 0 0 0 0
         0 1 0 0 0 0 0 
         0 1 0 0 0 0 0
         0 1 0 1 1 0 0
         0 1 1 0 0 1 0
         0 1 0 0 0 1 0
         0 0 1 1 1 0 0];
%8
p81=[0 1 1 1 0 0 0
     0 1 0 0 0 1 0 
     0 1 0 0 1 0 0
     0 0 1 1 0 0 0
     0 0 1 1 0 0 0
     0 1 0 0 1 0 0
     0 0 1 1 1 0 0];
p82=[0 0 1 1 1 0 0
     0 1 0 0 0 1 0 
     0 1 0 0 0 1 0
     0 0 1 1 1 0 0
     0 1 0 0 0 1 0
     0 1 0 0 0 1 0
     0 0 1 1 1 0 0];
[m,n]=size(p1);
p1=reshape(p1',1,m*n);
p2=reshape(p2',1,m*n);
p3=reshape(p3',1,m*n);
p4=reshape(p4',1,m*n);
p6=reshape(p61',1,m*n);
p81=reshape(p81',1,m*n);
p82=reshape(p81',1,m*n);
%形成6、8的点阵的各2个输入样本矩阵
P=[p1;
   p2;
   p3;
   p4]'
T=[8 8 6 6]
net = newlin(P,T,[0 1],0.01);
net.trainParam.epochs = 600;
%误差到1e-5后停止训练
net.trainParam.goal = 1e-5;
net = train(net,P,T);


 

 识别效果不错


>> Y = round(sim(net,p81'))

Y =

     8

>> Y = round(sim(net,p82'))

Y =

     8

>> Y = round(sim(net,p6'))

Y =

     6

>> Y = round(sim(net,p4'))

Y =

     6

>> Y = round(sim(net,p2'))

Y =

     8

>> Y = round(sim(net,p3'))

Y =

     6

>> Y = round(sim(net,p1'))

Y =

     8

>>

 p61是待识别的6,p81和p82是待识别的8,p1-p4是样本数据

 help newlin
 NEWLIN Create a linear layer.
 
   Syntax
 
     net = newlin(P,S,ID,LR)
     net = newlin(P,T,ID,LR)
 
   Description
 
     Linear layers are often used as adaptive filters
     for signal processing and prediction.
 
     NEWLIN(P,S,ID,LR) takes these arguments,
       P  - RxQ matrix of Q representative input vectors.
       S  - Number of elements in the output vector.
       ID - Input delay vector, default = [0].
       LR - Learning rate, default = 0.01;
     and returns a new linear layer.
 
     NEWLIN(P,T,ID,LR) takes the same arguments except for
       T - SxQ2 matrix of Q2 representative S-element output vectors.
 
     NET = NEWLIN(PR,S,0,P) takes an alternate argument,
       P  - Matrix of input vectors.
     and returns a linear layer with the maximum stable
     learning rate for learning with inputs P.
 
   Examples
 
     This code creates a single input, single neuron linear layer,
     with input delays of 0 and 1, and a learning.  It is simulated
     for the input sequence P1.
 
       P1 = {0 -1 1 1 0 -1 1 0 0 1};
       T1 = {0 -1 0 2 1 -1 0 1 0 1};
 
       net = newlin(P1,T1,[0 1],0.01);
       Y = sim(net,P1)
 
     Here the network adapts for inputs P1 and targets T1.
 
       [net,Y,E,Pf] = adapt(net,P1,T1); Y
 
     Here the linear layer continues to adapt for a new sequence
     using the previous final conditions PF as initial conditions.
 
       P2 = {1 0 -1 -1 1 1 1 0 -1};
       T2 = {2 1 -1 -2 0 2 2 1 0};
       [net,Y,E,Pf] = adapt(net,P2,T2,Pf); Y
 
     Here we initialize the layer's weights and biases to new values.
 
       net = init(net);
 
     Here we train the newly initialized layer on the entire sequence
     for 200 epochs to an error goal of 0.1.
 
       P3 = [P1 P2];
       T3 = [T1 T2];
       net.trainParam.epochs = 200;
       net.trainParam.goal = 0.1;
       net = train(net,P3,T3);
       Y = sim(net,[P1 P2])
 
   Algorithm
 
     Linear layers consist of a single layer with the DOTPROD
     weight function, NETSUM net input function, and PURELIN
     transfer function.
 
     The layer has a weight from the input and a bias.
 
     Weights and biases are initialized with INITZERO.
 
     Adaption and training are done with TRAINS and TRAINB,
     which both update weight and bias values with LEARNWH.
     Performance is measured with MSE.

 

 

 

 

help newlind
 NEWLIND Design a linear layer.
 
   Syntax
 
     net = newlind(P,T,Pi)
 
   Description
 
     NEWLIND(P,T,Pi) takes these input arguments,
       P  - RxQ matrix of Q input vectors.
       T  - SxQ matrix of Q target class vectors.
       Pi - 1xID cell array of initial input delay states,
            each element Pi{i,k} is an RixQ matrix, default = [].
     and returns a linear layer designed to output T
     (with minimum sum square error) given input P.
 
     NEWLIND(P,T,Pi) can also solve for linear networks with input delays and
     multiple inputs and layers by supplying input and target data in cell
     array form:
       P  - NixTS cell array, each element P{i,ts} is an RixQ input matrix.
       T  - NtxTS cell array, each element P{i,ts} is an VixQ matrix.
       Pi - NixID cell array, each element Pi{i,k} is an RixQ matrix, default = [].
     returns a linear network with ID input delays, Ni network inputs, Nl layers,
     and  designed to output T (with minimum sum square error) given input P.
 
   Examples
 
     We would like a linear layer that outputs T given P
     for the following definitions.
 
       P = [1 2 3];
       T = [2.0 4.1 5.9];
 
     Here we use NETLIND to design such a linear network that minimizes
     the sum squared error between its output Y and T.
 
       net = newlind(P,T);
       Y = sim(net,P)
 
     We would like another linear layer that outputs the sequence T
     given the sequence P and two initial input delay states Pi.
 
       P = {1 2 1 3 3 2};
       Pi = {1 3};
       T = {5.0 6.1 4.0 6.0 6.9 8.0};
       net = newlind(P,T,Pi);
       Y = sim(net,P,Pi)
 
     We would like a linear network with two outputs Y1 and Y2, that generate
     sequences T1 and T2, given the sequences P1 and P2 with 3 initial input
     delay states Pi1 for input 1, and 3 initial delays states Pi2 for input 2.
 
       P1 = {1 2 1 3 3 2}; Pi1 = {1 3 0};
       P2 = {1 2 1 1 2 1}; Pi2 = {2 1 2};
       T1 = {5.0 6.1 4.0 6.0 6.9 8.0};
       T2 = {11.0 12.1 10.1 10.9 13.0 13.0};
       net = newlind([P1; P2],[T1; T2],[Pi1; Pi2]);
       Y = sim(net,[P1; P2],[Pi1; Pi2]);
       Y1 = Y(1,:)
       Y2 = Y(2,:)
 
   Algorithm
 
     NEWLIND calculates weight W and bias B values for a
     linear layer from inputs P and targets T by solving
     this linear equation in the least squares sense:
    
       [W b] * [P; ones] = T

1
4
分享到:
评论
2 楼 deepfuture 2012-07-31  
球面函数sphere....................
1 楼 chenzheng8975 2012-07-31  
这个是计算数学方向研究的啊。。。。。。。。。
我那时就喜欢用:sphere(30)l;

相关推荐

    matlab-神经网络源码_神经网络_matlab_nearnl4_

    《MATLAB神经网络源码详解——基于nearnl4》 MATLAB作为一款强大的数值计算与数据可视化软件,被广泛应用于各个科学领域的建模和分析,尤其在神经网络领域,MATLAB提供了丰富的工具箱和函数支持。本资料“matlab-...

    MATLAB-神经网络.zip

    2. **MATLAB神经网络工具箱**: - 工具箱提供了一套完整的命令集,用于创建、训练、验证和测试神经网络。 - 用户可以使用`neuralnet`函数快速构建自定义神经网络,或者通过`feedforwardnet`、`rbfnetwork`等预定义...

    MATLAB-神经网络工具箱-神经网络模型ppt课件.ppt

    MATLAB神经网络工具箱是专为构建和训练神经网络模型设计的一个强大工具,适用于各种复杂的数值计算和数据处理任务。工具箱提供了丰富的函数和结构,使得用户能够方便地创建、训练和测试神经网络模型。 首先,MATLAB...

    matlab神经网络源码集锦-BP神经网络的非线性系统建模-非线性函数拟合

    BP神经网络,全称为Backpropagation Neural Network,是人工神经网络的一种典型模型,广泛应用于非线性系统的建模和预测,以及非线性函数的拟合。本资料集锦主要探讨了如何使用MATLAB实现BP神经网络进行这些任务。 ...

    matlab开发-神经网络的普遍性定理

    在MATLAB环境中,神经网络是一种强大的工具,广泛应用于各种复杂问题的解决,包括函数逼近、模式识别、系统辨识和预测等。标题“matlab开发-神经网络的普遍性定理”指向的是神经网络的通用逼近能力,这是神经网络...

    MATLAB神经网络-线性神经网络

    通过提供的MATLAB神经网络教学视频4:线性神经网络,观众将有机会学习到如何在实际问题中应用线性神经网络,理解其工作原理,以及如何在MATLAB环境中进行有效的网络设计和训练。这个视频可能涵盖了数据预处理、网络...

    matlab经典智能算法案例分析-BP神经网络的非线性系统建模-非线性函数拟合

    在本案例中,我们重点探讨的是如何利用MATLAB这一强大的数值计算软件来实现BP神经网络进行非线性函数的拟合。 非线性系统建模是指对那些无法通过简单的线性关系描述的复杂系统进行数学建模的过程。在许多实际问题中...

    Matlab神经网络课件-神经网络入门教程.rar

    2. Matlab神经网络工具箱 - 创建网络:使用`newff`函数可以创建前馈神经网络,参数设定包括层数、每层神经元数量等。 - 训练网络:`train`函数用于训练网络,可以选用不同的学习算法,如BP(反向传播)、RPROP...

    matlabBP神经网络非线性函数拟合

    在案例2 "BP神经网络的非线性系统建模-非线性函数拟合"中,很可能是通过MATLAB神经网络工具箱实现了一个具体的非线性函数拟合案例。这可能涉及到了一些复杂的非线性函数,如多项式函数、指数函数或周期性函数,通过...

    Matlab的RBF神经网络对非线性系统进行逼近-RBF神经网络对非线性系统进行逼近.rar

    这个压缩包文件“Matlab的RBF神经网络对非线性系统进行逼近”很可能包含了一系列的Matlab脚本和函数,用于演示如何利用RBF网络对非线性系统进行建模和分析。 RBF神经网络的基本结构由输入层、隐藏层和输出层组成。...

    神经网络MATLAB实现电子书-神经网络理论与MATLAB7实现_part2.rar

    神经网络MATLAB实现电子书-神经网络理论与MATLAB7实现_part2.rar 感谢书中文章所有原创作者奉献的精彩文章,如果文章原创者认为我们侵犯了您的合法权益,请来信告知。 由于文件大,分两部分。 本书是介绍应用...

    MATLAB-神经网络工具箱函数.pdf

    MATLAB神经网络工具箱是用于构建、训练和分析神经网络模型的强大工具,广泛应用于数据分析、模式识别、预测和系统建模等任务。本文件详细介绍了适用于MATLAB 5.3及以上版本的一些主要函数,涵盖了网络创建、应用、权...

    matlab神经网络源码集锦-神经网络遗传算法函数极值寻优-非线性函数极值

    这个压缩包文件,名为"matlab神经网络源码集锦-神经网络遗传算法函数极值寻优-非线性函数极值",显然包含了用MATLAB语言实现的神经网络模型和遗传算法,用于解决非线性函数的极值寻找问题。以下是对这些关键概念的...

    t-s模糊神经网络,ts模糊神经网络,matlab

    5. **训练网络**:使用MATLAB的模糊逻辑工具箱或神经网络工具箱,通过反向传播算法或其他优化方法,调整规则间的线性函数参数,以最小化预测误差。 6. **应用与验证**:训练完成后,T-S模糊神经网络可用于预测、...

    Matlab神经网络分类程序-神经网络分类程序.rar

    在本压缩包“Matlab神经网络分类程序-神经网络分类程序.rar”中,包含的是一个使用MATLAB编写的神经网络分类程序。MATLAB是一种强大的数值计算和数据分析工具,尤其适合于构建和训练神经网络模型。这里我们将深入...

    神经网络MATLAB实现电子书-神经网络理论与MATLAB7实现_part1.rar

    从第3章到第5章,分别介绍了几种比较重要的神经网络类列,包括感知器、线性网络和BP网络等,并介绍了这些网络的结构及学习算法,以及MATLAB的实现方法。第6章介绍了神经网络的图形用户界面。后5章分别讲述了如何利用...

    Matlab---BP神经网络(获取数学表达式)_matlab_

    在MATLAB环境中,BP(Backpropagation)神经网络是一种广泛应用的监督学习模型,主要用于非线性函数拟合、分类和预测任务。本知识点主要聚焦于如何利用MATLAB来构建和训练BP神经网络,并通过该网络获取数学表达式。 ...

    MATLAB-BP神经网络算法实现

    2. **MATLAB神经网络工具箱** MATLAB的神经网络工具箱提供了丰富的函数和类,如`neuralnet`、`feedforwardnet`等,用于创建、训练和测试神经网络模型。在MATLAB 2015b中,可以使用`feedforwardnet`函数快速构建一个...

    基于MATLAB神经网络工具箱的线性神经网络实现.pdf

    基于MATLAB神经网络工具箱的线性神经网络实现.pdf

    MATLAB-神经网络工具箱函数.docx

    MATLAB神经网络工具箱是用于构建、训练和分析神经网络模型的强大工具,广泛应用于数据分析、模式识别、预测和优化等问题。以下是对文档中列出的主要函数的详细解释: 1. **网络创建函数**: - `newp`:创建一个...

Global site tag (gtag.js) - Google Analytics