• Nenhum resultado encontrado

Apontamentos M2

N/A
N/A
Protected

Academic year: 2021

Share "Apontamentos M2"

Copied!
42
0
0

Texto

(1)

Professor Doutor Fernando Lucas Bação

U

NIDADE DE

(2)

1

Introdução aos Aspectos Metodológicos do Data Mining.

2

Diferentes Tipos de Ferramentas para Construir Modelos.

3

O Problema da Sobre-aprendizagem nos Modelos Indutivos

4

A Metodologia do Data Mining.

5

Definição do Problema.

6

Recolha de Dados.

7

Bibliografia.

(3)

1 INTRODUÇÃO AOS ASPECTOS METODOLÓGICOS DO DATA MINING

Durante este módulo estudaremos as particularidades das ferramentas utilizadas no Data Mining para desenvolver modelos, bem como algumas das suas consequências. Trataremos também dos primeiros estágios do processo iterativo que normalmente se encontra associado à utilização dos métodos de Data Mining. É fundamental compreender que para além das ferramentas específicas disponíveis para “atacar” os problemas (como as redes neuronais, as árvores de decisão, etc.), existe um processo coerente de abordagem e que assenta num conjunto bem definido de estádios. Este processo decorre das particularidades das ferramentas normalmente utilizadas.

Gostaria de aproveitar esta introdução para apresentar alguns conceitos que irão aparecer com durante o resto do curso. Dois conceitos centrais para a matéria que iremos cobrir são os de input e output. O conceito de input é idêntico ao de variável independente, no contexto da regressão. Assim, nos problemas que tratamos teremos sempre um conjunto de variáveis de input que, no caso da modelação preditiva, servem de base às previsões do modelo. A variável de output será a variável que pretendemos modelar. No caso específico da modelação preditiva de classificação o output será a classe a que o indivíduo em causa pertence. Num problema de estimação o output será um valor da variável contínua que procuramos modelar.

No caso da estimação um exemplo seria, “a estimação do preço das acções da empresa XPTO”, o output seria o valor das próprias acções. Num problema de classificação, um exemplo seria, “tentar seleccionar bons candidatos para a atribuição de crédito”, as classes (ou categorias) poderiam ser “baixo risco” e “elevado risco”.

Os inputs constituem as variáveis independentes, genericamente podemos dizer que são os dados relacionados com o problema que nos ajudarão a calcular os valores de output desejados. No caso das acções os inputs seriam, por exemplo, o valor médio da acção nos últimos 50 e 20 dias, o valor do índice de mercado, o número médio de acções da empresa transaccionado nos últimos 5 dias, etc. No caso do empréstimo bancário os inputs poderiam ser o salário actual, outras responsabilidades hipotecárias (normalmente calculadas através de um índice designado “taxa de esforço”), património mobiliário disponível, saldo médio da conta à ordem, idade, etc. Tipicamente, os modelos preditivos que utilizaremos ao longo do curso

(4)

terão um conjunto, por vezes grande, de variáveis de input e tentam modelar uma variável de output (Figura 1) a variável de interesse.

Output

Modelo

Input A Input B Input C

Output

Modelo

Input A Input B Input C

Figura 1: Aspecto típico do fluxo de informação num modelo, neste caso específico com 3 variáveis de input (A, B e C) e uma variável de output.

Outros dois conceitos importantes, que iremos encontrar frequentemente, são os de sinal e ruído, estes provêem da área de reconhecimento de padrões. Por sinal entendemos aquilo que os dados nos poderão transmitir e que é útil na modelação do problema. Ruído relaciona-se com tudo aquilo que diminui a qualidade dos dados ou não é importante para modelar o problema. Por exemplo, digamos que encontramos um amigo, numa rua de Lisboa (Av. Liberdade), e encetamos um diálogo (o habitual “como é que vai a vida?”). O sinal será o discurso do nosso amigo, aquilo que ele nos diz, sendo que o ruído será todo o restante barulho que existe à nossa volta (os carros a passar, as pessoas, as obras que eventualmente existam, etc.).

Em circunstâncias normais conseguimos compreender o que ele diz (ou seja distinguimos o sinal do ruído) o nosso cérebro (modelo) valoriza as palavras do nosso amigo (sinal) abstraindo-se dos ruídos circundantes (ruído), apesar de ambos (inputs) chegarem aos nossos ouvidos. Pode acontecer, em Lisboa acontece frequentemente, que o ruído se torna tão elevado que deixamos de conseguir compreender a mensagem que o nosso amigo pretende transmitir. Neste caso o nosso cérebro (modelo) deixou de ser capaz de distinguir nos inputs (aquilo que nos chega aos ouvidos) o que é sinal e o que é ruído. O mesmo se passa nos nossos modelos, a qualidade dos dados determina a nossa capacidade de modelar o fenómeno de forma a entender as verdadeiras causas subjacentes. Por forma a atingir o sucesso na modelação é imprescindível isolar o essencial (sinal) do irrelevante (ruído) nas variáveis de input.

(5)

Um modelo é uma construção teórica utilizada como uma ferramenta de estudo e compreensão de um sistema físico ou social, demasiado complexo para que possa ser compreendido por inferência directa dos dados observados. Normalmente, um modelo é concebido com preocupações específicas em mente e, com frequência, o mesmo problema pode ser modelado de forma diferente, reflectindo objectivos diferentes. Um modelo matemático é um modelo abstracto que utiliza a linguagem matemática para descrever o comportamento de um sistema. Para Eykhoff (1974) um modelo matemático é “uma representação dos aspectos essenciais de

um sistema existente (ou a ser construído) e que apresenta o conhecimento sobre esse sistema de forma utilizável”. Os modelos matemáticos são particularmente populares nas

ciências físicas e nas engenharias, mas também são usados nas ciências sociais.

A implementação computacional de um modelo, como na maioria das tarefas de processamento, requer um “programa” detalhado de instruções. Estas instruções são, tipicamente equações matemáticas que caracterizam relações entre inputs e outputs (que mapeiam os inputs para o(s) output(s)), por outras palavras variáveis conhecidas (independentes) e variáveis a estimar (dependentes). Formular estas equações constitui o problema central da construção de modelos.

O objectivo do Data Mining é exactamente construir estas representações da realidade, no entanto, para os nossos propósitos vale a pena dividir estas representações em duas duas classes, os modelos globais e os padrões locais. No caso dos modelos globais produz um sumário global de um conjunto de dados. Se considerarmos uma tabela de dados com n exemplos caracterizados em função de p dimensões, o modelo pode “pronunciar-se” sobre cada um destes exemplos, sobre cada um destes pontos no espaço p dimensional. Pode associar um ponto a um cluster ou prever o valor de uma variável de interesse.

Ao contrário dos modelos, que possuem uma natureza global, os padrões locais representam conhecimento parcial, sobre zonas restritas do espaço definido pelas variáveis. Um padrão local descreve a estrutura de um subconjunto, normalmente pequeno, dos dados. Um exemplo de um padrão e a regra de que em 20% dos casos quem compra sapatos também comprará meias. Este tipo de regras referem-se a subconjuntos de dados, não sendo generalizáveis a toda o conjunto.

(6)

2 DIFERENTES TIPOS DE FERRAMENTAS PARA CONSTRUIR MODELOS

Existem diferentes formas de construir modelos e de as classificar. Para os nossos propósitos classificaremos os métodos de construção de modelos com base no conhecimento apriorístico que existe sobre o sistema a modelar o que se traduz no tipo de equações que utilizam (especificação do modelo). Assim, e sem preocupações de exaustividade, podermos dizer que temos três tipos principais de métodos: os métodos baseados em conhecimento; os métodos baseados em pressupostos; os métodos baseados nos dados. Quanto maior e melhor for o nosso conhecimento do fenómeno de interesse, maior a capacidade que temos para produzir modelos baseados no conhecimento. É importante ter em conta que esta classificação está longe de ser discreta, representando um contínuo onde nem sempre é fácil distinguir onde começa uma determinada classe de métodos e termina outra (Figura 2).

Baseados em Conhecimento Baseados em Pressupostos Baseados em Dados

Mais Conhecimento Mais Dados

Figura 2: o contínuo dos métodos de construção de modelos, do lado esquerdo temos os modelos que são especificados por existir conhecimento completo sobre o fenómeno, do lado direito os modelos baseados em dados, pelo meio o

compromisso onde o conhecimento é incompleto e os dados ajudam a completar a especificação do modelo.

2.1 Métodos baseados em Conhecimento

A melhor forma de modelar consiste em formular equações que definem, exactamente, de que forma os outputs podem ser calculados a partir dos inputs. Este tipo de modelo, infelizmente, apenas está disponível para problemas completamente compreendidos, onde possuímos um conhecimento completo do fenómeno de interesse. Tipicamente, modelos de reduzida complexidade, onde o número de variáveis a considerar é pequeno e todas as variáveis relevantes podem ser correctamente medidas. A este tipo de modelos, normalmente, chamamos modelos determinísticos. Um exemplo de um modelo determinístico será o cálculo de “quanto tempo demora uma pedra a chegar ao chão?”. É determinístico porque não envolve

(7)

qualquer tipo de estimação, temos uma única variável (h) que representa a altura a que a pedra é lançada, sendo a expressão de cálculo completamente fechada. Conhecemos o valor da constante de aceleração e a sua relação com a altura a que a pedra cai, assim não necessitamos de qualquer outro parâmetro para obter o resultado. O método para a construção do modelo é baseado num conhecimento completo do problema. O conhecimento existente permite especificar sem qualquer ambiguidade a relação entre as variáveis em presença.

( )

8

.

9

2h

2.2 Métodos baseados em Pressupostos

No entanto, a maior parte dos problemas que estudamos está longe de ser tão bem compreendido como a gravidade terrestre. Em determinadas circunstâncias podemos ter uma boa ideia da forma como os outputs e inputs se relacionam, mas não o suficiente para construir um modelo útil unicamente com base no conhecimento existente. Suspeitamos ou sabemos que a relação, entre as variáveis, segue uma determinada forma mas necessitamos de estimar parâmetros adicionais, neste caso temos que utilizar um método de construção de modelos baseado em pressupostos. Por outras palavras, o conhecimento existente, não sendo completo, é suficiente para que possamos avançar uma conjectura/pressuposto sobre a forma da relação entre as variáveis. Este seria o caso de querermos modelar o tempo que uma pedra demora a cair no planeta xpto. Neste caso, assumiríamos a hipótese de que a relação entre a altura e a constante de aceleração se conserva mas necessitaríamos de estimar a constante de aceleração (g).

( )

g

h

2

A forma mais simples de resolver o problema da estimação de g consiste em o fazer por experimentação. Começamos por proceder a um conjunto de experiências (lançamos a pedra a

(8)

diversas alturas e medimos o tempo que demora a tocar no solo) e produzimos uma tabela (Tabela 1) de registos com os valores de input (altura) e o correspondente output (tempo de queda). Neste caso temos apenas uma variável de input, a altura da qual a pedra foi lançada.

Tabela 1: resultado das experiências levadas a cabo no planeta xpto no que respeita ao tempo de queda duma pedra.

O próximo passo consiste em seleccionar um valor apropriado para g, de forma a que o modelo produza estimativas tão próximas da realidade quanto possível. Por outras palavras, queremos definir um valor para g que perante um valor de input para a altura nos permita estimar o tempo de queda de forma tão precisa quanto possível. O gráfico seguinte mostra as medições que fizemos e a resposta de modelos para diferentes valores de g no caso 9.8, 20 e 35:

(9)

Neste caso é relativamente simples definir um bom valor para g, no entanto isto nem sempre acontece, especialmente em problemas mais complexos que envolvem relações complexas e múltiplas variáveis. Tal como podemos observar no gráfico, a linha a meio, definida pela utilização do valor 20 como constante, parece ser aquela que melhor se adequa à descrição do tempo que uma pedra demora a cair neste planeta específico.

Podemos também observar que, apesar de descrever o fenómeno de uma forma bastante fiel, continuam a existir discrepâncias entre os valores estimados e os verdadeiros valores medidos durante as experiências (representadas pelas linhas). Estas incorrecções poderão advir de duas causas fundamentais, por um lado de deficiências na estrutura do modelo, por outro de erros de medição. Obviamente, a utilidade do modelo está sempre dependente da magnitude destes erros, ou seja, a diferença entre os valores apresentados pelo modelo e os valores medidos na realidade.

O aspecto fundamental dos métodos de construção de modelos baseados em pressupostos consiste no facto de equações matemáticas explícitas caracterizarem a estrutura da relação entre inputs e outputs, havendo, no entanto, alguns parâmetros não especificados que necessitam de ser estimados, provavelmente a partir de uma amostra, como aconteceu no caso anterior.

A regressão linear constitui um dos exemplos mais conhecidos de um método baseado em pressupostos e que assume como hipótese a existência de uma relação linear entre inputs e output, sendo normalmente expressa da seguinte forma:

p p

X

X

X

a

Y

=

+

β

1

1

+

β

2

2

+

...

+

β

Assim, estes métodos têm, normalmente, um nível de complexidade pré-definido à partida, o caso específico da regressão linear é um exemplo disso, sendo que o pressuposto subjacente é a de que existe uma relação linear entre inputs e outputs.

Um aspecto fundamental a ter em conta no que respeita a estes métodos relaciona-se com o facto de exigirem um sólido conhecimento do fenómeno que pretendemos modelar. Antes de mais os aspectos fundamentais da relação têm que ser conhecidos, ou seja, não só teremos que conhecer quais as variáveis relevantes no processo, como também a forma como influenciam o processo.

(10)

2.3 Modelos baseados nos Dados (Data Driven)

Chegados a este ponto entramos no âmbito dos métodos que constroem modelos baseados em dados (muitas vezes designados modelos “data-driven”) que, tal como o próprio nome indica, dependem essencialmente dos dados, por oposição à utilização de conhecimento específico do domínio do problema (meta-modelo). Este tipo de método tem conhecido grande sucesso especialmente na resolução de problemas complexos onde o conhecimento apriorístico é escasso. Estes métodos fazem face à ausência de conhecimento recorrendo a grandes conjuntos de dados que caracterizam os fenómenos de interesse.

A premissa essencial dos métodos baseados em dados é a de que relações que ocorrem de forma consistente no conjunto de dados repetir-se-ão em observações futuras; poderemos chamar a esta uma abordagem eminentemente indutiva. Assim, obtendo um conjunto suficientemente grande de exemplos poderemos ajustar um modelo de complexidade arbitrária que permitirá reproduzir os comportamentos observados. Neste caso o modelo é produzido por via de uma busca, ou seja, o método procura o modelo que melhor descreve os dados. Este processo é feito iterativamente tentando ajustar modelos de complexidade crescente. Podemos pensar em ferramentas que “aprendem” e à partida não são limitadas em termos de complexidade. O exemplo será o de tentar encontrar o polinómio (

( )

=

=

M i i i

x

w

x

y

0 ) de grau M que represente os 11 pontos da Figura 4.

(11)

Figura 4: os dados de treino que servirão para ajustar o modelo.

O problema será então o de procurar qual o grau do polinómio que melhor se ajusta (descreve) os 11 pontos dados. A primeira aproximação é dada por um polinómio de grau 1 (

y

( )

x

=

w

0

+

w

1

x

), representado na Figura 5.

Figura 5: o polinómio de grau 1 parece não se ajustar adequadamente ao problema.

O ajuste produzido pelo polinómio de grau 1 é manifestamente insuficiente, ou seja, a distância entre a linha proposta para descrever o comportamento dos 11 pontos e os pontos

(12)

propriamente ditos é, na maior parte dos casos, demasiado grande. Genericamente, poderemos dizer que o fenómeno que estamos a tentar modelar é mais complexo que o modelo que estamos a propor para o descrever. Utilizando um polinómio de grau 3

(

( )

3 3 2 2 1 0

w

x

w

x

w

x

w

x

y

=

+

+

+

), ou seja aumentando a complexidade do modelo proposto para descrever o comportamento dos 11 pontos, o ajustamento obtido melhora de forma significativa (Figura 6). A curva traduzida pelo polinómio de grau 3 é bastante fiel descrevendo a posição dos pontos de forma bastante próxima.

Figura 6: o polinómio de grau 3 ajusta-se adequadamente ao problema, apesar de não passar exactamente em todos os pontos, traduz de forma fiel as alterações.

Podemos ainda aumentar o grau do polinómio (aumentar a complexidade) utilizado por forma a testar se conseguimos um ajustamento ainda mais próximo. Assim, um polinómio de grau 10

(

( )

10 10 9 9 8 8 7 7 6 6 5 4 3 3 2 2 1 0

w

x

w

x

w

x

w

x

w

x

w

x

w

x

w

x

w

x

w

x

y

=

+

+

+

+

+

+

+

+

+

) produz um ajustamento

ainda mais próximo do que o polinómio de grau 3 (Figura 7). A curva dada pelo polinómio “passa” exactamente sobre todos os 11 pontos de interesse. No entanto, podemos observar que a curva produzida parece, em determinadas zonas, possuir inflexões que dificilmente serão justificadas pela distribuição dos pontos de interesse. O modelo produzido pelo polinómio de grau 10 é manifestamente mais complexo que aquele que foi produzido pelo polinómio de grau 3. A questão central é a de se a complexidade adicional introduzida pelo primeiro tem alguma

(13)

relevância para o problema que estamos a tentar modelar. A julgar pelos 11 pontos que temos parece que não.

Figura 7: o polinómio de grau 10 parece ajustar-se “demasiado” aos pontos que respresentam o problema, tendo algumas inflexões não justificadas pela distribuição dos pontos.

Sem informação adicional, e tendo em conta os três modelos apresentados, facilmente optaríamos pelo polinómio da grau 3, uma vez que parece ajustar-se adequadamente aos dados, ao contrário do polinómio de grau 1, e também não apresenta uma curva desnecessariamente complexa, como o polinómio de grau 10. A análise intuitiva sugere que

M=1 não acomoda a complexidade do fenómeno que procuramos modelar e M=10 possui uma

complexidade superior à necessária para representar o fenómeno.

Neste contexto, podemos encarar a tarefa de modelação como uma tarefa de busca onde, de entre todos as soluções possíveis (o espaço das soluções) para descrever um fenómeno, procuramos aquela que melhor se ajusta. O conceito de espaço das soluções é importante, na medida em que ajuda a compreender a forma de funcionamento dos métodos baseados nos dados. No caso do exemplo anterior, o espaço de soluções é infinito e é dados por todas as curvar possíveis no plano.

Os métodos baseados nos dados podem ser encarados como heurísticas que buscam no espaço das soluções o melhor modelo (no caso particular do exemplo anterior a melhor curva)

(14)

possível. Em geral, estes métodos têm uma natureza iterativa o que lhe permite irem progressivamente aumentando a complexidade do modelo. Em teoria, estas ferramentas podem construir modelos arbitrariamente complexos.

A premissa básica, subjacente a estes métodos, é a de que relações observadas consistentemente no conjunto de dados se manterão no futuro ou em outras medições do fenómeno de interesse. O que implica que os dados utilizados para construir o modelo têm que ser representativos do fenómeno de interesse. Outra implicação é a de que os modelos serão tanto mais fiáveis quanto maior o volume de dados a que se tenha acesso durante a sua construção. Assim, podemos descrever estas ferramentas como indutivas, na medida em que afirmam acerca de todos, aquilo que foi possível observar em alguns. Por outras palavras, no caso destes métodos através de uma amostra define-se uma teoria genérica, incluindo elementos que não faziam parte da amostra. A indução faz a generalização, ou seja, cria proposições universais a partir de proposições particulares. A pesquisa eleitoral é um exemplo do raciocínio indutivo, onde uma amostra de eleitores é utilizada para encontrar os resultados percentuais de cada um dos candidatos.

Apesar da exigência, em termos de conhecimento, ser relativamente pequena, é indispensável um conhecimento mínimo do fenómeno de interesse nomeadamente quais as variáveis mais relevantes para a construção do modelo. Normalmente, possuímos alguma informação ou até mesmo intuição sobre quais as variáveis mais importantes. Assim, o conhecimento do fenómeno é fundamental por forma a “reduzir o espaço de busca” das soluções possíveis. No nosso curso iremos estudar essencialmente este tipo de ferramentas, ferramentas que constroem modelos baseados nos dados, ferramentas indutivas (Figura 8).

Baseados em Conhecimento Baseados em Pressupostos Baseados em Dados

Mais Conhecimento Mais Dados

Data Mining

Figura 8: no nosso curso iremos centrar a nossa atenção nas ferramentas indutivas, que se baseiam nos dados para fazer face à ausência de conhecimento sobre o fenómeno em estudo.

(15)

3 O PROBLEMA DA SOBREAPRENDIZAGEM NOS MODELOS INDUTIVOS

No ponto anterior concluímos que as ferramentas utilizadas no contexto do Data Mining constroem modelos baseados nos dados, sendo por isso apropriadamente designadas de indutivas. Elas caracterizam-se por utilizar os dados para “aprender” um modelo que caracteriza o comportamento dos dados. Assim, estas ferramentas de aprendizagem extraem conhecimento a partir dos dados que é passível de ser aplicado a instâncias desconhecidas do problema. Vimos também, no ponto anterior, que a forma como esta aprendizagem acontece pode ser traduzida numa tarefa de busca. As ferramentas utilizadas procuram o modelo que melhor se ajusta aos dados, de forma iterativa e com uma complexidade crescente, à medida que o processo de aprendizagem progride o modelo torna-se cada vez mais complexo. Uma das questões centrais neste tipo de modelação consiste em saber quando deveremos para o processo de aprendizagem. Quando é que o modelo já descreve suficientemente bem o problema de interesse.

Neste ponto tratamos do problema da escolha do melhor modelo, de entre os modelos possíveis. No ponto anterior oferecemos um exemplo onde são apresentados 3 modelos concorrentes (Figura 9) para descrever um fenómeno, no caso, representado por 11 observações. Como já referimos ao longo do curso centraremos a nossa atenção nos métodos que, para a construção de modelos, se baseiam nos dados e na busca do espaço das soluções. Assim, e tal como aconteceu no exemplo anterior, teremos sempre inúmeros modelos possíveis e a necessidade de optar por um deles. O problema que se põe agora é de que forma podemos escolher o melhor modelo?

(16)

Figura 9: comparação dos modelos propostos pelos 3 polinómios testados.

Interessa, antes de discutir a forma de escolha, reflectir sobre os objectivos dos modelos produzidos por estas ferramentas. Tipicamente, utilizamos estas ferramentas para produzir modelos que nos permitam descrever, compreender ou prever o comportamento dos fenómenos de interesse. Assim, com base numa amostra de valores conhecidos (os 11 pontos do exemplo da secção anterior) procuramos inferir/generalizar para todas as outras instâncias do mesmo problema. Por exemplo, com base no comportamento dos clientes a imobiliária do módulo anterior desenvolveu-se um modelo para prever qual o valor da casa que um determinado cliente compraria, dados os valores sobre o seu rendimento. Temos então que o objectivo central da construção de modelos, no nosso caso concreto, é o da previsão. O objectivo não é aprender a agir no conjunto de dados que temos disponível mas sim no universo “desconhecido”.

Dados os seguintes pressupostos:

• o objectivo é o de generalizar o conhecimento extraído com base nos dados de que dispomos, utilizando-o para inferir sobre exemplos desconhecidos do problema;

• os métodos que utilizamos para a construção dos modelos são indutivos;

• os métodos que utilizamos para a construção dos modelos podem produzir modelos arbitrariamente complexos;

(17)

• existe uma infinidade de modelos que pode ser utilizada para descrever o fenómeno de interesse;

então teremos que definir quais os critérios a estabelecer para seleccionar os melhor modelo. Em primeiro lugar, e seguindo um princípio consensual em ciência, escolhemos a representação de conhecimento mais simples, a mais fácil de entender. Tal como o princípio da Navalha de Occam (para obter informação mais detalhada consulte

http://skepdic.com/occam.html), também conhecido como o princípio da parcimónia, enuncia, “se há várias explicações igualmente válidas para um facto, então devemos escolher a mais

simples”. Basicamente, a ideia central é a de que a um aumento da complexidade deve

também corresponder uma melhoria da qualidade da explicação. Tudo o resto igual, deveremos sempre preferir a explicação mais simples. Em segundo lugar, procuramos a representação de conhecimento com menor probabilidade de erro. Finalmente, procuramos a representação de conhecimento mais provável, aquela que com maior probabilidade representa o fenómeno em estudo.

Tendo em conta quer as premissas quer os critérios apresentados a questão que se põe é a de como nos preparamos para o desconhecido? Se os métodos que utilizamos para produzir modelos partem dos modelos simples para e iterativamente vão tornando o modelo progressivamente mais complexo, quando devemos parar? Qual o modelo com a complexidade adequada? A forma mais expedita de resolver esta questão consiste em manter um conjunto de dados “de reserva”.

A utilização de um conjunto de dados de reserva evita o problema da “sobre-aprendizagem” (overfitting) que se traduz na tendência dos métodos baseados nos dados (típicos do data mining) se adaptarem demasiado aos dados que utilizam para desenvolver (aprender) o modelo, e que passaremos a designar como conjunto de treino. Um exemplo típico da sobre-aprendizagem é o que aconteceu no exemplo anterior com o polinómio de grau 10. Ao se adaptar estritamente ao conjunto de treino o modelo deixa de ter capacidade de generalização, ou seja, deixa de ser útil para previsão. Podemos dizer que o modelo é tão complexo que “memoriza” os dados de treino, sendo válido apenas para o conjunto de dados de treino.

Na Figura 10 apresentamos um exemplo de dois modelos e da sua performance no conjunto de treino, o seja, o conjunto de dados que deu origem ao próprio modelo. O objectivo deste modelo consiste em separar os pontos vermelhos dos pontos azuis. Do lado esquerdo (modelo

(18)

1) temos um modelo algo sinuoso (neste caso poderemos usar sinuoso como sinónimo de complexo) e que, por via disso, separa quase todos os pontos de acordo com a sua cor, tendo uma precisão de 91%. Do lado direito (modelo 2) temos um modelo simples (uma linha recta) que apresenta uma performance mais modesta no conjunto de treino, 83%. Julgando apenas com base na sua performance no conjunto de treino, seríamos levados a considerar o modelo 1 mais preciso do que o modelo 2.

Conj. Treino

200 exemplos

19 erros

(91% precisão)

Conj. Treino

200 exemplos

34 erros

(83% precisão)

Modelo 1

Modelo 2

Figura 10: dois modelos concorrentes utilizados para classificar pontos em duas classes e repectiva precisão no conjunto de treino.

No entanto, como já discutimos, para poder avaliar a performance dos modelos, de forma verdadeiramente independente, necessitamos de utilizar um conjunto de reserva, com o qual o métodos que serviu de base à construção do modelo não tenha tido contacto. Só desta forma poderemos garantir que aquilo que o método utilizado para criar o modelo aprendeu é generalizável. Na Figura 11 são apresentados os resultados dos dois modelos anteriores agora no conjunto de reserva o qual passaremos a designar de conjunto de validação. Ao contrário do que sucedeu no conjunto de treino, no conjunto de validação o modelo 2 apresenta uma melhor precisão com 79% dos exemplos correctamente classificados, ao passo que o modelo 1 não ultrapassa os 76% de exemplos correctamente classificados.

(19)

Com estes dados poderemos dizer que o modelo 1 sendo mais complexo não apresenta vantagens em relação ao modelo 2. Pelo contrário, apesar de o modelo 1 produzir melhores resultados no conjunto de treino a sua capacidade de generalização (dada pelos resultados obtidos no conjunto de validação) é pior do que a do modelo 2. No caso do modelo 1 estamos perante uma situação de sobre-aprendizagem. O modelo 1, ao tentar minimizar o erro no conjunto de treino, acabou por se especializar no conjunto de treino perdendo a capacidade de generalização.

Conj. Validação

200 exemplos

49 erros

(76% precisão)

Conj. Validação

200 exemplos

43 erros

(79% precisão)

Modelo 1

Modelo 2

Figura 11: os dois modelos apresentados na figura anterior neste caso com a precisão que aoresentam no conjunto de validação.

Já nos referimos à natureza iterativa da maior parte dos métodos que constroem modelos baseados nos dados. Tipicamente, começam com uma proposta de modelo extremamente simples e, à medida que o processo de aprendizagem avança, o modelo torna-se mais complexo. Como estas ferramentas podem construir modelos de complexidade arbitrária é indispensável possuir uma forma de parar a aprendizagem quando a complexidade do modelo é adequada ao problema a tratar. Vimos, no exemplo anterior, que a melhor forma de proceder para evitar a sobre-aprendizagem consiste em manter um conjunto de exemplos de reserva, designado conjunto de validação, que nos avaliar a capacidade de generalização do modelo.

(20)

Assim, quando utilizamos métodos de aprendizagem (métodos que produzem modelos baseados em dados) temos acesso à evolução da complexidade do modelo e a sua performance quer no conjunto de treino quer no conjunto de validação. Na Figura 12 podemos ver um exemplo de aprendizagem, onde se acompanha a evolução do erro do modelo no conjunto de treino e no conjunto de validação. A partir de uma determinada altura, o progresso do erro no conjunto de validação diverge e começa a aumentar, ao contrário do erro no conjunto de validação que continua a diminuir. É exactamente a partir deste ponto que o modelo começa a sobre-aprender, ou seja, a utilizar idiossincrasias do conjunto de treino como forma de baixar o erro. A partir deste ponto (assinalado pela linha designada “a melhor representação) a aprendizagem deixa de ser relevante, sendo aqui que o treino do modelo deve para, ou seja, quando o nível de erro no conjunto de validação deixa de diminuir. A partir deste ponto o modelo reflecte características dos dados presentes no conjunto de treino mas que não são generalizáveis.

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

Complexidade da representação do conhecimento

Erro no

Conjunto de

Validação

A melhor

representação

Erro

Erro no

Conjunto de

Treino

Figura 12: em regra as ferramentas que utilizamos no data mining permitem a monitorização da evolução do erro no conjunto de treino e validação ao longo do processo de aprendizagem. Tal como podemos ver na figura a ponto óptimo

(21)

A conclusão de que necessitamos de um conjunto de validação para monitorizar a aprendizagem dos nossos modelos, implica uma pequena alteração no modelo apresentado no módulo 1 para a modelação preditiva. Assim, o algoritmo que utilizamos para extrair conhecimento dos exemplos de treino necessita de ser monitorizado com base num conjunto de validação (Figura 13). O conjunto de treino servirá para que a extracção de conhecimento ou aprendizagem e o conjunto de validação servirá para garantir que o conhecimento que está a ser extraído é generalizável. O conjunto de validação permite-nos controlar o processo de aprendizagem.

Figura 13: por forma monitorizar o processo de aprendizagem e garantir que o conhecimento extraído é generalizável é necessária a utilização de um conjunto de dados de validação.

Existe ainda uma questão importante, no que respeita à utilização aos métodos de aprendizagem, que se refere às estimativas de erro que obteremos ao aplicar o modelo a novos dados. Podemos inferir da explicação anterior que a estimativa de erro que podemos obter com base no conjunto de treino é manifestamente optimista. No entanto, o erro obtido com o conjunto de validação, apesar de ser mais realista, também tenderá a ser optimista, uma vez que este conjunto de dados é utilizado para definir quando devemos terminar o treino. Assim, a única forma de obter um erro não enviesado do modelo consiste na utilização de um terceiro conjunto de dados que será utilizado apenas para esta tarefa e que é normalmente designado conjunto de teste. Este conjunto de dados é reservado e servirá apenas para estimar o erro do modelo quando aplicado a novos dados.

(22)

Tipicamente, durante o processo de aprendizagem, o conjunto de dados conhecidos será separado em 3 conjuntos distintos (Figura 14): conjunto de treino, conjunto de validação e conjunto de teste. O que podemos dizer sobre o papel destes conjuntos no processo de aprendizagem é que: quanto maior for o conjunto de treino, melhor será o modelo obtido; quanto maior for o conjunto de validação, melhor será a estimação do treino óptimo; quanto maior for o conjunto de teste, melhor será a estimação do desempenho do modelo.

(23)

4 A METODOLOGIA DO DATA MINING

Embora muitas vezes negligenciada, a questão da metodologia subjacente ao tratamento dos problemas no Data Mining constitui um dos factores críticos no desenvolvimento de aplicações bem sucedidas. Existe um grande número de especificidades metodológicas que é essencial conhecer por forma a obter uma visão clara e precisa dos requisitos necessários, para a aplicação de ferramentas como as redes neuronais, árvores de decisão entre outras.

Obviamente, as directivas que aqui apresentaremos são genéricas sendo que existem aspectos específicos, relacionados com as diferentes ferramentas, que devem ser levados em linha de conta. No entanto, no que resta deste módulo estudaremos os aspectos mais relevantes do processo subjacente à aplicação destas ferramentas, cobrindo a grande maioria das questões com que normalmente nos confrontamos.

O processo de desenvolvimento de modelos baseados nos dados está representado na Figura 15. Como já referimos, um dos aspectos centrais deste processo relaciona-se com a sua iteratividade, sendo por isso algo artificial a sua divisão em compartimentos estanques sugerida na figura. Apesar disso e como forma de facilitar a abordagem ao tema utilizaremos este esquema como referência.

Definir o

Problema

Recolher

Dados

Preparar

Dados

Pré-processemanto

Dados

Selecção do

Algoritmo

Selecção Parâmetros

de Treino Algoritmo

Treino e

Teste

Avaliação do Modelo

Iteractivo

FIM

Definir o

Problema

Recolher

Dados

Preparar

Dados

Pré-processemanto

Dados

Selecção do

Algoritmo

Selecção Parâmetros

de Treino Algoritmo

Treino e

Teste

Avaliação do Modelo

Iteractivo

FIM

(24)

Existe uma sequência lógica na abordagem dos problemas, que se inicia com a definição do problema, ao que se segue a fase de recolha de dados. Tipicamente, esta recolha não se traduz numa recolha de campo, na medida em que na esmagadora maioria dos casos os dados já foram recolhidos pelos sistemas operacionais. Depois de asseguradas as condições “materiais”, procedemos à preparação e pré-processamento dos dados. É com estes 4 estádios (Figura 16) que nos ocuparemos durante este módulo e o módulo seguinte. A seguir ao pré-processamento será necessário escolher a ferramenta a utilizar, bem como os parâmetros de treino. Finalmente, procede-se ao treino e teste, que pode conduzir à reiniciação do processo, de forma a alterar algumas das opções feitas, ou à avaliação final da qualidade do modelo.

Definir o

Problema

Recolher

Dados

Preparar

Dados

Pré-processemanto

Dados

Definir o

Problema

Recolher

Dados

Preparar

Dados

Pré-processemanto

Dados

Figura 16: Fases anteriores à aplicação dos algoritmos

Existem dois “percursos” interdependentes; por um lado um percurso lógico do tratamento do problema, por outro lado um percurso de feedback que perante determinados resultados nos permite reavaliar e alterar escolhas feitas nas fases anteriores ao treino e teste do modelo. Uma prática muito comum consiste na utilização de diferentes algoritmos no tratamento do mesmo problema, criando aquilo que poderemos considerar um contexto competitivo, de forma a avaliar qual dos algoritmos é mais apropriado ou produz melhores resultados para o problema em apreço.

Tal como o nome indica a definição do problema consiste numa cuidadosa reflexão sobre o problema de interesse. Só um profundo entendimento das questões envolvidas e dos resultados a atingir permite levar a bom termo um projecto deste tipo. Uma das questões centrais, nesta fase, reside em determinar se é ou não apropriado tratar o problema com modelos baseados em dados, com ferramentas de aprendizagem características do Data Mining. É também necessário definir de que forma se vai avaliar o resultado final, bem como o que é que pode ser considerado um sucesso. Por último é necessário explicitar o problema em termos de inputs e outputs, e o tipo de tarefa envolvida (estimação, classificação, clustering, etc).

(25)

Como já referimos, na maior parte das situações, termos acesso aos dados necessários ao projecto, no entanto, é também possível que haja necessidade de proceder à sua recolha. No caso de ser necessário proceder à recolha de dados, existe um conjunto de aspectos a ter em conta. Por exemplo, de que forma se procederá à recolha, ou qual a quantidade de dados necessários, questões como estas são importantes e condicionam o desenvolvimento do projecto.

(26)

5 DEFINIÇÃO DO PROBLEMA

A formulação do problema envolve um conjunto de considerações que discutiremos nesta secção. Assim, iremos tratar os seguintes assuntos:

• Quais os tipos de problemas adequados ao Data Mining? • Como avaliar os resultados?

• Vantagens de iniciar a modelação com instâncias simples do problema. • Quais as variáveis de input a incluir no modelo?

• Considerações sobre os dados.

5.1 Tipo de problemas adequados ao Data Mining

A primeira pergunta a que deve responder é se os métodos de modelação de Data Mining (DM) são apropriados ao tratamento do seu problema. Se existe uma solução matemática para o problema, se este é bem compreendido e existem boas soluções analíticas ou baseadas em regras (classificar ovos em “médios”, “grandes” e “muito grandes” com base no peso). Nestes casos não vale a pena utilizar as técnicas de DM. Se as relações existentes no problema são bem conhecidas ou conhecemos a forma da solução (por exemplo, sabemos que a relação existente é linear), poderemos utilizar modelos baseados em pressupostos para obter bons resultados.

A utilização de modelos baseados em dados é particularmente indicada quando não são conhecidas boas soluções e o problema tem as seguintes características:

• existência de muitos dados históricos disponíveis sobre o problema;

• o problema ou comportamento não é compreendido ou existe dificuldade na sua caracterização;

(27)

• os modelos existentes para o tratamento do problema possuem hipóteses restritivas, possivelmente erradas, ou incompletas sobre o problema ou comportamento.

A presença destas características aumenta a probabilidade de sucesso na utilização de modelos baseados em dados. Apesar disso, é sempre possível (desde que a quantidade de dados seja suficiente) utilizar estes modelos em qualquer problema, pode é não justificar o trabalho. Por vezes, pode ser interessante utilizá-los como forma de comparação ou até mesmo complementando os resultados conseguidos com outros métodos.

5.2 Avaliação dos resultados

Existe por vezes a tentação de ir directamente para a fase da experimentação e utilização dos métodos. No entanto, é benéfico começar por considerar quais os resultados que espera obter, e especialmente a forma como tenciona avaliar a sua qualidade. Assim, aqui fica um conjunto de questões a ter em consideração:

• Qual o nível de exactidão necessário?

• Qual o nível de exactidão necessário para considerar a aplicação um sucesso? • De que forma irá comparar a qualidade de uma solução obtida?

• Quais as alternativas existentes que possam servir de padrão de comparação? • Qual o tipo de dados que utilizará para proceder à avaliação dos vários modelos?

Considerar estas questões ajudará a desenvolver uma visão global do processo e ajudar a estruturar as fases posteriores.

5.3 Começar com um problema simples

Definindo os outputs e inputs do modelo, estamos em certo sentido, a definir o problema a resolver. Uma estratégia muito recomendável consiste em começar com uma formulação do problema o mais simples possível, que possa proporcionar resultados úteis. Isto significa iniciar a modelação com apenas um valor a estimar, ou em alternativa, no caso da classificação, com um pequeno conjunto de classes (duas por exemplo).

(28)

Iniciar a modelação com um problema simples tem inúmeras vantagens:

• Problemas simples (com menor número de inputs e outputs) treinam mais rapidamente; • Problemas simples não necessitam de muitos dados para treinar (conjuntos de

exemplo);

• Problemas simples permitem uma rápida avaliação dos resultados preliminares; • Problemas simples produzem sucessos prematuros.

Uma vez ganho algum conhecimento através da modelação com modelos simples, podemos alargar e melhorar o nosso modelo. Por exemplo, podemos acrescentar variáveis input ou mais classes de output. No entanto, o aspecto talvez mais importante de todos se relacione com a experiência que se obtém, e que facilita muito a progressão para problemas mais complexos. No caso das tarefas de classificação a decisão sobre a “granularidade” das classes de output é muito importante. É muito mais fácil desenvolver um modelo para classificar amostras em duas classes (por exemplo “boas” e “defeituosas”) do que em 10 classes diferentes (“boas”, “defeito 1”, “defeito 2”, ... ”defeito 10”). Uma consideração importante a ter em conta aquando da escolha da granularidade dos outputs para classificação, é o conjunto de dados que temos disponíveis. Em geral, quanto mais dados houver disponíveis, mais efectivo será o sistema, ou seja, o modelo “aprenderá” a fazer distinções mais finas (mais classes de output). Se não existem muitos dados disponíveis para o desenvolvimento do modelo, então é aconselhável manter o número de classes de output relativamente baixo, refinando o modelo à medida que a disponibilidade de dados aumenta.

Por exemplo, se temos 500 padrões de exemplos disponíveis, tentar distinguir entre 100 classes diferentes de outputs é decerto uma estratégia errada. Depois de dividir o conjunto de dados em conjunto de treino, conjunto de validação e eventualmente conjunto de teste, provavelmente não existirão exemplos suficientes de cada uma das classes para que se possa proceder a inferências seguras.

(29)

5.4 Decidir sobre as variáveis de input

Teoricamente, se dispusermos de um número infinito de dados e tempo, um modelo será capaz de “desvendar” as relações existentes entre qualquer número de inputs e outputs. Por outras palavras, a complexidade do problema não constitui entrave desde que os dados sejam infinitos assim como o tempo de processamento. Durante este processo certamente descobrir-se-ia que muitas das variáveis de input utilizadas eram irrelevantes, ou seja, não contribuíam para a explicação da variável ou variáveis de output.

Como na realidade estamos sempre limitados quer pela quantidade de dados que temos ao nosso dispor, quer pelo poder computacional que podemos utilizar, o modelo pode induzir relações incorrectas entre algumas variáveis. Por forma a evitar isto devemos tentar simplificar o problema retirando variáveis de input irrelevantes. Sobre esta questão da escolha e combinação de variáveis de input falaremos no módulo sobre o pré-processamento de dados. A chave para o sucesso da modelação consiste em fornecer ao modelo o número mínimo de variáveis de input críticas que ajudam a determinar os outputs desejados. Apesar da existência de correlação entre inputs e outputs ser suficiente para modelar, o ideal é que as variáveis de input estejam causalmente relacionadas com o(s) output(s).

A existência de correlação, ainda que estatisticamente válida, pode ficar a dever-se ao acaso, ou seja, é frequente encontrar correlações espúrias que se verificam sem qualquer razão aparente. Em muitas circunstâncias o aparecimento de correlações espúrias deve-se à utilização de um número relativamente baixo de exemplos, sendo que a correlação não se mantém à medida que um maior conjunto de dados é recolhido.

Outra possível origem, para as correlações espúrias, relaciona-se com a utilização de um grande número de variáveis de input. É compreensível que à medida que aumentamos o número de variáveis de input aumentamos também a probabilidade de que os valores numéricos destas variáveis se correlacionem com a variável de output, sem que isso traduza qualquer relação de facto, ou seja, a correlação fica a dever-se única e exclusivamente ao acaso.

É fundamental que subjacente à utilização das variáveis de input exista causalidade com o output. É importante que haja uma razão plausível para a escolha das variáveis de input. Só

(30)

depois de haver uma explicação lógica e racional para os resultados obtidos se deve utilizar o modelo desenvolvido.

5.5 Considerações sobre os dados

É importante ter em consideração a quantidade de dados disponíveis (exemplos de treino) quando definimos os inputs do problema. A dimensão do espaço de busca dos problemas cresce exponencialmente com o número de variáveis de input envolvidas, dando origem a um fenómeno, normalmente designado por “curse of dimensionality” (a maldição da dimensionalidade). A “maldição da dimensionalidade” traduz-se no facto de que à medida que o nº de dimensões (variáveis que caracterizam os exemplos) aumenta o espaço torna-se mais esparso e encontrar grupos de pontos próximos (portanto semelhantes) mais difícil. Assim, a quantidade de dados necessária para garantir uma determinada densidade de pontos aumenta exponencialmente com a dimensionalidade do espaço de input. De outra perspectiva, mantendo constante o conjunto de pontos o espaço torna-se mais esparso à medida que aumentamos a dimensionalidade, com os pontos a tornarem-se tendencialmente equidistantes entre si. Este fenómeno pode ser particularmente prejudicial na construção de modelos, na medida em que a modelação se traduz, essencialmente, na definição de fronteiras entre conjuntos de pontos com características diferentes.

À medida que a dimensão do espaço de input cresce, crescem os requisitos em termos de capacidade computacional, bem como a quantidade de exemplos de treino necessários. Quantas mais variáveis de input forem utilizadas, maior a quantidade de dados (padrões de exemplo) necessária no conjunto de treino por forma a “aprender” de que forma os inputs se relacionam com o output.

Assim, devemos ser parcimoniosos na escolha das variáveis de input a utilizar, procurando garantir que os dados de input devem conter informação suficiente, que permita gerar o output desejado. Adicionalmente, o conjunto de dados deve ser representativo dos padrões que futuramente serão apresentados ao modelo.

A primeira consideração recomenda que se deve incorporar no modelo inputs razoáveis. Por outras palavras, não podemos fornecer ao modelo a nossa idade e a nossa cor preferida e esperar que ele preveja o tempo para amanhã. Se os inputs não proporcionam boas pistas

(31)

resultados. Assim, independentemente da ferramenta utilizada, em última análise, é sempre a qualidade dos inputs que condiciona de forma mais evidente a qualidade do modelo desenvolvido.

A segunda recomendação tem duas importantes implicações. Em primeiro lugar, o modelo “aprende” a produzir (mapear) outputs a partir dos inputs, com base no conjunto de dados. Se depois desta aprendizagem apresentarmos um vector de input que seja muito diferente daqueles a que o modelo teve acesso durante a fase de treino, então o modelo será forçado a extrapolar. A apresentação de um vector de input numa região desconhecida pelo modelo (Figura 17) pode produzir resultados inesperados, muitas vezes desastrosos.

Figura 17: A qualidade da resposta do modelo está intimamente ligada ao conjunto de dados de treino a que teve acesso, em áreas desconhecidas onde os exemplos de treino são escassos é de esperar que a performance do modelo se degrade.

Tendo em conta que o modelo, durante a fase de treino, não teve acesso a exemplos dessa área específica do espaço de input, o resultado poderá ser valores particularmente desajustados. Por isso é fundamental ter a certeza de que o conjunto de treino é representativo dos vectores de input a que o modelo estará exposto após a fase de treino. Caso contrário, é necessário ter consciência de que o treino foi incompleto e por isso existem determinadas áreas onde o output do modelo deve ser ignorado.

(32)

Um exemplo deste problema pode ser apreciado com a análise do mapa da Figura 18. Quando o mundo era representado pelo referido mapa, Cristóvão Colombo poderia esperar atingir a Índia navegando para Oeste (o nosso modelo). Os dados disponíveis na altura não permitiam ter uma imagem correcta do mundo (o nosso espaço de input), existindo, sem que os navegadores soubessem, locais a Oeste que impediriam o acesso às Índias. O mesmo se passa com os modelos baseados em dados, que se baseiam na “aprendizagem”; se a imagem do problema a tratar que lhe proporcionamos for apenas uma parte daquilo que o modelo irá encontrar, então perante observações em zonas desconhecidas (que não fizeram parte do treino) o modelo irá apresentar resultados desajustados.

Figura 18: o Mapa Mundo da época de Cristóvão Colombo, a ausência de experiência para além das zonas representadas fazia prever que se poderia alcanças as Índias por Oeste.

A segunda implicação é a de que o modelo tem que ter acesso a um número suficiente de exemplos, por forma a poder produzir interpolações exactas. Isto significa que devem existir exemplos suficientes nas regiões de interesse do espaço de input. Se o número de exemplos é insuficiente (ou seja, os exemplos são poucos e “afastados”) a probabilidade de haver grandes variações nos outputs do modelo é bastante elevada, degradando a sua performance.

(33)

Se no futuro todos os vectores de input se apresentarem próximos dos exemplos utilizados durante a fase de treino, provavelmente o modelo apresentará um comportamento estável e com pequenos efeitos negativos. No entanto, se os vectores a classificar forem muito diferentes (ocuparem áreas distantes no espaço de input) dos apresentados durante a fase de treino, então os resultados do modelo degradar-se-ão de forma acentuada. Em geral, quanto mais dados houver disponíveis para treinar, maior a probabilidade de construir um modelo robusto e estável.

(34)

6 RECOLHA DE DADOS

Nesta secção pretendemos abordar os problemas relacionados com a fase da recolha de dados, no processo do DM. Apesar de relativamente simples, esta fase possui alguns aspectos particulares, aos quais devemos dar alguma atenção. Os assuntos sobre os quais falaremos são:

• Quais os dados a recolher • Como recolher os dados

• Qual a quantidade de dados suficiente • A utilização de dados artificiais

6.1 Quais os dados a recolher

Após a definição do problema de DM, o passo seguinte consiste na recolha dos dados necessários. Na maior parte dos casos já possuímos os dados necessários, ou pelo menos dados que podem ser utilizados. No entanto, é importante compreender os aspectos relacionados com a recolha de dados na medida em que estes também contribuem para um melhor entendimento da importância das questões relacionadas com a qualidade dos dados. Por forma a treinar um algoritmo supervisionado (quando nos referimos a um algoritmo supervisionado, estamos a indicar um algoritmo que durante a fase de treino tem acesso aos verdadeiros valores da variável dependente para os quais está a estimar/classificar), necessitamos de recolher conjuntos de dados compostos pelos inputs que decidimos utilizar e os correspondentes valores de output. Ao par de inputs e output chamamos um “padrão de exemplo”. Estes padrões de exemplo serão divididos num conjunto de treino, num conjunto de validação e um conjunto de teste.

Para cada padrão de exemplo, necessitamos de recolher valores numéricos para cada uma das variáveis de input e para a variável de output. Se uma ou várias das variáveis de output não

(35)

estiverem disponíveis ou a sua obtenção envolver custos avultados, voltamos à fase de definição do problema e são substituídas por variáveis relacionadas.

Em geral, e especialmente nos processos estacionários, os dados nunca são de mais, ou seja, o número de padrões exemplo nunca é excessivo. Na prática a única verdadeira questão quando os dados são abundantes é se temos ou não o poder computacional necessário para produzir resultados em tempo útil. A abundância de dados permite fazer face e minorar uma série de problemas. Quantos mais dados temos maior é a probabilidade de serem representativos dos casos que o modelo encontrará após a fase de treino. Quantos mais dados houver mais fácil é para o modelo distinguir entre “ruído” e as verdadeiras relações existentes nos dados.

Tendo em conta que os padrões exemplo utilizados para treinar, testar e validar o modelo devem ser representativos dos padrões que futuramente serão apresentados ao modelo, é importante que os dados utilizados sejam recentes. Caso o processo a modelar seja não-estacionário então a necessidade de que os dados sejam recentes é ainda maior. Em resumo, a utilização de dados recentes é tanto mais importante quanto maior for a dinâmica do fenómeno a modelar. Caso o fenómeno seja estável e as causas para o seu comportamento sofram poucas mudanças então pode ser equacionada a utilização de dados menos recentes.

Apesar da importância de possuir um conjunto de dados suficientemente grande, se iniciamos o nosso trabalho com um problema relativamente pequeno, então deveremos ser capazes de gerar modelos preliminares com um conjunto limitado de dados. Uma boa forma de proceder consiste em começar por recolher rapidamente um pequeno número de padrões exemplo e gerar alguns modelos, depois da análise dos resultados preliminares voltar a recolher informação, desta vez em maior quantidade. Esta abordagem permite, que numa fase precoce se obtenha alguma sensibilidade à qualidade dos resultados. Assim, verificaremos se os resultados são prometedores, ou se pelo contrário necessitamos de incluir outras variáveis de input por forma a obter o nível de precisão desejado. Em qualquer caso, o objectivo é obter rapidamente alguns resultados por forma a analisar a sua qualidade e num passo seguinte proceder ao aperfeiçoamento dos modelos.

6.2 Como recolher os dados

Independentemente de ter que recolher dados para o problema em causa ou esses dados já existirem, há um conjunto de preocupações que deve estar presentes no espírito do analista.

(36)

6.2.1 Frequência de Amostragem

Se estamos a estudar um fenómeno dinâmico, então é de vital importância escolher uma frequência de amostragem correcta para o problema em causa. É comum que a frequência de amostragem não seja apropriada. É particularmente prejudicial o caso em que é demasiado lenta, num fenómeno com grande dinâmica (rápidas alterações), o que leva à perda de informação fundamental sobre as alterações do fenómeno. Pelo contrário se a frequência de amostragem é demasiado rápida num problema com uma dinâmica lenta a consequência é a produção de uma grande quantidade de informação redundante e repetitiva. Este efeito indesejado pode ser corrigido na fase de pré-processamento dos dados.

Para obter bons resultados é indispensável que a frequência de amostragem seja adequada em relação ao fenómeno que estamos a estudar, no entanto, infelizmente não existem regras, e a resolução deste problema reside na sensibilidade do analista ao problema. Noutros casos, o problema está resolvido por circunstâncias exteriores ao analista, ou seja, se os únicos dados que possuímos têm uma periodicidade mensal então a única opção que resta é utilizá-los nesta forma ou proceder a agregações.

6.2.2 Unidades de Medida Consistentes

Acontece frequentemente que os dados acumulados ao longo do tempo provêm de fontes diversas, nestes casos é importante garantir que os dados se encontram todos nas mesmas unidades de medida. A consistência a que nos referimos relaciona-se com as medições que optamos por utilizar em cada variável de input e output.

Por exemplo, digamos que a nossa variável de output é o produto interno bruto português e a nossa série inicia-se em 1960. Obviamente, que perante a alteração de moeda que se registou em 1 de Janeiro de 2002, os dados referentes a 2002 terão que ser traduzidos em escudos, ou em opção cambiar os valores de toda a série de escudos para euros. Em qualquer dos casos, uma vez definida a unidade em que um output ou input é expresso não é possível aceitar para essa variável medições que se expressem em unidades diferentes. A solução para este problema passa pela simples transformação da variável para uma unidade comum.

6.2.3 Alterações Estruturais e Conjunturais

Digamos que estamos a desenvolver um modelo para interpretação automática de fotografia aérea. Sabendo que a luminosidade sob a qual o sistema irá trabalhar varia, então é

(37)

exemplo com diferentes condições de luminosidade. Este aspecto é importante, na medida em que permite ao modelo ignorar as alterações de luminosidade, nomeadamente com o aparecimento de sombras, quando procede à classificação dos objectos. Pode suceder que se chega à conclusão que a codificação das condições de luminosidade no vector de input ajudam o sistema a melhorar a sua performance, nesse caso deve ser incluída informação explícita sobre a luminosidade.

Caso se verifiquem alterações estruturais ao longo do período de recolha dos dados, todos os dados recolhidos antes das alterações deixam de ter interesse prático para a modelação. Na prática o que acontece é que o processo subjacente ao fenómeno muda, mudando os factores que determinam o seu comportamento, assim, os dados recolhidos antes da mudança traduzem causas para um comportamento que já não se verifica. Tal como se apresenta na Figura 19, a alteração dos factores que condicionam a evolução do fenómeno leva a que um novo modelo tenha que ser desenvolvido.

Figura 19: Os factores de evolução (X, Y e Z), que condicionavam a evolução do fenómeno entre t-1 e t altura em que o modelo foi calibrado, alteraram-se entre t e t+1 (X, T e B) o que resultará num modelo fraco em termos de previsão

para t+1.

6.3 Quantidade de dados

A quantidade de dados necessários depende da complexidade do problema a modelar e do “ruído” presente nos dados. Embora haja alguns resultados teóricos sobre este tema a verdade

(38)

é que normalmente são baseados em hipóteses restritivas, nem sempre realistas. O que normalmente acontece é que o processo funciona por experimentação, por tentativa e erro, por forma a determinar a quantidade de dados necessária.

Uma forma simples de determinar se possuímos dados suficientes é a de levar a cabo o treino e o teste sobre uma parcela dos dados disponíveis. Se a performance não melhorar de forma significativa quando utilizamos todo o conjunto de dados, isso constitui uma indicação de que o conjunto de dados é suficiente. No entanto, é importante reconhecer alguns perigos que podem estar associados à utilização desta abordagem simplista. Os perigos decorrem do facto de a ausência de melhorias poder estar relacionada com os padrões exemplo que foram apresentados ao modelo. Por outras palavras, se os exemplos apresentados fazem parte de uma região do espaço de input onde o modelo já apresenta uma boa performance a qualidade das suas estimativas pouco se alterará. No entanto, se os exemplos se referem a zonas do espaço onde o modelo possui poucos exemplos para treinar então as melhorias poderão ser bastante significativas.

Devido à possibilidade de “cair nestas armadilhas” é importante validar os resultados dos nossos modelos estatisticamente. Mas sobre a validação de resultados falaremos mais à frente. Genericamente, podemos afirmar que a exactidão do modelo aumenta à medida que a quantidade de padrões de exemplo disponíveis para treino aumenta.

Em resumo, poderemos dizer que não existem regras fiáveis, no que respeita à quantidade de dados a utilizar por forma garantir um bom modelo. É bastante mais simples avançar com os dados que estão disponíveis e avaliar os resultados obtidos. Caso os resultados não sejam animadores existe sempre a possibilidade de voltar atrás e procurar enriquecer o conjunto de dados.

6.3.1 Utilização de Dados Artificiais

A utilização de dados reais é sempre preferível à utilização de dados simulados ou gerados artificialmente. No entanto, muitas vezes não é possível obter quantidades suficientes de dados por forma a treinar eficazmente o modelo e em última instância temos que recorrer à utilização de dados artificiais. Eventualmente a utilização de dados artificiais também pode ser útil numa fase inicial por forma a gerar resultados preliminares.

(39)

Aquando da geração de dados artificiais existem duas recomendações que devem ser tomadas em linha de conta:

• Criar dados artificiais o mais realistas possíveis;

• Fazer com que os dados artificiais sejam o mais representativos possível.

É importante manter a noção de que a qualidade do modelo está condicionada pela qualidade dos dados. Com bons dados podemos construir bons ou maus modelos, no entanto, com dados de má qualidade apenas poderemos construir modelos de má qualidade. Os dados artificiais podem ter diferentes origens. Uma das situações mais usuais relaciona-se com aplicações no campo da medicina. Quando tentamos modelar o diagnóstico de determinadas doenças raras, surge o problema de não haver exemplos suficientes de doentes com a patologia ou não existe documentação relativa à história clínica dos referidos pacientes. No entanto, é relativamente simples para um médico experiente produzir exemplos artificiais de pacientes representativos de exemplos reais. Em alguns casos a simulação do processo já existe, sendo apenas necessário proceder à introdução de algum “ruído” por forma a criar um modelo robusto. A Figura 20 representa um conjunto de dados artificiais, da direita para a esquerda podemos observar as alterações produzidas pelo aumento do parâmetro de “ruído”

Figura 20: Com o aumento do “ruído” (da direita para a esquerda) os 5 conjuntos representados tendem a confundir-se o que torna a tarefa de classificação mais exigente e permite construir um modelo mais robusto.

(40)

A utilização de dados artificiais pode desempenhar um importante papel na melhoria da performance do modelo, tornando mais robusta a previsão em determinadas zonas do espaço de input. Através da criação de padrões exemplo para determinadas zonas do espaço de input, onde não existem exemplos ou o seu número é diminuto, poderemos estabelecer o comportamento desejado para o modelo sempre que apareça um exemplo da referida área. Este expediente permite que o modelo gere previsões aceitáveis e não aleatórias para essas regiões.

O processo está patente na Figura 21. Na primeira figura temos os dados reais, o círculo indica uma zona do espaço de input onde o número de exemplos é relativamente pequeno, dificultando assim a performance do modelo nessa zona. Supondo que a referida zona é particularmente importante para o problema que estamos a tentar modelar, uma das formas de proceder, tendo em conta que não existe a possibilidade de obter mais dados reais, consiste na criação de exemplos artificiais por forma a permitir uma maior precisão do modelo.

Figura 21: A existência de poucos exemplos em áreas do espaço importantes e sobre as quais pretendemos fazer inferência, pode levar à necessidade de criar exemplos artificiais que permitam treinar o modelo com maior eficácia.

(41)

7 BIBLIOGRAFIA

• Berry, M., Linoff, G., 1997, “Data Mining Techniques, for sales, and customer support”, John Wiley and Sons.

• Eykhoff, P. (1974), System Identification, J. Wiley, London.

• Hand, D., Manila H., Smyth, P., 2001, “Principles of Data Mining”, MIT Press, Cambridge.

• Han, J., Kamber, M., 2001, “Data Mining – Concepts and Techniques”, Morgan Kaufmann, San Francisco, California.

• Pyle, D., 1999 “Data Preparation for Data Mining”, Morgan Kaufmann Publishers, Inc. San Francisco, CA, ISBN 1558605290.

(42)

Referências

Documentos relacionados

Justino Quintana e Instituto Federal Sul Rio-Grandense (IFSUL), no município de Bagé-RS. Apresentam-se neste artigo, as atividades que foram realizadas, buscando

Além disso, quando discutimos ideologia, somos levados a refl etir sobre a dominação, a direção, ou seja, como as idéias de uma determinada classe social dirigem um

A partir daí foi presença regular como árbitro ou quarto árbitro nas pré-eliminatórias da UEFA Champions League e da Taça UEFA, estreando-se numa competição propriamente dita

A Golgran leva para a 34ª edi- ção do Congresso Internacional de Odontologia de São Paulo – CIOSP, linhas de instrumentais co- loridos, como diferencial.. As se- ringas de

A avaliação pré RP era composta de teste de função pulmonar, gasometria arterial, índice de massa corporal (IMC), também foi aplicado o questionário SGRQ, medição

Autorizando, com exclusividade, a utilização e exploração da foto em qualquer meio escolhido pela Cobra D’agua, para os fins desta Promoção, bem como para

Em alguns casos, os alunos já são informados, desde o início do curso, que a filosofia já está completa ou, no pior dos casos, ficam sabendo que eles, simples estudantes, não

Para o ferro puro foi utilizado uma camada de entrada com 4 neurônios (um para cada classe de dados de entrada – temperatura, tempo, diâmetro inicial de grão e