
Обучение с подкреплением для принятия решений в сложных условиях
671
else:
q_target = r + self.gamma*np.max(self.q_table[next_s])
# Обновление q_table
self.q_table[s][a] += self.lr * (q_target - q_val)
# Подгонка epsilon
self._adjust_epsilon()
def _adjust_epsilon(self):
if self.epsilon > self.epsilon_min:
self.epsilon *= self.epsilon_decay
Конструктор
__init__()
задает различные гиперпараметры — такие как скорость обуче-
ния, коэффициент дисконтирования γ и параметры для ε-жадной политики. Изначально
мы начинаем с высокого значения ε, но метод
_adjust_epsilon()
уменьшает его, пока оно
не достигнет минимального значения ε
min
. Метод ...