预测
语法
描述
评估环境转换函数近似者对象predNextObs
=预测(tsnFcnAppx
,奥林匹克广播服务公司
,行为
)tsnFcnAppx
并返回预测下一个观察nextObs
,鉴于当前的观测奥林匹克广播服务公司
和行动行为
。
评估环境奖励函数近似者对象predReward
=预测(rwdFcnAppx
,奥林匹克广播服务公司
,行为
,nextObs
)rwdFcnAppx
并返回预测奖励predReward
,鉴于当前的观测奥林匹克广播服务公司
,操作行为
,下观察nextObs
。
评估环境完成函数近似者对象predIsDone
=预测(idnFcnAppx
,奥林匹克广播服务公司
,行为
)idnFcnAppx
并返回预测完成状态predIsDone
,鉴于当前的观测奥林匹克广播服务公司
,操作行为
,下观察nextObs
。
例子
预测下一个观察使用连续高斯转换函数估计值
创建的观察和操作规范对象(或者使用getObservationInfo
和getActionInfo
从环境中提取规范对象)。在这个例子中,两个观察频道进行四次和二维空间向量,分别。行动是一个连续的三维向量。
obsInfo = [rlNumericSpec ((4 - 1), UpperLimit = 10 * 1 (4,1));rlNumericSpec ([1 - 2], UpperLimit = 20 * 1 (1、2)));actInfo = rlNumericSpec (1 [3]);
创建一个深层神经网络作为近似模型的转换函数估计值。连续高斯转换函数近似者,网络必须有两个输出层为每个观察(一个平均值的标准偏差的其他值)。
定义每个网络路径层对象数组。得到的尺寸从环境中观察和行动空间规范对象,并指定一个输入层的名称,所以您稍后可以显式地将它们与适当的信道环境。
%从第一层观测通道输入路径inPath1 = [featureInputLayer (…刺激(obsInfo (1) .Dimension),…Name =“netObsIn1”)fullyConnectedLayer (Name =“infc1”));%输入路径层从第二观察通道inPath2 = [featureInputLayer (…刺激(obsInfo (2) .Dimension),…Name =“netObsIn2”)fullyConnectedLayer (Name =“infc2”));%输入路径层从行动通道inPath3 = [featureInputLayer (…刺激(actInfo (1) .Dimension),…Name =“netActIn”)fullyConnectedLayer (Name =“infc3”));%联合路径层,连接3输入第一个维度jointPath = = [concatenationLayer(1、3、名称“concat”)tanhLayer (Name =“tanhJnt”);fullyConnectedLayer (Name =“jntfc”));%路径层首先预测突发的平均值%利用scalingLayer规模从(1)到(-10年,10)%注意尺度向量必须是列向量meanPath1 = [tanhLayer (Name =“tanhMean1”);fullyConnectedLayer (prod (obsInfo (1) .Dimension));scalingLayer (Name =“scale1”,…规模= obsInfo (1) .UpperLimit)];%路径层预测标准差第一观察%使用softplus层使其非负的sdevPath1 = [tanhLayer (Name =“tanhStdv1”);fullyConnectedLayer (prod (obsInfo (1) .Dimension));softplusLayer (Name =“splus1”));%路径层的第二个预测平均值的观察%利用scalingLayer规模从(1)到(-20年,20)%注意尺度向量必须是列向量meanPath2 = [tanhLayer (Name =“tanhMean2”);fullyConnectedLayer (prod (obsInfo (2) .Dimension));scalingLayer (Name =“scale2”,…规模= obsInfo (2) .UpperLimit (:)));%路径层标准差第二预测奥林匹克广播服务公司%使用softplus层使其非负的sdevPath2 = [tanhLayer (Name =“tanhStdv2”);fullyConnectedLayer (prod (obsInfo (2) .Dimension));softplusLayer (Name =“splus2”));%添加层网络对象网= layerGraph;网= addLayers(净,inPath1);网= addLayers(净,inPath2);网= addLayers(净,inPath3);网= addLayers(净,jointPath);网= addLayers(净,meanPath1);网= addLayers(净,sdevPath1);网= addLayers(净,meanPath2);网= addLayers(净,sdevPath2);%连接层网= connectLayers(网络,“infc1”,“concat /三机一体”);网= connectLayers(网络,“infc2”,“concat / in2”);网= connectLayers(网络,“infc3”,“concat / in3”);网= connectLayers(网络,“jntfc”,“tanhMean1 /”);网= connectLayers(网络,“jntfc”,“tanhStdv1 /”);网= connectLayers(网络,“jntfc”,“tanhMean2 /”);网= connectLayers(网络,“jntfc”,“tanhStdv2 /”);%的阴谋网络情节(净)
%转换为dlnetwork网= dlnetwork(净);%显示权重的数量总结(净)
初始化:可学的真正的数字:352输入:1“netObsIn1”4功能2“netObsIn2”功能3“netActIn”特性
创建一个连续高斯转换函数近似者对象,指定输入和输出层的名字。
tsnFcnAppx = rlContinuousGaussianTransitionFunction (…净,obsInfo actInfo,…ObservationInputNames = [“netObsIn1”,“netObsIn2”),…ActionInputNames =“netActIn”,…NextObservationMeanOutputNames = [“scale1”,“scale2”),…NextObservationStandardDeviationOutputNames = [“splus1”,“splus2”]);
预测下一个观察随机观察和行动。
predObs =预测(tsnFcnAppx,…{兰特(obsInfo (1) .Dimension),兰德(obsInfo (2) .Dimension)},…{兰特(actInfo (1) .Dimension)})
predObs =1×2单元阵列{4 x1单}{[-24.9934 - 0.9501]}
产生的细胞数组的每个元素代表了预测相应的观测通道。
显示的平均值和标准差的高斯概率分布预测观察,使用评估
。
predDst =评估(tsnFcnAppx,…{兰特(obsInfo (1) .Dimension),兰德(obsInfo (2) .Dimension),…兰特(actInfo (1) .Dimension)})
predDst =1×4单元阵列{4 x1单}{2 x1单}{4 x1单}{2 x1单}
结果是一个单元阵列的第一和第二元素代表平均预测观测值在第一和第二通道,分别。第三和第四个元素代表的标准差预测观察在第一和第二通道,分别。
创建确定性奖励功能和预测奖励
创建一个环境接口和提取观测和操作规范。或者,您可以创建规范使用rlNumericSpec
和rlFiniteSetSpec
。
env = rlPredefinedEnv (“CartPole-Continuous”);obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);
近似奖励功能,创建一个深层神经网络。对于这个示例,网络输入层有两个,一个为当前的行动,一个用于下一个观察。单一输出层包含一个标量,它表示预测的价值回报。
定义每个网络路径层对象数组。得到的尺寸从环境中观察和行动空间规范,和指定的名称输入层,所以您稍后可以显式地将它们与适当的信道环境。
actionPath = featureInputLayer (…actInfo.Dimension (1),…Name =“行动”);nextStatePath = featureInputLayer (…obsInfo.Dimension (1),…Name =“nextState”);commonPath = = [concatenationLayer(1、2、名称“concat”)fullyConnectedLayer (64) reluLayer fullyConnectedLayer (64) reluLayer fullyConnectedLayer (64) reluLayer fullyConnectedLayer (1)];网= layerGraph (nextStatePath);网= addLayers(净,actionPath);网= addLayers(净,commonPath);网= connectLayers(网络,“nextState”,“concat /三机一体”);网= connectLayers(网络,“行动”,“concat / in2”);情节(净)
创建一个dlnetwork
对象和显示权重的数量。
网= dlnetwork(净);总结(净);
初始化:真很多可学的:8.7 k输入:1“nextState”4 2 '行动' 1功能特性
创建一个确定性转换函数对象。
rwdFcnAppx = rlContinuousDeterministicRewardFunction (…净,obsInfo actInfo,…ActionInputNames =“行动”,…NextObservationInputNames =“nextState”);
使用此奖励函数对象,您可以预测下一个奖励值基于当前行动和接下来观察。例如,预测接下来奖励随机操作和观察。以来,在这个例子中,只有行动和接下来观察影响奖励,使用一个空单元数组当前观察。
行动=兰德(actInfo.Dimension);nxtobs =兰德(obsInfo.Dimension);奖励=预测(rwdFcnAppx, {}, {}, {nxtobs})
奖励=单0.1034
预测奖励,你也可以使用评估
。
reward_ev =评估(rwdFcnAppx{法案,nxtobs})
reward_ev =1 x1单元阵列{[0.1034]}
创建完成功能和预测终止
创建一个环境接口和提取观测和操作规范。或者,您可以创建规范使用rlNumericSpec
和rlFiniteSetSpec
。
env = rlPredefinedEnv (“CartPole-Continuous”);obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);
近似是函数,使用深层神经网络。网络有一个输入通道观测。预测的单一输出通道是终止信号。
创建层神经网络作为一个向量的对象。
commonPath = [featureInputLayer (…obsInfo.Dimension (1),…Name =“nextState”)fullyConnectedLayer (64) reluLayer fullyConnectedLayer (64) reluLayer fullyConnectedLayer (2) softmaxLayer (Name =“结束”));网= layerGraph (commonPath);情节(净)
秘密的网络dlnetwork
对象和显示权重的数量。
网= dlnetwork(净);总结(净);
初始化:真很多可学的:4.6 k输入:1“nextState”4特性
创建一个完成函数近似者对象。
isDoneFcnAppx = rlIsDoneFunction (…净,obsInfo actInfo,…NextObservationInputNames =“nextState”);
使用此完成函数近似者对象,您可以预测基于未来观察终止信号。例如,预测接下来的终止信号随机观察。因为对于这个示例终止信号只取决于下一个观察,使用空单元数组当前操作和观察输入。
nxtobs =兰德(obsInfo.Dimension);predIsDone =预测(isDoneFcnAppx, {}, {}, {nxtobs})
predIsDone = 0
您可以获得使用终止概率评估
。
predIsDoneProb =评估(isDoneFcnAppx {nxtobs})
predIsDoneProb =1 x1单元阵列{2 x1单}
predIsDoneProb {1}
ans =2 x1单一列向量0.5405 - 0.4595
第一个数字是获得的概率0
(没有终止预测),第二个是获得的概率1
(终止预测)。
输入参数
tsnFcnAppx
- - - - - -环境转换函数近似者对象
rlContinuousDeterministicTransitionFunction
对象|rlContinuousGaussianTransitionFunction
对象
环境转换函数近似者对象,指定为以下之一:
rwdFcnAppx
- - - - - -环境奖励函数
rlContinuousDeterministicRewardFunction
对象|rlContinuousGaussianRewardFunction
对象|函数处理
环境奖励函数近似者对象,指定为以下之一:
函数处理对象。关于函数处理对象的更多信息,请参阅一个函数处理是什么?。
idnFcnAppx
- - - - - -环境完成函数近似者对象
rlIsDoneFunction
对象
环境完成函数近似者对象,指定为一个rlIsDoneFunction
对象。
奥林匹克广播服务公司
- - - - - -观察
单元阵列
行为
- - - - - -行动
单元素单元阵列
行动,指定为一个单元素单元阵列,其中包含一个数组的值。
这个数组的维度米一个——- - - - - -lB,地点:
米一个对应的尺寸相关的行动规范。
lB批量大小。指定一个单一的观察,集lB= 1。指定一批观察,指定lB> 1。
lB必须是一样的吗行为
和奥林匹克广播服务公司
。
更多信息在递归神经网络的输入和输出格式,请参见算法部分lstmLayer
。
nextObs
- - - - - -下观察
单元阵列
下观察,观察后行动行为
从观察奥林匹克广播服务公司
指定为一个单元阵列的尺寸一样奥林匹克广播服务公司
。
输出参数
predNextObs
——预测下一个观察
单元阵列
预测下一个观察,观察预测的转换函数估计值tsnFcnAppx
鉴于目前的观察奥林匹克广播服务公司
和行动行为
,让哑的单元阵列尺寸一样奥林匹克广播服务公司
。
predReward
——预测下一个观察
单
预测奖励,奖励预测的奖励函数估计值rwdFcnAppx
鉴于目前的观察奥林匹克广播服务公司
,操作行为
和下面的观察nextObs
,哑音单
。
predIsDone
——预测下一个观察
双
预计完成事件状态,这一事件终止状态预测的完成函数近似者rwdFcnAppx
鉴于目前的观察奥林匹克广播服务公司
,操作行为
和下面的观察nextObs
,返回双
。
请注意
如果fcnAppx
是一个rlContinuousDeterministicRewardFunction
对象,然后评估
行为相同,预测
除了它返回的结果在一个单细胞阵列。如果fcnAppx
是一个rlContinuousDeterministicTransitionFunction
对象,然后评估
行为相同,预测
。如果fcnAppx
是一个rlContinuousGaussianTransitionFunction
对象,然后评估
返回均值和标准偏差的观察概率分布,预测
返回一个观察抽样分布。类似地,对于一个rlContinuousGaussianRewardFunction
对象,评估
返回均值和标准偏差的奖赏的概率分布预测
返回一个奖励抽样分布。最后,如果fcnAppx
是一个rlIsDoneFunction
对象,然后评估
返回的终止状态的概率或真或假,分别预测
返回一个预测终止状态与这些概率抽样。
版本历史
介绍了R2022a
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。