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

matlab-线性网络训练过程

 
阅读更多
P=[1 1 0 ;0 1 1];
T=[0 1 0];
w=[0 0 ];
[S,Q]=size(T)
b=0;
A=purelin(w*P+b);
e=T-A;
LP.lr=maxlinlr(P)
%误差平方和
sse=sumsqr(e);
while sse>0.0000001
    dW = learnwh([],P,[],[],[],[],e,[],[],[],LP,[]);
    dB=learnwh(b,ones(1,Q),[],[],[],[],e,[],[],[],LP,[]);
    w=w+dW;
    b=b+dB;
    A=purelin(w*P+b)
    e=T-A
    sse=sumsqr(e)
end



 上面是对w-h学习规则(最小均方差)的应用,也可以使用newlin,然后再使用train进行上述训练

 

newlind是属于零误差线性网络

>> A=purelin(w*p1+b)

A =

    1.0000    0.0002

>> p1

p1 =

     1     0
     1     1

>>

 

 

help sse
 SSE Sum squared error performance function.
 
   Syntax
 
     perf = sse(E,Y,X,FP)
     dPerf_dy = sse('dy',E,Y,X,perf,FP);
     dPerf_dx = sse('dx',E,Y,X,perf,FP);
     info = sse(code)
 
   Description
 
     SSE is a network performance function.  It measures
     performance according to the sum of squared errors.
  
     SSE(E,Y,X,PP) takes E and optional function parameters,
       E - Matrix or cell array of error vectors.
       Y - Matrix or cell array of output vectors. (ignored).
       X  - Vector of all weight and bias values (ignored).
       FP - Function parameters (ignored).
      and returns the sum squared error.
 
     SSE('dy',E,Y,X,PERF,FP) returns derivative of PERF with respect to Y.
     SSE('dx',E,Y,X,PERF,FP) returns derivative of PERF with respect to X.
 
     SSE('name') returns the name of this function.
     SSE('pnames') returns the name of this function.
     SSE('pdefaults') returns the default function parameters.
  
   Examples
 
     Here a two layer feed-forward is created with a 1-element input
     ranging from -10 to 10, four hidden TANSIG neurons, and one
     PURELIN output neuron.
 
       net = newff([-10 10],[4 1],{'tansig','purelin'});
 
     Here the network is given a batch of inputs P.  The error
     is calculated by subtracting the output A from target T.
     Then the sum squared error is calculated.
 
       p = [-10 -5 0 5 10];
       t = [0 0 1 1 1];
       y = sim(net,p)
       e = t-y
       perf = sse(e)
 
     Note that SSE can be called with only one argument because
     the other arguments are ignored.  SSE supports those arguments
     to conform to the standard performance function argument list.
 
   Network Use
 
     To prepare a custom network to be trained with SSE set
     NET.performFcn to 'sse'.  This will automatically set
     NET.performParam to the empty matrix [], as SSE has no
     performance parameters.
 
     Calling TRAIN or ADAPT will result in SSE being used to calculate
     performance.

 

 

 

help learnwh
 LEARNWH Widrow-Hoff weight/bias learning function.
  
   Syntax
  
     [dW,LS] = learnwh(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)
     [db,LS] = learnwh(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)
     info = learnwh(code)
 
   Description
 
     LEARNWH is the Widrow-Hoff weight/bias learning function,
     and is also known as the delta or least mean squared (LMS) rule.
  
     LEARNWH(W,P,Z,N,A,T,E,gW,gA,D,LP,LS) takes several inputs,
       W  - SxR weight matrix (or b, an Sx1 bias vector).
       P  - RxQ input vectors (or ones(1,Q)).
       Z  - SxQ weighted input vectors.
       N  - SxQ net input vectors.
       A  - SxQ output vectors.
       T  - SxQ layer target vectors.
       E  - SxQ layer error vectors.
       gW - SxR gradient with respect to performance.
       gA - SxQ output gradient with respect to performance.
       D  - SxS neuron distances.
       LP - Learning parameters, none, LP = [].
       LS - Learning state, initially should be = [].
     and returns,
       dW - SxR weight (or bias) change matrix.
       LS - New learning state.
 
     Learning occurs according to LEARNWH's learning parameter,
     shown here with its default value.
       LP.lr - 0.01 - Learning rate
 
     LEARNWH(CODE) returns useful information for each CODE string:
       'pnames'    - Returns names of learning parameters.
       'pdefaults' - Returns default learning parameters.
       'needg'     - Returns 1 if this function uses gW or gA.
 
   Examples
 
     Here we define a random input P and error E to a layer
     with a 2-element input and 3 neurons.  We also define the
     learning rate LR learning parameter.
 
       p = rand(2,1);
       e = rand(3,1);
       lp.lr = 0.5;
 
     Since LEARNWH only needs these values to calculate a weight
     change (see Algorithm below), we will use them to do so.
 
       dW = learnwh([],p,[],[],[],[],e,[],[],[],lp,[])
 
   Network Use
 
     You can create a standard network that uses LEARNWH with NEWLIN.
 
     To prepare the weights and the bias of layer i of a custom network
     to learn with LEARNWH:
     1) Set NET.trainFcn to 'trainb'.
        NET.trainParam will automatically become TRAINB's default parameters.
     2) Set NET.adaptFcn to 'trains'.
        NET.adaptParam will automatically become TRAINS's default parameters.
     3) Set each NET.inputWeights{i,j}.learnFcn to 'learnwh'.
        Set each NET.layerWeights{i,j}.learnFcn to 'learnwh'.
        Set NET.biases{i}.learnFcn to 'learnwh'.
        Each weight and bias learning parameter property will automatically
        be set to LEARNWH's default parameters.
 
     To train the network (or enable it to adapt):
     1) Set NET.trainParam (NET.adaptParam) properties to desired values.
     2) Call TRAIN (ADAPT).
 
     See NEWLIN for adaption and training examples.
    
   Algorithm
 
     LEARNWH calculates the weight change dW for a given neuron from the
     neuron's input P and error E, and the weight (or bias) learning
     rate LR, according to the Widrow-Hoff learning rule:
 
       dw = lr*e*pn'

 

 

>> help purelin
 PURELIN Linear transfer function.
  
  Syntax
 
    A = purelin(N,FP)
    dA_dN = purelin('dn',N,A,FP)
    INFO = purelin(CODE)
 
  Description
  
    PURELIN is a neural transfer function.  Transfer functions
    calculate a layer's output from its net input.
 
    PURELIN(N,FP) takes N and optional function parameters,
      N - SxQ matrix of net input (column) vectors.
      FP - Struct of function parameters (ignored).
    and returns A, an SxQ matrix equal to N.
  
    PURELIN('dn',N,A,FP) returns SxQ derivative of A w-respect to N.
    If A or FP are not supplied or are set to [], FP reverts to
    the default parameters, and A is calculated from N.
 
    PURELIN('name') returns the name of this function.
    PURELIN('output',FP) returns the [min max] output range.
    PURELIN('active',FP) returns the [min max] active input range.
    PURELIN('fullderiv') returns 1 or 0, whether DA_DN is SxSxQ or SxQ.
    PURELIN('fpnames') returns the names of the function parameters.
    PURELIN('fpdefaults') returns the default function parameters.
  
  Examples
 
    Here is the code to create a plot of the PURELIN transfer function.
  
      n = -5:0.1:5;
      a = purelin(n);
      plot(n,a)
 
    Here we assign this transfer function to layer i of a network.
 
      net.layers{i}.transferFcn = 'purelin';
 
  Algorithm
 
      a = purelin(n) = n

 

help maxlinlr
 MAXLINLR Maximum learning rate for a linear layer.
 
   Syntax
 
     lr = maxlinlr(P)
     lr = maxlinlr(P,'bias')
 
   Description
 
     MAXLINLR is used to calculate learning rates for NEWLIN.
  
     MAXLINLR(P) takes one argument,
       P - RxQ matrix of input vectors.
     and returns the maximum learning rate for a linear layer
     without a bias that is to be trained only on the vectors in P.
 
     MAXLINLR(P,'bias') return the maximum learning rate for
     a linear layer with a bias.
  
   Examples
 
     Here we define a batch of 4 2-element input vectors and
     find the maximum learning rate for a linear layer with
     a bias.
 
       P = [1 2 -4 7; 0.1 3 10 6];
       lr = maxlinlr(P,'bias')

0
4
分享到:
评论

相关推荐

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

    线性神经网络是神经网络的一种基础形式,它在MATLAB环境中有着广泛的应用。...这个视频可能涵盖了数据预处理、网络结构的选择、训练过程的监控以及性能评估等多个方面,是学习线性神经网络和MATLAB编程的宝贵资源。

    Matlab用自适应线性神经网络进行预测的实例-用自适应线性神经网络进行预测的实例.rar

    Matlab提供的可视化工具如`plot`和`ploterr`可以帮助我们观察训练过程和预测结果的准确性。 在实际应用中,我们还需要考虑以下几点: 1. 数据预处理:可能需要对数据进行归一化或标准化,以便更好地训练网络。 2. ...

    matlab源码集锦- RBF网络的回归-非线性函数回归的实现

    - **数据预处理**:对输入数据进行归一化处理,使得数据在同一尺度上,有助于网络训练。 - **构建RBF网络**:定义RBF网络的结构,包括输入节点数、隐藏节点数(RBF单元数)和输出节点数。 - **中心选择**:根据...

    MATLAB-神经网络.zip

    4. **训练过程**: - 训练神经网络通常涉及反向传播算法,通过梯度下降优化网络权重以最小化损失函数。 - MATLAB的训练选项包括批量梯度下降、随机梯度下降和小批量梯度下降,可以通过`trainscg`、`trainlm`等函数...

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

    在训练过程中,神经网络的学习方式分为有教师学习(监督学习),如最小化均方误差(mse)进行训练,以使网络预测结果尽可能接近真实值。此外,工具箱还支持其他学习策略,以适应不同的优化和学习任务。 总的来说,...

    MATLAB-BP神经网络算法实现

    此外,现代深度学习框架如TensorFlow和PyTorch也提供了更高效的神经网络训练方法,可以结合MATLAB进行跨平台的深度学习研究。 通过这个MATLAB 2015b中的BP神经网络算法实现,你可以深入理解神经网络的工作原理,并...

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

    3. **网络训练**:使用`train`函数进行反向传播学习,调整权重和偏置。可以设定学习率、最大迭代次数、误差阈值等参数。 4. **误差分析**:通过`perform`函数计算网络的预测误差,评估模型性能。 5. **网络测试与...

    matlab-基于线性预测的语音合成matlab仿真-源码

    MATLAB提供了丰富的工具箱,如Signal Processing Toolbox和Audio Toolbox,支持语音信号的预处理、特征提取、模型训练以及合成。在基于线性预测的语音合成中,我们可以使用MATLAB进行以下步骤: 1. 语音预处理:对...

    matlab-基于BP神经网络的非线性拟合仿真-源码

    4. **训练网络**:使用MATLAB的`train`函数进行网络训练。你需要指定训练算法(如BP算法)、学习率、动量项等参数。训练过程中会迭代更新权重,直至满足停止条件(如达到最大迭代次数或误差阈值)。 5. **误差分析*...

    matlab-基于MATLAB的Hopfield网络的训练和测试-源码

    Hopfield网络,是一种人工神经网络...通过分析和修改代码,我们可以尝试解决更复杂的问题,比如增加噪声处理、优化网络训练策略或者扩展到多层网络结构。总的来说,这是一个极好的学习和研究Hopfield网络的实践平台。

    Matlab-基于BP网络的数字语音识别

    在网络训练过程中,错误信息从输出层通过反向传播到输入层,调整每个连接权重以提高网络性能。 三、数字语音识别流程 1. **语音采集**:首先,我们需要获取数字音频信号,这通常通过麦克风实现,Matlab的`audio...

    用matlab神经网络实现非线性识别

    在MATLAB中,神经网络是一种强大的工具,常用于解决非线性识别问题。非线性识别是指处理那些不能通过简单的线性关系描述的数据模式。在实际应用中,例如图像识别、语音识别、模式识别等领域,非线性模型往往能更好地...

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

    - `errsurf`:绘制误差曲面,帮助理解网络训练过程中的误差分布。 - `plotes`、`plotep`、`plotsom`等,用于可视化网络状态和结果。 10. 符号变换和拓扑函数: - `ind2vec` 和 `vec2ind`:转换索引和向量。 - `...

    Matlab-BP-CNN-master_matlab神经网络_CNNMATLAB_CNN-_matlabCNN_cnnbp.z

    MATLAB的`plot`系列函数(如`plotTrainingHistory`)可以帮助我们可视化训练过程,如损失曲线和准确率曲线,以便于监控训练状态和调整模型。 本项目“Matlab-BP-CNN-master”提供的源码示例,是理解并实践MATLAB中...

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

    本主题聚焦于"matlabBP神经网络非线性函数拟合",这是一种利用MATLAB编程环境实现的BP(Backpropagation)神经网络方法,用于对非线性数据进行建模和预测。 BP神经网络,全称为反向传播神经网络,是多层感知机...

    matlab-基于小波神经网络的数据预测算法matlab仿真,输出每次训练迭代时其对应的预测效果-源码

    - **代码实现**:项目提供的源码展示了如何在Matlab中创建WNN,加载数据,定义网络结构,设置训练参数,以及输出训练过程中每个迭代的预测结果。 4. **训练迭代与预测效果**: - **训练迭代**:在训练过程中,...

    matlab-ANNandKringing-master_神经网络_matlab神经网络_matlab_源码.zip

    代码可能涉及网络架构的定义、训练过程、Kriging插值的实现,以及可能的数据预处理和后处理步骤。通过阅读和理解这些源码,你可以深入了解这两种方法的实际应用和Matlab编程技巧。 总之,这个项目为学习和实践...

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

    在训练过程中,BP算法利用梯度下降法更新权重,以最小化预测输出与实际目标之间的误差。 MATLAB中的神经网络工具箱提供了构建和训练BP神经网络的接口。首先,我们需要定义网络结构,包括输入节点数、隐藏层节点数和...

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

    - `traingd`,`traingdm`,`traingda`,`traingdx`,`trainlm`:不同的BP网络训练算法,如梯度下降、动量项、自适应学习率等。 - `trainwbl`:每个训练周期使用不同的权值和偏差向量。 11. **分析函数**: - `...

Global site tag (gtag.js) - Google Analytics