Programação Kaizen Para Construção De Modelos Interpretáveis: Uma Abordagem Multiobjetivo Para Regressão Simbólica
Data
2017-04-13
Tipo
Dissertação de mestrado
Título da Revista
ISSN da Revista
Título de Volume
Resumo
Regression problems are among some of the main current uses for machine learning and pattern recognition techniques, coming from the necessity of identifying relationships between behaviors and explanatory variables in economy, engineering, natural environment and numerous other areas. Traditional machine learning techniques such as artificial neural networks are extensively applied to real problems with good success rates, but present dificulties, such as parameter configuration, and shortcomings, such as the impossibility of interpreting the relationships found in the modeling of a specific system. Enters, then, the symbolic regression, a research subarea focused on methods for building mathematical equations for the correct modeling of different behaviors. This approach is not limited by incorrect structure choices, unlike linear regression, and allows for the analysis of the behavior modeled by the chosen mathematical elements. In this work, a recent automatic programming technique that can be used for symbolic regression is presented: Kaizen Programming. This technique applies continuous improvement concepts in a hyperheuristics structure, allowing for its use in various problems and with various auxiliary heuristics. Besides, it uses deterministic methods to evaluate and decide upon the ideas proposed by these techniques, lessening the negative impact a purely stochastic approach may bring to this kind of application. The implementation used here presents new modifications, specially the inclusion of a new objective: their complexity, defined by the nonlinearity of their mathematical elements. In real problems, it is expected that high quality models will be complex, but not too much, in order to avoid overfitting and to keep interpretability; therefore, the symbolic regression becomes a multiobjective problem, with conflicting objectives. This new version of Kaizen Programming was compared to the original one, to classical machine learning techniques and to another symbolic regression technique in well-known datasets constructed from real problems and in a time series - building autoregressive models for a predictive control to automatically drive a vehicle in a racing simulator. In general, the new technique presents lower predictive power when compared to its original counterpart and the other symbolic regression technique considered here, but offers solutions that are considerably simpler than the ones built by both.
Os problemas de regressão estão entre as principais aplicações de técnicas de aprendizado de máquina e reconhecimento de padrões atualmente, surgindo da necessidade de identificar relações entre comportamentos e variáveis explicativas em economia, engenharia, meio ambiente e diversas outras áreas. Técnicas tradicionais de aprendizado de máquina como as redes neurais são muito aplicadas em problemas reais com boas taxas de sucesso, mas apresentam dificuldades, como a configuração correta de seus parâmetros, e limitações, como a impossibilidade de interpretar as relações encontradas na modelagem de um determinado sistema. Entra em cena, então, a regressão simbólica, uma sub-área de pesquisa focada em métodos de construção de equações matemáticas para a modelagem correta de diferentes comportamentos. Esta abordagem não está limitada por escolhas incorretas de estrutura, como a regressão linear, e permite a análise do comportamento modelado pelos elementos matemáticos escolhidos. Neste trabalho, é apresentada uma técnica recente de programação automática que pode ser aplicada em regressão simbólica: a Programação Kaizen. Esta técnica aplica conceitos de melhoria contínua em uma estrutura de hiper-heurística, permitindo sua aplicação em diversos problemas e com diversas heurísticas auxiliares. Além disso, utiliza métodos determinísticos para avaliar e tomar decisões sobre as propostas de tais heurísticas, diminuindo o impacto negativo que uma abordagem puramente estocástica não-guiada pode trazer a este tipo de aplicação. A implementação utilizada aqui apresenta novas modificações, com destaque para a inclusão de um novo objetivo, paralelo à qualidade dos modelos: sua complexidade, definida pela nãolinearidade dos elementos utilizados. Em problemas reais, espera-se que modelos de alta qualidade sejam complexos, mas não demasiadamente, para evitar sobreajuste e para manter a interpretabilidade; portanto, a regressão simbólica se torna um problema multiobjetivo, com objetivos conflitantes entre si. Essa nova versão da Programação Kaizen foi comparada à versão original, a técnicas clássicas de aprendizado de máquina e a outra técnica de regressão simbólica em conjuntos de dados da literatura originados de problemas reais e em uma série temporal, na construção de modelos autorregressivos para um controle preditivo para a direção automática de um veículo em um simulador de corrida. Em geral, a nova técnica apresenta capacidade preditiva um pouco inferior a oferecida por sua versão original e pela outra técnica de regressão simbólica comparada, devido ao conflito entre objetivos, mas oferece soluções consideravelmente mais simples que as de ambas.
Os problemas de regressão estão entre as principais aplicações de técnicas de aprendizado de máquina e reconhecimento de padrões atualmente, surgindo da necessidade de identificar relações entre comportamentos e variáveis explicativas em economia, engenharia, meio ambiente e diversas outras áreas. Técnicas tradicionais de aprendizado de máquina como as redes neurais são muito aplicadas em problemas reais com boas taxas de sucesso, mas apresentam dificuldades, como a configuração correta de seus parâmetros, e limitações, como a impossibilidade de interpretar as relações encontradas na modelagem de um determinado sistema. Entra em cena, então, a regressão simbólica, uma sub-área de pesquisa focada em métodos de construção de equações matemáticas para a modelagem correta de diferentes comportamentos. Esta abordagem não está limitada por escolhas incorretas de estrutura, como a regressão linear, e permite a análise do comportamento modelado pelos elementos matemáticos escolhidos. Neste trabalho, é apresentada uma técnica recente de programação automática que pode ser aplicada em regressão simbólica: a Programação Kaizen. Esta técnica aplica conceitos de melhoria contínua em uma estrutura de hiper-heurística, permitindo sua aplicação em diversos problemas e com diversas heurísticas auxiliares. Além disso, utiliza métodos determinísticos para avaliar e tomar decisões sobre as propostas de tais heurísticas, diminuindo o impacto negativo que uma abordagem puramente estocástica não-guiada pode trazer a este tipo de aplicação. A implementação utilizada aqui apresenta novas modificações, com destaque para a inclusão de um novo objetivo, paralelo à qualidade dos modelos: sua complexidade, definida pela nãolinearidade dos elementos utilizados. Em problemas reais, espera-se que modelos de alta qualidade sejam complexos, mas não demasiadamente, para evitar sobreajuste e para manter a interpretabilidade; portanto, a regressão simbólica se torna um problema multiobjetivo, com objetivos conflitantes entre si. Essa nova versão da Programação Kaizen foi comparada à versão original, a técnicas clássicas de aprendizado de máquina e a outra técnica de regressão simbólica em conjuntos de dados da literatura originados de problemas reais e em uma série temporal, na construção de modelos autorregressivos para um controle preditivo para a direção automática de um veículo em um simulador de corrida. Em geral, a nova técnica apresenta capacidade preditiva um pouco inferior a oferecida por sua versão original e pela outra técnica de regressão simbólica comparada, devido ao conflito entre objetivos, mas oferece soluções consideravelmente mais simples que as de ambas.