- A RL é a estrutura correta sob tais restrições?
Parece possível , mas talvez alguns pequenos detalhes que você não tenha fornecido tornariam outras abordagens mais viáveis. Por exemplo, se os eventos de notificação puderem ser tratados como mais ou menos independentes, uma abordagem de aprendizado supervisionado poderá ser melhor ou pelo menos mais pragmática.
Mais praticamente, não está 100% claro qual será o seu estado, timesteps e opções de ação. Elas precisam ser bem definidas para que as abordagens de RL funcionem. Além disso, você deseja poder construir estados que possuem (ou quase possuem) a propriedade Markov - essencialmente que qualquer coisa conhecida e não aleatória sobre a recompensa esperada e o próximo estado seja coberta pelo estado.
- Como podemos aprender a política ideal offline em tais situações
Você quer um aluno offline (os dados são históricos, não "ativos") e fora da política (os dados são gerados por uma política diferente daquela que você deseja avaliar). Além disso, acho que você não conhece as políticas de comportamento que geraram seus dados, portanto não pode usar a amostragem de importância .
Provavelmente, você pode usar uma abordagem de Q-learning e trabalhar com os dados existentes, reproduzindo cada trajetória usando Q ( ) em lotes, ou alguma variante do DQN usando mini-lotes amostrados .λ
Isso não garante que funcione, pois o aprendizado fora da política tende a ser menos estável do que na política e pode exigir várias tentativas para obter hiperparâmetros que funcionem. Você precisará de um bom número de amostras que cubram as opções ideais ou quase ideais em cada etapa (não necessariamente nos mesmos episódios), porque o Q-learning depende do bootstrapping - essencialmente copiando estimativas de valor das opções de ação para trás, para os timestaps anteriores, para influenciar que afirma anteriormente que o agente prefere executar ações a seguir.
Se o seu espaço de estado / ação for pequeno o suficiente (quando você enumera completamente os estados e as ações), você pode preferir usar a forma tabular de Q-learning, pois há algumas garantias de convergência. No entanto, para a maioria dos problemas práticos, isso não é realmente possível; portanto, você deve procurar opções para usar as funções de aproximação.
... e como avaliamos o mesmo?
Se você pode obter valores de ação convergentes com aparência realista do seu Q-learning (por inspeção), existem apenas duas maneiras razoáveis de avaliar o desempenho:
Executando o agente em uma simulação (e talvez refinando-o ainda mais lá) - não espero que isso seja viável para o seu cenário, porque seu ambiente inclui decisões tomadas por seus clientes. No entanto, este é um bom trampolim para alguns cenários, por exemplo, se o ambiente é dominado pela física básica do mundo real.
Executando o agente de verdade, talvez em algum subconjunto da carga de trabalho, e comparando as recompensas reais às previstas com tempo suficiente para estabelecer confiança estatística.
Você também pode executar o agente a seco com um operador existente e obter feedback sobre se suas sugestões de ações (e previsões de recompensa) parecem realistas. Isso será um feedback subjetivo e difícil de avaliar o desempenho numericamente quando as ações podem ou não ser usadas. No entanto, isso forneceria um pouco de controle de qualidade.