• Nenhum resultado encontrado

Sele¸c˜ ao de Atributos e Vari´ aveis

2.4 Aprendizado de M´ aquina

2.4.3 Sele¸c˜ ao de Atributos e Vari´ aveis

A extra¸c˜ao de descritores de um determinado fenˆomeno para a predi¸c˜ao de seu compor- tamento ou sua classifica¸c˜ao pode ser facilitada pela constru¸c˜ao e sele¸c˜ao de subconjuntos de atributos realmente ´uteis para a confec¸c˜ao do preditor. Um dado fenˆomeno pode pro- piciar a constru¸c˜ao de uma mir´ıade de atributos originando dificuldades no que se refere `a determina¸c˜ao daqueles que sejam realmente ´uteis para o mapeamento em quest˜ao. Desta forma, a ´area de Sele¸c˜ao de Atributos ou Vari´aveis versa sobre m´etodos para selecionar atributos relevantes e informativos a respeito de dado problema. Para al´em desta motiva¸c˜ao ´

obvia, podem-se destacar outras [16]:

• redu¸c˜ao geral de dados, para limitar armazenamento e aumento da velocidade do algoritmo

• redu¸c˜ao do conjunto de atributos, para poupar recursos `as etapas subsequentes • aumento da performance, ganho em rela¸c˜ao `a preditividade

• entendimento dos dados, para ganhar conhecimento sobre o processo que gerou os dados ou simplesmente visualiz´a-los

V´arias s˜ao as t´ecnicas de sele¸c˜ao de atributos [16] e estas est˜ao, geralmente, agrupadas em trˆes grupos:

• M´etodos de filtros • M´etodos wrappers

O m´etodo de filtros ´e um pr´e-processamento independente da escolha do preditor. O exemplo mais simples ´e o ranking de vari´aveis, que provˆe um completo ordenamento dos atributos usando um ´ındice de relevˆancia. Entre os m´etodos para o cˆomputo dos ´ındices est˜ao os coeficientes de correla¸c˜ao (avaliam o grau de dependˆencia linear das vari´aveis individuais com os alvos). Uma variedade de outras estat´ısticas s˜ao utilizadas, incluindo testes estat´ısticos cl´assicos (T-test, F-test, Chi-squared e etc). Em resumo, m´etodos que selecionam atributos sem a otimiza¸c˜ao da performance de uma m´aquina s˜ao denominados de filtros.

Os m´etodos denominados Wrappers e Embedded envolvem a m´aquina como parte do processo de sele¸c˜ao. Wrappers utilizam a ML como caixa preta para ordenar subconjuntos de atributos de acordo com sua potˆencia preditiva. Os Embedded selecionam os atributos no processo de treinamento e s˜ao espec´ıficos para uma dada ML.

Neste trabalho, utilizamos um m´etodo de filtro. Contudo, ao inv´es de aplicar um m´etodo univari´avel, ou seja, verificar qual atributo se posiciona melhor em determinado ranking, dado certo crit´erio, aplicamos um m´etodo multivari´avel, pois este faz uso do poder preditivo dos atributos quando utilizados conjuntamente, posto que um atributo pode ser individualmente irrelevante contudo se tornar relevante quando em conjunto com outros atributos [17].

2.4.3.1 Procedimentos Forward e Backward

Reconhecendo a necessidade da sele¸c˜ao de atributos no contexto de outros atributos, surgem como ferramentas importantes os m´etodos Sele¸c˜ao Forward e Elimina¸c˜ao Backward. No m´etodo forward, inicia-se com um conjunto vazio e os atributos s˜ao progressivamente adicionados resultando na melhora de um ´ındice de performance. No backward, inicia-se com todos os atributos e aqueles com menor utilidade v˜ao sendo eliminados.

Fizemos a escolha de um m´etodo forward de Ortogonaliza¸c˜ao de Gram-Schmidt (GS ) [18]. O primeiro atributo selecionado ´e aquele que possui a maior proje¸c˜ao com rela¸c˜ao ao alvo. Para atributos centralizados, isto ´e equivalente a selecionar primeiro o atributo mais correlacionado ao alvo. Os atributos subsequentes s˜ao selecionados iterativamente como se segue:

• os atributos remanescentes e o alvo s˜ao projetados no espa¸co nulo dos atributos j´a selecionados

• os atributos que possuem o maior cosseno com o alvo nesta proje¸c˜ao s˜ao adicionados aos atributos selecionados

O procedimento seleciona os atributos que incrementalmente decrescem o erro dos m´ıni- mos quadrados em um preditor linear. O procedimento pode ser interrompido utilizando-se um teste estat´ıstico ou por valida¸c˜ao cruzada. Utilizamos, aqui, um m´etodo estat´ıstico des- crito a seguir.

2.4.3.2 Sondas Randˆomicas como Realiza¸c˜oes de Vari´aveis Irrelevantes

A literatura sugere a gera¸c˜ao de Sondas Randˆomicas [18], isto ´e atributos que n˜ao est˜ao relacionados aos alvos e a compara¸c˜ao da relevˆancia das sondas com os atributos candidatos. Tal sonda de atributos pode ser gerada de duas maneiras b´asicas:

• Gerando vari´aveis randˆomicas com pdf conhecida que seja similar `a distribui¸c˜ao dos atributos candidatos

• Embaralhamento randˆomico de componentes dos vetores de atributos candidatos na matriz de dados de treinamento

A fun¸c˜ao de distribui¸c˜ao cumulativa do ´ındice de relevˆancia de caracter´ısticas irrelevan- tes pode ser estimada atrav´es da gera¸c˜ao de um grande n´umero de sondas, ou ser calculado analiticamente. Portanto, a combina¸c˜ao do cˆomputo do ´ındice de relevˆancia dos atribu- tos candidatos e a gera¸c˜ao de sondas randˆomicas permite ao projetista do modelo de ML escolher um limiar de confiabilidade para o uso de determinado conjunto de atributos.

´

E importante ressaltar que o MSE no processo de GS deve ser condizente com o pro- p´osito da predi¸c˜ao. Caso os seus valores estejam acima de um valor aceit´avel ´e poss´ıvel utilizar os procedimentos adicionais a seguir [18]:

• Executar a sele¸c˜ao de atributos em um modelo que seja linear com respeito aos seus parˆametros, por exemplo um polinomial. Verificar se o modelo gera resultados satisfat´orios no conjunto de treinamento

• Se o modelo linear com respeito aos seus parˆametros aprendeu a tarefa, usar as vari´aveis que formam os monˆomios selecionados como entradas para o modelo n˜ao linear com respeito aos seus parˆametros

• Se o modelo polinomial n˜ao aprendeu a tarefa, incrementar o grau do polinˆomio A ´area de sele¸c˜ao de atributos indica questionamentos que podem ser realizados para a racionaliza¸c˜ao da solu¸c˜ao do problema de sele¸c˜ao [17]:

1. H´a conhecimento do dom´ınio? Se sim, construa um conjunto de atributos ad-hoc 2. Os atributos s˜ao proporcionais? Caso contr´ario devem ser normalizados

3. H´a suspeita de interdependˆencia dos atributos? Caso afirmativo, expanda o conjunto de descritores construindo atributos conjuntivos ou produtos de descritores, tanto quanto os recursos computacionais permitirem

4. ´E preciso podar as vari´aveis de entrada? Caso contr´ario, construa atributos disjuntos ou combinados

5. ´E preciso avaliar os atributos individualmente (por exemplo, para entender sua in- fluˆencia no sistema ou porque o n´umero ´e t˜ao grande que h´a necessidade de realizar uma pr´e-filtragem)? Se afirmativo, usar um m´etodo de ranking

6. H´a necessidade de um preditor? Caso contr´ario, parar

7. H´a suspeita de “sujeira” nos dados (padr˜oes de entrada sem significado e/ou sa´ı- das ru´ıdosas ou r´otulos de classes errados)? Caso afirmativo, detectar os exemplos associados usando o ranking de vari´aveis do passo 5

8. H´a conhecimento a respeito do preditor a ser utilizado? Caso contr´ario use um predi- tor linear. Use um m´etodo de sele¸c˜ao forward com sondas randˆomicas como crit´erio de parada ou use o m´etodo embarcado (embedded ) norma l0. Para compara¸c˜ao,

seguindo o ranking do passo 5, construa uma sequˆencia de preditores de mesma na- tureza usando aumento de subconjuntos de atributos. Houve melhora da performance com um subconjunto menor? Se afirmativo, tentar um preditor n˜ao-linear com este subconjunto.

9. H´a novas id´eias, tempo, recursos computacionais e exemplos suficientes? Se sim, compare v´arios m´etodos de sele¸c˜ao de atributos, incluindo as id´eias novas, coeficientes de correla¸c˜ao, m´etodos embarcados e sele¸c˜ao backward. Use preditores lineares e n˜ao lineares. Selecione a melhor abordagem com a Sele¸c˜ao de Modelo.

10. ´E preciso uma solu¸c˜ao est´avel (para melhorar performance e/ou entendimento)? Se sim, subamostrar os dados e refazer an´alise para v´arias inicializa¸c˜oes