主要内容

神经网络多步预测

在开环模式

动态网络和反馈,如narxnetnarnet神经网络,可以在开环和闭环模式之间转换的功能openloopcloseloop。闭环网络进行多步预测。换句话说他们继续预测当外部反馈丢失,通过使用内部反馈。

在神经网络训练模型磁悬浮系统和模拟在默认开环模式。

[X, T] = maglev_dataset;网= narxnet (1:2, 1:2, 10);[x, xi,人工智能,t] = preparets(净,x, {}, t);网=火车(净,x, t, xi, ai);净(y = x, xi, ai);视图(净)

多步闭环预测从初始条件

神经网络也可以模拟只在闭环形式,因此,鉴于外部输入系列和初始条件,执行尽可能多的预测神经网络输入系列有时间步骤。

netc = closeloop(净);视图(netc)

这里的训练数据是用于定义的输入x和最初的输入和层延迟,人工智能,但他们可以定义多个预测任何输入系列和初始状态。

[x, xi,人工智能,t] = preparets (netc, x, {}, t);yc = netc (x, xi, ai);

多步闭环预测已知序列

它也可以是有用的模拟训练神经网络目前所有已知的值的一个时间序列在开环模式下,然后切换到闭环模式继续仿真所需的尽可能多的预测未来。

就像openloopcloseloop可以用来转换之间的开放和闭环神经网络,他们可以把打开的状态,和闭环网络。以下是这些功能的完整的接口。

[open_net, open_xi open_ai] = openloop (closed_net, closed_xi closed_ai);[closed_net, closed_xi closed_ai] = closeloop (open_net, open_xi open_ai);

考虑这样一种情况,你可能有一个记录20次磁悬浮的行为步骤,你想提前预测20多步骤。

首先,定义的前20个步骤输入和目标,代表着20时间步骤的输出定义的目标t。未来20时间输入定义的步骤,使用网络来预测预测20输出使用的反馈,以帮助网络执行下一个预测。

x1 = x (1:20);t1 = t (1:20);x2 = x (21:40);

然后开环神经网络模拟数据。

[x, xi,人工智能,t] = preparets(净,x1, {}, t1);(xf日元,af) =净(x, xi, ai);

现在最后的输入和层返回的状态网络转换为闭环形式以及网络。最后输入状态xf和国家层房颤开环网络成为最初的输入状态和国家层人工智能闭环网络。

[netcξ,ai] = closeloop(净、xf af);

通常使用preparets定义初始输入和层。因为这些已经得到开环仿真结束时,你不需要preparets继续20步的预测闭环网络。

(y2、xf af) = netc (x2, xi, ai);

注意,可以设置x2不同的输入序列测试不同的场景,然而许多时间步骤你想做出预测。例如,预测磁悬浮系统的行为如果使用10个随机输入:

x2 = num2cell(兰德(10));(y2、xf af) = netc (x2, xi, ai);

在闭环和开环仿真模拟

如果模拟闭环形式的网络后,你可以继续开环形式的模拟从那里。这里的闭环状态转换回开环状态。(你不需要网络转换回开环形式你已经原开环网络。)

(~,xi, ai) = openloop (netc xf, af);

现在,您可以定义外部输入的延续和开环反馈,和模拟开环网络。

x3 = num2cell(兰德(2,10));y3 =净(x3, xi, ai);

通过这种方式,您可以模拟开环和闭环方式之间的转换。一个应用程序,这是时间序列预测的传感器,在最后一个传感器值通常是已知的,允许开环预测下一步。但在某些情况下传感器阅读不可用,或者是错误的,要求一个闭环预测步骤。预测可以轮流开环和闭环形式,取决于最后一步的传感器的可用性阅读。