Introdução

Laboratório de Estatística e Geoinformação - LEG/UFPR

Nos dias atuais, estamos vivendo três grandes tendências na ciência de dados. Inicialmente, nota-se grandes avanços em técnicas de data-driven modelling, com aplicações baseadas em Machine Learning, combinando elementos de estatística computacional, otimização matemática e análises preditivas. Soma-se a isso à capacidade de processamento e armazenamento, que têm crescido dramaticamente. Por fim, há uma quantidade crescente de dados (estruturados, semiestruturados e não estruturados), frequentemente referenciado como Big data, não apenas grandes em volume de informação, mas em quantidades “granulares” em diferentes formatos. Trata-se de um ciclo, composto por três pilares: métodos estatísticos, poder computacional e dados disponíveis.


Predição \(vs\) Inferência


Antes de iniciar nossos estudos, é importante destacar alguns aspectos sobre “predição” e “inferência”, que serão úteis para entendermos a essência do Machine Learning. Em Estatística, em geral, assume-se que o modelo é correto, e o principal objetivo está na interpretação dos parâmetros. P. ex., “quais parâmetros são significantes?”, “qual o efeito do aumento da dose do remédio no medicamento?” etc. Já em Machine Learning, o nosso objetivo é simplesmente criar um algoritmo, \(h(\mathbf{x})\), de modo que tenha bom poder preditivo. Podemos continuar interpretando os resultados, mas esse - em geral - não é o foco. Trata-se de duas culturas no uso de modelos estatísticos (Breiman, 2001):

  • Data Modeling Culture: domina a comunidade estatística. Testar suposições é fundamental e o foco está em inferência;

  • Algorithmic Modeling Culture: domina a comunidade de Machine Learning. O modelo é utilizado apenas para criar bons algoritmos preditivos.

Em linhas gerais, pode-se dizer que modelos de Machine Learning são modelos estatísticos menos a parte inferencial.


Os 3 pilares da ciência de dados


Para toda análise de dados, precisamos de três componentes bem determinadas: (i) objetivos, (ii) base de dados e (iii) modelos. É com base nessas entidades que conduzimos o processo de geração de conhecimento. Neste capítulo, veremos uma breve introdução sobre essas questões.

  1. Determinação dos objetivos: o primeiro passo em qualquer projeto é definir seu problema. Você pode usar os algoritmos mais poderosos disponíveis, mas os resultados não terão sentido se você estiver resolvendo o problema errado. Este é, indiscutivelmente, o aspecto mais importante da aplicação de Machine Learning.

  2. Obtenção dos dados: os algoritmos de Machine Learning aprendem com os dados. Sendo assim, é fundamental que você forneça as informações corretos para o problema que deseja resolver. Veremos este tema em duas partes:

    2.1 Coleta dos dados: envolve a coleta de material que o algoritmo utilizará para gerar conhecimento;

    2.2 Exploração e preparação dos dados: é exigido um trabalho adicional na preparação desses, recodificando-os de acordo com os inputs esperados.

  3. Definição dos modelos: é nesta etapa que criamos os algoritmos, os avaliamos e melhoramos seu desempenho, considerando o tempo e os recursos disponíveis.

    3.1 Formação do modelo: depois dos dados preparados, o pesquisador já é capaz de dizer o que é possível aprender deles, e como;

    3.2 Avaliação dos modelos: avaliamos a qualidade do aprendizado, não pode ser pouco (underfitting), nem muito a ponto de decorar os dados (overfitting);

    3.3 Melhoria do modelo: se necessário, podemos melhorar o desempenho do modelo através de estratégias avançadas (p. ex., combinando abordagens, especificando objetivos intermediários etc.).


1) Determinação dos objetivos


A maioria das falhas em projetos de Machine Learning tem sua origem em erros cometidos nessa primeira fase do estudo. Antes de elencar qualquer atividade para a sua equipe, entenda que temos objetivos cuja solução é desconhecida, e entendê-los de forma plena, ajudará a encontrar o melhor resultado.

Geralmente, precisamos responder, ao menos, três perguntas chave, cuja profundidade dependerá do problema e da maturidade da equipe diante daquela situação:

Drawing

  1. Qual é o problema?

  1. Por que o problema precisa ser resolvido?

  1. Como eu resolvo o problema?

Em seguida, apresentaremos algumas ferramentas que auxiliarão no delineamento desses objetivos.


a) Diagrama de causa e efeito


No início do projeto, temos teorias fragmentadas sobre as causas que contribuem para um determinado efeito. O Diagrama de causa e efeito ajuda a descobrir, organizar e resumir todo esse conhecimento atual, alinhando a equipe a respeito do objetivo. Construindo esse esquema, é possível definir o banco de dados e modelos para cada etapa.

No “efeito” inserimos o problema que desejamos atacar, e nas “causas” os possíveis motivos que levar àquele resultado. A partir daí, pode-se aprofundar em cada ramificação conforme a necessidade. Lembre-se que a etapa de construção deste diagrama é tão importante quando seu resultado final, pois é durante esse processo que a equipe se homogeniza e aprende sobre o problema.


b) Diagrama direcionador


Para se chegar a um destino, quando não conhece o caminho, um mapa ou um GPS são muito úteis, não é mesmo? Quando se começa um projeto de Machine Learning é necessário ter limites de atuação, para que não se perca o foco, especialmente quando o trabalho está fragmentado por equipes. O Diagrama direcionador contribui para a busca de soluções em cada fase do projeto. Como uma espécie de mapa, ele aponta caminhos ou alternativas que podem ser tomados pelo grupo de trabalho. A construção dessa ferramenta parte do conhecimento inicial do problema, e à medida que o projeto avança, o esquema inicial é sucedido por representações intermediárias até se chegar à final. Entender esse processo e reconhecer sua importância fará com que a construção dos algoritmos se torne mais simples e eficaz. Abaixo, um exemplo criado para otimizar o processo de solução de reclamação dos clientes de um banco.

Drawing

Os desdobramentos ficam ao final do diagrama, e para cada conhecimento acrescido, o nível de detalhe da representação aumenta. Neste roteiro de ação, podemos ter um nível com foco no conhecimento inicial do problema (com algoritmos específicos para esse fim), seguido de outros desdobramentos das etapas de aprendizado. Evitamos assim, dar um “tiro no escuro” ou “tiro de canhão em passarinho”. Ou seja, realizamos a ação adequada, no momento oportuno.


c) Técnica dos 5 “Cinco por quês”


Drawing

Os “cinco por quês” é uma técnica extremamente útil para identificar a causa raiz de um problema. Ele baseia-se na realização de cinco iterações, perguntando o motivo do problema, sempre questionando a causa anterior. Neste caso, é muito importante que o problema para o qual se deseja descobrir as causas seja descrito da forma mais clara possível.

A construção dos “cinco por quês” deve ser realizada por um grupo de pessoas envolvidas com o processo. Na prática, podem ser necessários mais ou menos do que cinco iterações. Não podendo misturar dois problemas no mesmo sistema (para não haver confundimento). Algumas perguntas relevantes na busca da prova são:

  • Que provas tenho de que esta causa ocorre (evidência da causa)?

  • Que provas tenho de que esta causa levará ao problema identificado?

  • Que provas tenho de que esta é a principal causa que verdadeiramente leva ao problema?

Exemplo: Foi percebido que o monumento de Abraham Lincoln deteriorava-se mais rapidamente do que qualquer outro em Washington, D.C. Por quê?

  1. Porque é limpo com mais frequência que os outros monumentos. Por quê?

  2. Porque tem mais dejetos de pássaros que os outros monumentos. Por quê?

  3. Porque tem mais pássaros à sua volta que dos outros. Por quê?

  4. Porque tem mais insetos em torno deste monumento. Por quê?

  5. Porque a lâmpada que o ilumina é diferente das outras e atraí mais insetos.


Drawing

A solução para o problema é a troca da lâmpada. Poderiam trocar os produtos de limpeza ou colocar um espantalho, mas o problema persistiria. Com isso, evitamos, por exemplo, atribuir relação de causa e efeito precipitadamente, por exemplo:

  1. O consumo de sorvete está correlacionado com o número de afogamentos de piscina. Mas, o sorvete não causa afogamentos, ambos estão correlacionados com o clima do verão;

  2. Em 90% das brigas do bar que terminaram em uma morte, a pessoa que começou a briga morreu. Talvez, seja porque a pessoa que sobreviveu é quem conta a história;

  3. A terapia de reposição hormonal está correlacionada com uma menor taxa de doença coronária. Mas, pessoas que realizam reposição hormonal, geralmente, pertencem a grupos socioeconômicos mais elevados, com hábitos mais saudáveis.


d) Uso da criatividade


Com o passar do tempo, criamos padrões que ficam cada vez mais estabelecidos em nossa mente, e os caminhos para resolver os problemas são sempre os mesmos. Assim, aos poucos, vamos perdendo a criatividade, e buscamos sempre as soluções padrão. Como destaca o psicólogo Abraham Maslow:

“O homem criativo não é um homem comum, ao qual se acrescentou algo. Criativo é o homem comum, no qual nada se tirou”.

No nosso contexto, a criatividade pode ser vista como a capacidade de recombinar informações já existentes para resolver problemas de maneiras inovadoras.

“Criatividade é apenas conectar coisas. Quando você pergunta a pessoas criativas como elas criaram algo, elas se sentem culpadas, pois não criaram algo de fato, apenas viram alguma coisa óbvio ali.”

Isso não tem relação com lado do cérebro mais desenvolvido. Mas sim, com técnica e vontade de fazer diferente. Geralmente, soluções antigas não resolvem problemas novos. Então, temos que nos adaptar e trazer ideias “fora da caixa”. O Modelo de pensamento criativo nos ajuda nesta questão e pode ser determinado em 4 fases:

  1. Preparação: investiga-se o problema utilizando o repertório que possui e fazendo novas pesquisas;

  2. Incubação: é o momento de se distanciar do problema para que o inconsciente o processe;

  3. Iluminação: caracteriza-se por ser o momento em que surge repentinamente uma nova ideia;

  4. Verificação: fase de racionalizar e organizar a solução do problema. Agora o pesquisador necessita de opiniões, críticas e julgamentos sobre sua ideia.


e) Seis chapéus do pensamento


A técnica dos “seis chapéus do pensamento” foi criada pelo Dr. Edward de Bono, um dos maiores especialistas em pensamento da humanidade. A ideia consiste em gerar uma visão mais abrangente sobre determinado tema, de acordo com diversas perspectivas da equipe, permitindo assim tomar decisões mais assertivas, além de ajudar no processo de inovação. Para tanto, separa-se a equipe em 6 grupos, cada uma recebendo um chapéu. Dependo da cor recebida, o grupo focará em um aspecto diferente do problema:

  1. Chapéu azul: está relacionado com o controle da sequência de pensamentos e discussões, para que a reunião se torne mais produtiva. Seria o juiz da atividade, quem a conduzirá.

  2. Chapéu branco: foca-se em fatos, dados e informações disponíveis. Nessa hora, opiniões, crenças e argumentos devem ser deixados de lado, apenas fatos. Obtém-se assim uma visão comum do tema em questão de uma forma neutra.

  3. Chapéu verde: é o momento da criatividade, do brainstorming e inovação. O pensamento abstrato (“fora das quatro linhas”) pode ser usado sem restrições. Note que não é fácil usar esse chapéu, porque ele vai de encontro a hábitos, julgamentos e críticas que nos fazemos inconscientemente.

  4. Chapéu amarelo: é o chapéu do pensamento positivo, do otimismo. Permite olhar benefícios, viabilidade e como algo pode ser feito. Os benefícios nem sempre são imediatamente óbvios e precisam ser buscados. Toda idéia criativa merece uma atenção deste chapéu.

  5. Chapéu vermelho: predomina-se a intuição, sentimentos, palpites e emoções, sem a necessidade de justificativa, explicação ou apologia.

  6. Chapéu preto: sobressai os pontos negativos. Está relacionado com o julgamento, cuidado e avaliação. Neste momento, procura-se identificar os riscos e o pior cenário, com uma visão crítica e lógica. Mas é necessário parcimônia para não eliminar ideias com excessos e negatividade.


Assim, é possível que os grupos foquem em apenas um aspecto do pensamento, deixando os demais de lado, até mudar o chapéu. Essa abordagem permite que se analise todas as perspectivas, sem cair na cilada do pensamento de grupo (groupthink). Ou seja, evita que as pessoas cheguem a um consenso sem testar, analisar e avaliar criticamente as ideias. Alguns sintomas do pensamento de grupo:

  • Ilusão de invulnerabilidade;

  • A crença na moralidade inerente do grupo;

  • Racionalização;

  • Visão distorcida dos inimigos;

  • Autocensura;

  • Pressão direta sobre os membros;

  • Proteção da mente (contra informações negativas);

  • Ilusão de unanimidade.

2) Obtenção dos dados


A etapa de coleta dos dados está relacionada à seleção de partições das informações disponíveis (coletadas ou não). Há sempre um forte desejo de incluir todo o banco disponível, pensando que a máxima “quanto mais melhor” é sempre válida, o que não é. Devemos considerar quais dados realmente precisamos para resolver a questão ou problema em que se está trabalhando.

Neste caso, sugerimos que se faça algumas suposições sobre as informações de que precisa. Abaixo, algumas perguntas que ajudarão nesse processo:

  1. Quais os tipos de dados você tem disponível? Por exemplo, dados no tempo, banco de dados estruturados, vídeos etc. Certifique-se de ter uma visão clara de tudo o que pode utilizar.

  2. Quais dados desejáveis não estão disponíveis? Por exemplo, dados não salvos que podem o ser, eventos futuros passíveis de simulação etc. Somente em toy datasets ou pequenos problemas é que os dados já estão determinados e selecionados. Em projetos reais, não é bem assim.

  3. Quais dados você não precisa para resolver o problema? Excluir informações é quase sempre mais fácil do que incluí-los. Mas, geralmente, não o fazemos.

Depois de selecionar os dados, iniciamos a etapa de pré-processamento. Trata-se do momento de formatar os dados, amostrar (caso estes sejam redundantes), remover ou corrigir dados faltantes, outliers, agregar (ou decompor) características etc. Se você está procurando se aprofundar neste assunto, sugere-se por exemplo, Machine Learning for Hackers (capítulo 2) e Data Mining: Practical Machine Learning Tools and Techniques (capítulo 7). Vamos apresentar somente alguns aspectos desta fase:


a) Dados faltantes


Os dados faltantes são um dos primeiros obstáculos para análise de modelos preditivos, e sua solução, na maioria das vezes, não é trivial. Antes de apresentarmos alguns métodos, temos de entender as razões de alguns dados serem “missing”:

  • Missing completely at random (MCAR): quando a probabilidade dos dados faltantes é a mesma entre as observações. Por exemplo, dados perdidos por um backup incorreto;

  • Missing at random (MAR): quando os dados faltantes variam de acordo com outras variáveis. Por exemplo, missing em uma variável idade pode ser diferente entre mulheres e homens;

  • Missing not at random (MNAR): quando a probabilidade de missing está relacionada ao missing. Por exemplo, dependendo da renda do cliente, é mais provável que ele não responda sobre a renda.

No primeiro caso, é seguro eliminar os dados faltantes, a não ser que a redução do banco de dados seja um problema. Nos demais, a simples eliminação reduzirá a capacidade do algoritmo em predizer novas observações. O exemplo abaixo, ilustramos essa questão. Considere que a variável \(V324\) apresenta dados faltantes, já \(V348\) e \(V531\) não. Os boxplots em azul representam a distribuição dos dados observados, e o boxplot vermelho representa a distribuição das variáveis \(V348\) e \(V531\), cujas observações em \(V324\) são missing. Do gráfico a esquerda, notamos que eliminar os dados faltantes de \(V324\) causará um impacto na distribuição de \(348\), geralmente, um viés nas estimativas. Diferentemente do gráfico à direita, que desconsiderar valores faltantes em \(V324\), aparentemente, não altera a distribuição de \(V531\).

Existem vários métodos que lidam com essa questão, alguns melhores para dados contínuos, outros para discretos, mas nenhuma abordagem é unânime sobre as outras. Por isso é importante conhecê-las, para utilizar a correta, de acordo com a situação. Abaixo, elencamos algumas pacotes que realizam esse processo:

  1. MICE (Multivariate Imputation via Chained Equations): este é um dos mais comuns pacotes disponíveis no R. MICE assume que os dados faltantes são gerados por um processo MAR. Por default, utiliza Regressão Linear para predição de valores contínuos, e Regressão Logística para dados discretos.

  2. Amelia: o pacote também realiza múltiplas imputações, baseado no algoritmo Expectation-Maximization with Bootstrapping (EBM), tornando-o rápido e robusto. Permite também imputação paralela, utilizando multicore CPUs. Atente-se para o fato de que, neste caso, se assume uma distribuição normal multivariada para os dados, diferente do MICE.

  3. MissForest: como próprio nome sugere, sua implementação utiliza o algoritmo Random Forest, sendo portanto uma imputação não paramérica e com bastante flexibilidade, controlando o overfitting através do erro de estimação OOB (out of bag).

  4. Hmisc: trata-se de um pacote com múltiplos propósitos, útil para análise de dados, gráficos, imputação de dados faltantes, ajustes de modelos e diagnóstico etc. Duas funções úteis para nosso propósito são impute(), que simplesmente imputa dados utilizando métodos estatísticos (como média, máximo, mediana) e aregImpute() permitindo imputação utilização additive regression e bootstrapping.

Para exemplificar esse processo, e ressaltar o perigo de se utilizar métodos automáticos sem procurar conhecê-los, na figura abaixo realizamos o processo de imputação considerando MICE e MissForest em três variáveis. As curvas em azul representam os dados observados e em vermelho os dados imputados. Note que \(V9\) claramente apresenta um processo MAR, e as duas abordagens realizaram trabalhos semelhantes. Entretanto, em \(V10\) e \(V324\) os resultados foram bastante diversos. O MissForest se mostrou mais flexível para acompanhar uma possível não linearidade dos dados, mas apenas com estes gráficos não somos capazes de dizer qual método apresentou melhores resultados, isto deve ser avaliado com durante o processo de validação cruzada.

MICE


MissForest


Em conclusão, antes de empreender em qualquer processo de imputação de dados, conheça como a técnica é aplicada, e a qualidade dos resultados, caso contrário, você adicionará somente ruído ao seu problema.

“The idea of imputation is both seductive and dangerous”. D.B. Rubin


b) Correlação


O exemplo que segue apresenta algumas questões relevantes sobre a correlação. A figura abaixo, em (a) temos a situação em que a variável \(x_1\) é relevante individualmente, e \(x_2\) não ajuda a obter uma melhor separação. Neste caso, o ranking de características individuais funciona bem, e a característica que proporciona uma boa separação de classe será escolhida. Diferentemente de (b), cuja distribuição bidimensional mostra uma separação de classe melhor, quando comparado com qualquer característica individual. Uma alternativa seria rotacionar o espaço em 45 graus, obtendo o mesmo caso visto em (a). Vários métodos de pré-processamento, como a análise de componentes principais (PCA), realizam transformações lineares (como a rotação). Agora em (c), justificaremos o uso de métodos multivariados, que consideram o poder preditivo das características em conjunto, e não de forma independente. Nesta situação, nota-se uma separação linear, em que uma característica individualmente irrelevante ajuda a obter uma melhor separação quando em conjunto.

(a)

(b)

(c)


Observação: a noção de relevância está relacionada ao objetivo perseguido. Uma característica que é irrelevante para a classificação, pode ser relevante para prever as distribuições condicionais da classe. Ou seja, em (a), \(P(y | x)\) não é independente de \(x_2\), mas a taxa de erro do classificador Bayes ideal é a mesma se \(x_2\) é mantida ou descartada. Isso aponta para o fato de que a estimativa de densidade é um problema mais difícil do que a classificação, e em geral, requer mais recursos.


O exemplo em (d) apresenta o caso de características individualmente irrelevantes, que são relevantes quando em conjunto. Esse é o problema conhecido como “tabuleiro de xadrez”. Em (e) e (f), levanta-se uma questão importante, geralmente se pensa que correlação de característica significa redundância de recurso. De fato, observamos esse ponto em (e), ou seja, a separação de classe não é melhorada usando as variáveis conjuntamente. Por outro lado, em (f), apesar das projeções serem semelhantes à (e) (e correlacionadas), elas não são redundantes. Nota-se uma separação perfeita quando utilizamos as duas características.

(d)

(e)

(f)


c) Dados desbalanceados


Um conjunto de dados é considerado desbalanceados se as classes não forem representadas aproximadamente da mesma forma. Por exemplo, em questões como detecção defraude são comuns desequilíbrios na ordem de 100 para 1. Lidar com essa situação é bastante desafiadora, especialmente quando não se pode alterar o tipo de métrica na função custo. Por exemplo, a acurácia é reconhecidamente ruim para dados desbalanceados e/ou quando os custos de diferentes erros variam acentuadamente (poderíamos resolver esse caso atribuindo custos distintos nos exemplos de treinamento). Já a curva ROC (Receiver Operating Characteristic) é mais atrativa, pois resume o desempenho do classificador em uma faixa de compensações entre as taxas de falso positivo e falso negativo (veremos mais sobre as métricas de avaliação durante a apresentação dos métodos de reamostragem). A comunidade de Machine Learning aborda a questão do desequilíbrio de classes de várias maneiras, e a literatura neste campo é bastante referta. Para o leitor interessado sugerimos: Data Mining for Imbalanced Datasets: An Overview , Imbalanced Learning: Foundations, Algorithms, and Applications . Vamos apresentar aqui apenas algumas alternativas:

  1. Gerar amostras sintéticas: uma opção bastante comum é reamostrar o conjunto de dados original por superamostragem da classe minoritária e/ou subamostragem da majoritária, criando exemplos “sintéticos” que forçam a região de decisão da classe minoritária se tornar mais comum. No exemplo abaixo, ilustramos esse processo, denominado de SMOTE (Synthetic Minority Over-sampling), no qual aumentando a classe minoritária de 20% para 30%. Essa simples mudança pode melhorar substancialmente o aprendizado dos modelos, por isso a proporção de classes deve ser um parâmetro a se considerar durante a construção do algoritmo.

  2. Utilizar diferentes algoritmos: é sempre desaconselhável ter um algoritmo favorito para todos os problemas. Abordagens simples como árvores de decisão (e seus ensembles), por exemplo, C4.5, C5.0, CART e Random Forest, geralmente, apresentam um bom desempenho em dados desbalanceados;

  3. Modelos penalizados: caso tenha interesse (ou necessidade) de continuar utilizando os mesmos algoritmos, uma alternativa é a classificação com penalização, impondo um custo adicional ao modelo quando se comete erros na classe minoritária. Em outras palavras, essa abordagem faz com que o modelo se atente à classe menos frequente. Existem várias versões de algoritmos penalizados como penalized-SVM e penalized-LDA.

  4. Buscar por conceitos em diferentes perspectivas: existem campos de estudo dedicados a dados desbalanceados. Dois que merecem destaque são: (i) detecção de anomalias, eventos raros, p. ex., tentativa de invasão de sistemas, e (ii) detecção de alterações, que é semelhante ao anterior, exceto pelo fato de estarmos procurando por uma mudança, p. ex., alteração do comportamento de um usuário em transações bancárias.

  5. Ser criativo: busque inspirações criativas, por exemplo, em respostas no Quora: in classification, how do you handle an unbalanced training set?

    “Decomponha a classe maior em pequenas outras classes”.

    “Reamostre os dados desbalanceados em não somente um conjunto balanceado, mas vários”.

Para mais ideias, veja o post Classification when 80% of my training set is of one class. Além do artigo Learning from Imbalanced Data.


3) Definição dos modelos


Durante os próximos capítulos, estudaremos dezenas de métodos de Machine Learning utilizados após a etapa de pré-processamento dos dados. Entretanto, antes de conhecê-los é necessário entender os dois tipos de aprendizado que veremos neste material.

  1. Aprendizado supervisionado: é fornecido um conjunto de exemplos para os quais o rótulo da classe associada é conhecido, ou seja, temos os valores da resposta, y. Assim, dadas as medições \((\mathbf{x}_1,y_1), \dots, (\mathbf{x}_n,y_n)\), ensinamos (treinamos) o modelo, de modo que seja capaz de prever uma nova observação de \(y\) baseado nos respectivos \(\mathbf{x}\). Ou seja, o objetivo é construir um algoritmo que possa determinar corretamente os exemplos não rotulados. Para rótulos discretos, esse problema é conhecido como Classificação, já para valores contínuos, como Regressão.

  2. Aprendizado não-supervisionado: a partir dos exemplos (\(\mathbf{x}\)) apresentados, tenta-se determinar algum agrupamento desses, segundo uma medida de similaridade. Neste caso não se tem uma resposta correta (uma supervisão). Assim, dado \(x_1, \dots, x_n\), o objetivo é descobrir uma estrutura nos dados baseado em uma métrica.

O processo para avaliar a qualidade do aprendizado é outra etapa de grande importância. Trata-se do momento de medir a capacidade do algoritmo em generalizar suas ações para exemplos ainda não vistos (que não participaram do treinamento). Em resumo, as etapas de aprendizado do algoritmo podem ser enumerados como segue:

  • Armazenamento dos dados: utiliza a observação para fornecer uma base para o raciocínio adicional;

  • Abstração: envolve a tradução dos dados armazenados em representações e conceitos;

  • Generalização: cria conhecimento e inferência que direcionam ações em novos contextos;

  • Avaliação: fornece um mecanismo de feedback para medir a utilidade do conhecimento adquirido e informar potenciais melhorias.



Os limites do aprendizado


É indiscutível o fato de que os computadores estão desempenhando tarefas cada vez mais complexas e em menos tempo. Entretanto, importa dizer que eles ainda são limitados na sua capacidade em entender completamente o problema. Pode-se afirmar que eles são forças intelectuais sem direção, cabendo ao cientista de dados conduzir o estímulo ao aprendizado. Por exemplo, o computador é excelente para responder perguntas, mas não para criá-las. São capazes de encontrar padrões sutis em grandes conjunto de dados, mas se não forem corretamente guiados, não servirão para muita coisa. Além disso, sem exemplos adequados, são limitados em sua habilidade de realizar uma simples inferência. Por exemplo, determinar quais das imagens abaixo referem-se a uma girafa verdadeira.


Note que Machine Learning não é um substituto do cérebro humano. Ele não conhece o senso comum, e tem pouca flexibilidade para ir além dos conceitos apresentados nos treinamentos. Por isso, devemos ser extremamente cuidadosos para reconhecer o que o algoritmo realmente aprendeu e o que ele ainda precisa aprender. Por exemplo, na figura abaixo, baseado na informação de que o Homer Simpson gosta de cerveja Duff, lhe foi recomendado uma camisa Duff, você diria que o aprendizado foi correto?

Nesse caso, o aprendizado foi correto! O algoritmo soube extrair a informação de que o Homer gostava da marca Duff, e sugeriu um artigo similar. Entretanto, resta saber qual era objetivo desse classificador. Esses exemplos ilustram um fato importante sobre Machine Learning: o aprendizado é tão bom quanto os dados são para ensinar. É um paradigma “garbage in, garbage out!”.