Técnicas para fazer previsões

 

Olá, leitores! Feliz 2008 para todos. Muita saúde, paz, alegria, bons negócios, projetos novos e estimulantes e não aquela ladainha de sempre de corrigir os erros dos outros e por ai vai.

 

Aproveitando o embalo do meu comentário da coluna passada sobre os excluídos de Hogwarts, resolvi falar de como fazer uma previsão eficaz e com boa confiabilidade, coisa para Sibila Trelawney nenhuma botar defeito.

 

Mas, falando de técnicas, um dos algoritmos da moda é o SVM (Support Vector Machines), embora nem todos estejam familiarizados ou saibam exatamente como ele funciona.

 

Vamos lá...

 

O SVM é um método de aprendizado de máquina supervisionado, utilizado para realizarmos cálculos que envolvem regressão e classificação de dados. Seu conceito está baseado na teoria do aprendizado estatístico, também chamado de teoria VC (Vapnik-Chervonenkis). Atualmente é considerada a melhor teoria para estimação de parâmetros de amostras finitas, estudo de dependência funcional e de aprendizado preditivo.

 

A teoria de VC abrange quatro partes importantes na sua implementação:

 

         Teoria da Consistência dos processos de aprendizagem;

         Teoria da Taxa de convergência dos processos de aprendizagem;

         Teoria da Minimização do Risco Estrutural;

         Teoria da Otimização.

 

Modelos SVM têm a mesma forma funcional de uma rede neural, uma técnica popular de Data Mining. No entanto, a rede neural não tem um fundamento teórico tão bem formalizado quanto o fundamento do SVM. A flexibilidade, escalabilidade e velocidade do SVM são melhores do que de outros métodos tradicionais.

 

Em diversos casos, o SVM mostrou um bom desempenho utilizando um conjunto de dados que possuem diversos atributos, ainda que com uma amostra reduzida. Não existe um limite para o número de atributos que se pode usar no algoritmo e as únicas restrições que podemos encontrar são as de hardware.

 

O objetivo final no SVM é encontrar condições matemáticas para escolha de uma função que separe os dados a serem aprendidos em problemas de categorização. Esta separação deve considerar o menor erro de treinamento, ao mesmo tempo em que deve maximizar a capacidade de generalização de um classificador, para o processo de aprendizagem supervisionada.

 

Vejamos: a abordagem tradicional para separar os dados é usar uma função, como um polinômio, e então ajustar seus parâmetros para separar os dados de treinamento, agrupando-os em uma das classes.

 

Durante a fase de treinamento, se aumentado o grau do polinômio é possível reduzir o erro nos dados, o que levaria a um melhor aprendizado; No entanto, esta estratégia pode levar ao overfitting, resultando em uma capacidade reduzida de generalização nos dados futuros. Uma alternativa nos modelos tradicionais é a redução significativa do grau do polinômio, porém isto pode gerar um erro nos dados de treinamento, chamado underfitting.

 

O risco empírico pode ser reduzido à zero ao custo de uma função de decisão extremamente complexa. A distribuição dos dados de treinamento pode não ser complexa de ser classificada, porém, características como “ruídos” podem fazer com que o processo de aprendizado seja muito mais complexa que a realidade.

 

Na teoria de aprendizado estatístico existem condições matemáticas para a escolha de um classificador com desempenho desejado para dados de treinamento, minimizando o erro estrutural do processo, ou seja, evitando um overfitting ou um underfitting. A teoria da Minimização do Risco Estrutural formaliza o conceito de controle de complexidade e minimização do risco empírico.

 

Desta forma, se o objetivo é minimizar o erro da classificação, a máquina deve conseguir minimizar tanto o risco empírico quanto o termo de complexidade, o que nos permite chegar ao well-trained. Ou seja, o modelo ajustado para o conjunto de dados que será analisado.

 

Neste site vocês podem encontrar um simulador de uma SVM para visualizarem como funciona a criação das classes: http://www.patternrecognition.co.za/svmapplet.html

 

Bom, pessoal, quaisquer dúvidas estou à disposição.

 

Um forte abraço a todos!

 

Vander Emiro Muniz

vmuniz@triscal.com.br

www.triscal.com.br