Home // Archive by category "Machine Learning"

O Santo Graal é mágica e mágica não existe

 

Anomaly Detection for Monitoring

O primeiro parágrafo do livro Anomaly Detection for Monitoring, de Preetam Jinka e Baron Schwartz, editado pela O’Reilly com patrocínio da Ruxit, é um primor:

Wouldn’t it be amazing to have a system that warned you about new behaviors and data patterns in time to fix problems before they happened, or seize opportunities the moment they arise? Wouldn’t it be incredible if this system was completely foolproof, warning you about every important change, but never ringing the alarm bell when it shouldn’t? That system is the holy grail of anomaly detection. It doesn’t exist, and probably never will. However, we shouldn’t let imperfection make us lose sight of the fact that useful anomaly detection is possible, and benefits those who apply it appropriately.

Quantas vezes os clientes de um sistema de aprendizado de máquina não ficam decepcionados quando constatam que as predições não são 100% corretas? Se todo mundo sabe que experts humanos erram de vez em quando, por que esperar que um sistema automatizado nunca erre?

Quantas vezes não vi atitudes do tipo “se não acerta sempre não serve para nada”?

Futebol é uma Caixinha de Surpresas

A Copa ainda nem tinha começado e já pipocavam modelos tentando prever o resultado. Foi fácil encontrar rapidamente quase uma dúzia de modelos online, inclusive de gente graúda como Nate Silver e Goldman Sachs. No que começou a Copa, imediatamente todos modelos fizeram água: nenhum previu, por exemplo, a eliminação imediata da Espanha, que tem impacto em cascata em praticamente todos resultados subsequentes.

Espanha-desclassificada

Isso me lembra que uns dois anos atrás escutei um mestrando da COPPE dizendo que estava pensando em criar um modelo para prever resultados de jogos de futebol. Na época ponderei que seria difícil dar um bom resultado, já que futebol tem muitas variáveis imprevisíveis. Se fosse fácil criar um modelo com bom resultado, a loteria esportiva acabaria rapidinho. Não ouvi mais falar do assunto até cerca de um ano mais tarde, quando o Professor Zimbrão, para quem o mestrando ia desenvolver o modelo, mencionou que o trabalho fora realizado. A conclusão, disse o Prof. Zimbrão, foi que futebol é uma caixinha de surpresas.

Surpreendente? Não.

Um jogo de futebol é um processo caótico (no sentido matemático), em que uma pequena perturbação altera completamente os resultados. Um lance de sorte, uma bola um tiquinho para o lado, uma lesão num jogador importante, uma noite mal dormida, uma distração do juiz, um pênalti imaginário, um jogador que fica ajeitando o meião em vez de prestar atenção ao jogo… qualquer coisinha e o resultado muda totalmente. Uma tentativa de prever resultados de futebol – ou de qualquer outro processo caótico – está condenada ao fracasso.

Quer dizer que devemos desistir e nem pensar no assunto? Novamente, não.

O Prof. Zimbrão mencionou que a variável com maior impacto no modelo era quem jogava em casa. Nenhuma das demais variáveis empregadas (número de vitórias e gols, idades dos jogadores etc.) tinha poder preditivo da mesma ordem de grandeza. Eis um exemplo clássico do uso da redução de dimensionalidade, que ajuda a entender um processo. Mais especificamente, permite responder à pergunta: que variáveis melhor explicam o resultado do processo? Não quer dizer que vamos conseguir prever o resultado do processo, apenas que o vamos entender melhor. O que, cá entre nós, é – ou deveria ser – um dos principais objetivos da ciência.

Ciência sem cientistas?

Corro o risco de parecer não ter grande respeito pelos cientistas quando falei da Danger Zone. Não é bem assim. Só falei sobre o que acontece quando a base que falta é Estatística. Agora vou falar o que acontece quando falta o cientista.

No Venn diagram, Drew Conway caracteriza Machine Learning como o que acontece quando falta domain expertise. Discordo. Bom Machine Learning requer expertise.

No primeiro exemplo de aplicação no curso de Andrew Ng, regressão linear, ele fala sobre a escolha de features nos casos mais ridiculamente simples. Por exemplo, ele fala sobre a escolha de área em substituição às medidas individuais (largura e profundidade) para caracterizar um terreno. Mesmo nesse exemplo de brinquedo domain expertise é importante.

 

Diferenças entre Machine Learning e Data Mining

Qual a diferença entre Machine Learning (ML) e Data Mining (DM)? À primeira vista parecem ser a mesma coisa: aplicar uma massa de dados a um algoritmo que tentará encontrar padrões neles.

Taxonomicamente falando, ML se desenvolveu como parte da Inteligência Artificial, enquanto DM veio do estudo de Bancos de Dados. Mas esta é uma diferença mais histórica, que não se refere à substância das disciplinas.

Geraldo Zimbrão (UFRJ) postula que a diferença é a quantidade de dados: DM lida com massas de dados que seriam impraticáveis para ML. Certamente esta é parte da resposta, mas é importante entender mais visceralmente a diferença.

Um site especializado em DM diz que a obtenção dos dados faz parte integral do processo de DM, enquanto ML presume que os dados estão prontamente disponíveis. O site dá o exemplo de um programa jogador de xadrez, que não precisa de uma grande base de dados para jogar: só precisa ter exemplos que o permitam calibrar seus parâmetros.

 Zimbrão, que segue a mesma linha que Jiawei Han (UIUC), também ensina que o primeiro passo do DM é visualizar os dados. Em contraste, Yaser Abu-Mostafa (CalTech) diz que isso é um pecado capital no ML (“data snooping”). Na verdade, para Andrew Ng (Stanford) visualizar os dados faz parte de ML também, mas dá para intuir a diferença: em DM sujamos a unha de tanto remexer os dados, enquanto em ML mantemos uma certa distância.