我正在开发一个强化学习代理
我的奖励结构看起来像
thermal_coefficient = -0.1
zone_temperature = output[6]
if zone_temperature < self.temp_sp_min:
temp_penalty = self.temp_sp_min - zone_temperature
elif zone_temperature > self.temp_sp_max:
temp_penalty = zone_temperature - self.temp_sp_max
else :
temp_penalty = 0
我的temp_sp_min
是23.7,temp_sp_max
是24.5。当我基于epsilon贪心动作选择策略训练agent时,在大约10000集之后,我的奖励正在收敛,当我现在测试经过训练的agent时,agent所采取的动作没有意义,这意味着当zone_temperature
小于temp_sp_min
时,它正在采取一个动作,这进一步降低了区域的温度
我不明白我哪里出错了。有人能帮我吗
谢谢
epsilon贪心算法采取不合逻辑的行为是正常的,事实上这些行为应该是探索(概率为1-epsilon的行为)
但我认为对于你的问题,你需要的是一个上下文MAB的算法,因为你的回报取决于上下文/状态(当前温度)。尝试其他在LinUCB或DQN等条件下性能更好的算法
相关问题 更多 >
编程相关推荐