Discussão do artigo "Processos gaussianos em machine learning (Parte 1): modelo de classificação em MQL5"

 

Novo artigo Processos gaussianos em machine learning (Parte 1): modelo de classificação em MQL5 foi publicado:

Neste artigo, analisaremos o modelo de classificação com processos gaussianos. Iniciaremos com o estudo de seus princípios teóricos e, posteriormente, desenvolveremos uma biblioteca de PG em MQL5.

Damos continuidade ao nosso estudo do modelo de machine learning conhecido como processos gaussianos (PG). No artigo anterior, analisamos em detalhe o problema de regressão, no qual o objetivo principal era prever valores contínuos. Hoje, vamos tratar de um tema muito mais complexo: a classificação. Sua principal dificuldade está no fato de que o processo de inferência (inference) para classificação em processos gaussianos não possui solução analítica, o que exige o uso de métodos aproximados, como a aproximação de Laplace.

Para resolver essa tarefa complexa de forma eficiente, desenvolveremos uma biblioteca modular de processos gaussianos em MQL5. Essa abordagem permitirá estruturar o código, dividindo o modelo de PG em componentes independentes, e fornecerá uma base sólida para melhorias e expansões futuras. Essa biblioteca se tornará uma ferramenta universal tanto para tarefas de regressão quanto de classificação.

Nesta primeira parte do artigo, analisaremos em detalhes a teoria da classificação com PG, incluindo a matemática que serve de base para os métodos aproximados. Também apresentaremos a classe principal da biblioteca, GaussianProcess, que reunirá todos os componentes do modelo, e a classe GPOptimizationObjective, responsável pela integração com a biblioteca de otimização Alglib.


Autor: Evgeniy Chernish

 

Ainda não o li em detalhes, mas devo ter perdido alguma coisa.

В отличие от таких методов, как ... деревья решений, которые выдают только метку класса, ГП позволяют получить вероятностное предсказание.

Na minha opinião, as árvores fornecem a probabilidade de classe perfeitamente bem.

Para a classificação, em que os alvos são rótulos de classe discretos, a probabilidade gaussiana não é adequada.

Parece que os algoritmos de classificação "de madeira" traduzem as probabilidades em valores contínuos "logodds" e, em seguida, a classificação é realmente reduzida a um problema de regressão nesses valores contínuos de logodds. Por que isso não pode ser aplicado à probabilidade gaussiana, seja ela qual for? Infelizmente, não encontrei esse termo em lugar algum, exceto no manual do Python, mas conheço a distribuição gaussiana, a mistura gaussiana, a máxima verossimilhança, a maximização da expectativa ;-).

 
Stanislav Korotky #:

Ainda não o li em detalhes, mas já devo ter perdido alguma coisa.

Na minha opinião, as árvores revelam perfeitamente a probabilidade de classe.

Parece que os algoritmos de classificação "de madeira" traduzem as probabilidades em valores contínuos "logodds" e, em seguida, a classificação é realmente reduzida a um problema de regressão nesses valores contínuos de logodds. Por que isso não pode ser aplicado à probabilidade gaussiana, seja ela qual for? Infelizmente, não encontrei esse termo em lugar algum, exceto no manual do Python, mas conheço a distribuição gaussiana, a mistura gaussiana, a máxima verossimilhança, a maximização da expectativa ;-).

Boa tarde!

De fato, olhando para o scikit-learn, as árvores fornecem a probabilidade da classe. Por algum motivo, pensei que somente os métodos de conjunto produziam probabilidade. Bem, viva e aprenda, você morrerá como um tolo, como dizem.

Agora sobre a probabilidade gaussiana e por que ela não se encaixa no problema de classificação.

A verossimilhança gaussiana é a densidade de probabilidade de uma distribuição normal dada a expectativa matemática e a variação. O papel da expectativa matemática em nosso GP é desempenhado pela função latente f, e a variação é, na verdade, o verdadeiro ruído dos dados.

Qual é a diferença entre a razão de verossimilhança e a função de densidade de probabilidade normal? Na função de densidade de probabilidade normal, substituímos alguns valores de y em valores fixos de parâmetros e obtemos a probabilidade desse y.

Na razão de verossimilhança, é o contrário. Nosso y é fixo e os parâmetros da distribuição mudam. Portanto, a probabilidade é uma função dos parâmetros. Por exemplo, a probabilidade nos diz que, com os parâmetros 0,2 e 1, a probabilidade de nossa trajetória observada y = 0,06. E com 0,8 e 1,2, a probabilidade de observar y = 0,12. Portanto, vemos que o segundo conjunto de parâmetros descreve de forma mais plausível os dados empíricos com os quais estamos lidando. Daí o nome "plausibilidade".

Agora, por que não podemos usar "logodds" e aplicá-lo à probabilidade gaussiana? A probabilidade gaussiana pressupõe que os dados observados y obedecem a uma distribuição normal. Ou seja, que y são valores contínuos.

No modelo GP para classificação, a função latente f(x) pode ser interpretada como "logodds". Mas nós prevemos essa função, não a observamos. Observamos rótulos discretos y. E a probabilidade gaussiana é aplicada aos dados observados. E os dados observados são discretos. É por isso que eles são distribuídos no caso binário de acordo com a lei de Bernoulli.

Para a tarefa de classificação, a probabilidade deve descrever a probabilidade de rótulos discretos, portanto, é natural escolher a probabilidade logit.

 
Muito bom artigo. Aguardo ansiosamente sua futura série sobre o Processo Gaussiano.