神经网络创建函数
cascadeforwardnet - Cascade-forward neural network. 创建多层前馈BP网络
competlayer - Competitive neural layer. 创建竞争层
distdelaynet - Distributed delay neural network. 创建延时网络
elmannet - Elman neural network. 创建ELMAN递归网络
feedforwardnet - Feed-forward neural network. 创建前馈BP网络
linearlayer - Linear neural layer. 创建线性层
lvqnet - Learning vector quantization (LVQ) neural network. 创建学习向量向量化网络
newgrnn - Design a generalized regression neural network. 设计广义回归神经网络
newhop - Create a Hopfield recurrent network. 创建Hopfield递归网络
newlind - Design a linear layer. 设计线性层
newpnn - Design a probabilistic neural network. 设计概率神经网络
newrb - Design a radial basis network. 设计径向基网络
newrbe - Design an exact radial basis network. 设计严格的径向基网络
patternnet - Pattern recognition neural network. 创建模式识别神经网络
perceptron - Perceptron. 创建感知器网络
selforgmap - Self-organizing map. 创建自组织特征映射
timedelaynet - Time-delay neural network. 创建时滞神经网络
可视化工具
nctool - Neural Classification app 聚类问题
nftool - Neural Fitting app 拟合问题
nprtool - Neural Pattern Recognition app 模式识别问题
ntstool - Neural Time Series app 时间序列问题
训练函数
trainb - 使用权重和偏差学习规则进行批量训练
trainbfg - 拟牛顿反向传播训练函数
trainbr - 贝叶斯归一化反向传播。
trainbu - 具有重量和偏见学习规则的无监督训练
trainc - 以学习函数依次对输入样本进行训练的函数
traincgb - 用Powell-Beale重新进行共轭梯度反向传播。
traincgf - 与Fletcher-Reeves变梯度反向传播。
traincgp - 与Polak-Ribiere变共轭梯度反向传播。
traingd - 梯度下降反向传播。
traingda - 具有自适应lr反向传播的梯度下降。
traingdm - 具有动量因子的梯度下降反向。
traingdx - 梯度下降/动量和自适应lr反向传播
trainlm - 梯度下降/动量和自适应lr反向传播
trainoss - oss 反向传播算法.
trainrp - 弹性BP反向传播的训练函数
trainscg - 比例共轭梯度反向传播。
神经网络对象net及其对象(还有一个子对象,不学)
P=[0,0,1,1;0,1,1,1]
P =
0 0 1 1
0 1 1 1
T=[0,1,0,1]
T =
0 1 0 1
>> net=newrbe(P,T) 创建一个径向基网络
然后会得到以下描述:
net =
Neural Network
name: 'Radial Basis Network, Exact'
userdata: (your custom info)
dimensions:
numInputs: 1 定义了网络的输入向量的个数。
numLayers: 2 定义网络的层数,不包括输入层。
numOutputs: 1 定义网络的输出数
numInputDelays: 0 输入向量的延迟
numLayerDelays: 0 网络层的输出单元的延迟
numFeedbackDelays: 0 反馈的延迟
numWeightElements: 17
sampleTime: 1
connections:
biasConnect: [1; 1] 各个网络层是否有阙值,表明两个网络层都具有阙值
inputConnect: [1; 0] 各层是否有来自输入层的输入向量的连接权,其值为Nx1二值向量 这里是指,输入层与隐含层之间具有连接权值,隐含层与输出层之间没有。
layerConnect: [0 0; 1 0] 定义一个网络层是否具有另一个网络层的连接权值。
outputConnect: [0 1] 定义各网络层是否作为输出层
subobjects:
input: Equivalent to inputs{1}
output: Equivalent to outputs{2}
inputs: {1x1 cell array of 1 input}
layers: {2x1 cell array of 2 layers}
outputs: {1x2 cell array of 1 output}
biases: {2x1 cell array of 2 biases}
inputWeights: {2x1 cell array of 1 weight}
layerWeights: {2x2 cell array of 1 weight}
functions:
adaptFcn: (none) 定义网络进行权值/阙值调整时所采取的函数 adapt函数
adaptParam: (none)
derivFcn: 'defaultderiv'
divideFcn: (none)
divideParam: (none)
divideMode: 'sample'
initFcn: 'initlay' 定义网络初始化权值或阙值是所采取的函数 init函数
performFcn: 'mse' 网络用于衡量网络性能所采用的函数 mae绝对平均 mse均方误差 msereg归一化均方误差 sse平方和误差
performParam: .regularization, .normalization
plotFcns: {}
plotParams: {1x0 cell array of 0 params}
trainFcn: (none) 定义当前的训练函数
trainParam: (none) 相应的参数值
weight and bias values:
IW: {2x1 cell} containing 1 input weight matrix 定义从网络输入向量到网络层之间的权值向量,是一个N*M的细胞数组,N是指网络层数,M为输入向量个数。
LW: {2x2 cell} containing 1 layer weight matrix 定义从一个网络层到另一个网络层的权值向量
b: {2x1 cell} containing 2 bias vectors 定义各层的阈值,有两层就有两层阈值
methods:
adapt: Learn while in continuous use
configure: Configure inputs & outputs
gensim: Generate Simulink model
init: Initialize weights & biases
perform: Calculate performance
sim: Evaluate network outputs given inputs
train: Train network with examples
view: View diagram
unconfigure: Unconfigure inputs & outputs
evaluate: outputs = net(inputs)