Sim*_*mon 22 algorithm artificial-intelligence machine-learning markov-chains reinforcement-learning
我正在学习强化学习和阅读萨顿的大学课程.除了经典的PD,MC,TD和Q-Learning算法之外,我还在阅读有关决策问题解决的政策梯度方法和遗传算法.我之前从未有过这个主题的经验,而且我很难理解何时应该优先选择一种技术.我有一些想法,但我不确定.有人可以简单解释或告诉我一个来源,我可以找到一些应该使用某些方法的典型情况吗?据我所理解:
更准确地说,我认为选择一种学习方法,程序员应该问自己以下问题:
但我不知道问题的这些细节如何影响学习方法的选择.我希望有些程序员已经对RL方法有一些经验,可以帮助我更好地理解他们的应用程序.
简述:
代理人在线或离线学习吗?帮助您决定使用在线还是离线算法.(例如,在线:SARSA,离线:Q-learning).在线方法有更多限制,需要更多关注薪酬.
我们可以分开探索和开发阶段吗?这两个阶段通常处于平衡状态.例如,在epsilon-greedy动作选择中,您使用(epsilon)概率进行探索,并使用(1-epsilon)概率进行探索.您可以将这两者分开并要求算法首先进行探索(例如选择随机动作),然后再利用.但是当你离线学习并且可能使用模型来表示系统的动态时,这种情况是可能的.它通常意味着提前收集大量样本数据.
我们可以进行足够的探索吗 探索水平可以根据问题的定义来决定.例如,如果您在内存中有问题的模拟模型,那么您可以根据需要进行探索.但真正的探索仅限于你拥有的资源量.(例如能量,时间......)
国家和行动是否连续?考虑这个假设有助于选择正确的方法(算法).有针对RL开发的离散和连续算法.一些"连续"算法在内部离散状态或动作空间.