使神经网络适应模拟数据
[net,Y,E,Pf,Af,tr]=adapt(net,P,T,Pi,Ai)
类型帮助网络/调整
.
此函数用于计算每次显示输入后的网络输出和错误。
[net,Y,E,Pf,Af,tr]=adapt(net,P,T,Pi,Ai)
拿
净 |
网络 |
P |
网络输入 |
T |
网络目标(默认值= 0) |
圆周率 |
初始输入延迟条件(默认为零) |
艾岛 |
初始层延迟条件(默认值=零) |
并在应用自适应函数后返回以下内容调整函数
使用自适应参数net.adaptParam
:
净 |
更新网络 |
Y |
网络输出 |
E |
网络错误 |
Pf |
最终输入延迟条件 |
Af |
最终层延迟条件 |
tr |
培训记录( |
注意T
是可选的,仅对于需要目标的网络才需要。圆周率
和Pf
也是可选的,只需要用于具有输入或层延迟的网络。
适应
的信号参数可以有两种格式:单元格数组或矩阵。
单元格数组格式是最容易描述的。它对于有多个输入和输出的网络是最方便的,并且允许输入序列被呈现,
P |
|
每个元素 |
T |
|
每个元素 |
圆周率 |
|
每个元素 |
艾岛 |
|
每个元素 |
Y |
|
每个元素 |
E |
|
每个元素 |
Pf |
|
每个元素 |
Af |
|
每个元素 |
哪里
倪 |
= |
net.numInputs |
问 |
= |
net.numLayers |
没有 |
= |
net.numOutputs |
身份证件 |
= |
net.numinput延迟 |
LD |
= |
net.numLayerDelays |
TS |
= |
时间步数 |
Q |
= |
批量大小 |
Ri |
= |
net.inputs{我}.size |
硅 |
= |
net.layers{我}.size |
用户界面 |
= |
净输出{i}.size |
列圆周率
,Pf
,艾岛
,Af
从最古老的延迟条件到最近的:
π{i,k} |
= |
输入 |
Pf{i,k} |
= |
输入 |
Ai {i、k} |
= |
层输出 |
Af{i,k} |
= |
层输出 |
如果只模拟一个时间步,则可以使用矩阵格式(TS=1
)。它适用于只有一个输入和输出的网络,但可用于具有更多输入和输出的网络。
通过将相应单元格数组参数的元素存储在单个矩阵中,可以找到每个矩阵参数:
P |
( |
T |
( |
圆周率 |
( |
艾岛 |
( |
Y |
( |
E |
( |
Pf |
( |
Af |
( |
这里有两个12步的序列(其中T1
是众所周知的依靠P1
)用于定义过滤器的操作。
p1={-10101-1010-10101};t1={-1-1110-1-1011};
在这里线性层
用于创建输入范围为的图层[-1 1]
,一个神经元,输入延迟为0和1,学习率为0.1。然后模拟线性层。
网=线性层
([0 1],0.1);
在这里,网络适用于一次通过序列。
显示网络的均方误差。(因为这是第一次呼叫适应
,默认值圆周率
(已使用。)
[net,y,e,pf]=adapt(net,p1,t1);mse(e)
请注意,错误相当大。在这里,网络适应另外12个时间步(使用先前的Pf
作为新的初始延迟条件)。
p2={1-1-11-1001-1-1};t2={20-20-20-100-10-1};[net,y,e,pf]=adapt(net,p2,t2,pf);mse(e)
在这里,网络在整个序列中适应100次。
p3=[p1 p2];t3=[t1-t2];对于i=1:100[net,y,e]=adapt(net,p3,t3);结束mse(e)
100次通过序列后的误差非常小。该网络已经适应了输入信号和目标信号之间的关系。
适应
调用指定的函数调整函数
,使用由指示的自适应参数值net.adaptParam
.
给定一个带有TS
步骤,网络更新如下:输入序列中的每个步骤一次一个地呈现给网络。网络的权重和偏差值在每一步之后更新,然后再显示序列中的下一步。因此,网络被更新TS
时代。