Я изучаю Укрепление обучения и чтение книги Саттона для университетского курса. Помимо классических алгоритмов PD, MC, TD и Q-Learning, я читаю о методах градиента политики и генетических алгоритмах решения проблем решения. У меня никогда не было опыта в этой теме, и у меня возникают проблемы с пониманием того, когда метод должен быть предпочтительнее другого. У меня есть несколько идей, но я не уверен в них. Может кто-нибудь кратко объяснить или рассказать мне источник, где я могу найти что-то о типичной ситуации, когда нужно использовать определенные методы? Насколько я понимаю:
- Динамическое программирование и линейное программирование должны использоваться только тогда, когда MDP имеет несколько действий и состояний, а модель известна, поскольку она очень дорога. Но когда DP лучше LP?
- Методы Монте-Карло используются, когда у меня нет модели проблемы, но я могу сгенерировать образцы. Он не имеет предвзятости, но имеет большую дисперсию.
- Временные методы разности должны использоваться, когда методы MC требуют слишком большого количества выборок, чтобы иметь небольшую дисперсию. Но когда я должен использовать TD и Q-Learning?
- Градиент политики и генетические алгоритмы хороши для непрерывных MDP. Но когда кто-то лучше другого?
Точнее, я думаю, что для выбора методов обучения программист должен задать себе следующие вопросы:
- Агент изучает онлайн или офлайн?
- Можно ли отделить изучение и использование фаз?
- можем ли мы провести достаточно исследований?
- является горизонтом MDP конечным или бесконечным?
- непрерывны состояния и действия?
Но я не знаю, как эти детали проблемы влияют на выбор метода обучения. Я надеюсь, что у какого-то программиста уже есть некоторый опыт в методах RL и он может помочь мне лучше понять их приложения.