• Nenhum resultado encontrado

Similaridade de algoritmos em cenários sensíveis a custo

N/A
N/A
Protected

Academic year: 2021

Share "Similaridade de algoritmos em cenários sensíveis a custo"

Copied!
62
0
0

Texto

(1)

Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao

RECIFE 2015

SIMILARIDADE DE ALGORITMOS EM CENÁRIOS

SENSÍVEIS A CUSTO

Por

Carlos Eduardo Castor de Melo

(2)

Universidade Federal de Pernambuco

Centro de Informática

Pós-graduação em Ciência da Computação

Carlos Eduardo Castor de Melo

SIMILARIDADE DE ALGORITMOS EM CENÁRIOS SENSÍVEIS A

CUSTO

Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Univer-sidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

Orientador: Ricardo Bastos Cavalvante Prudêncio

(3)

Bibliotecária Monick Raquel Silvestre da S. Portes, CRB4-1217

M528s Melo, Carlos Eduardo Castor de.

Similaridade de algoritmos em cenários sensíveis a custo / Carlos Eduardo Castor de Melo. – 2015.

61 f.: il., fig., tab.

Orientador: Ricardo Bastos Cavalcante Prudêncio.

Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIn, Ciência da Computação, Recife, 2015.

Inclui referências e apêndices.

1. Inteligência artificial. 2. Aprendizado de máquina. 3. Meta aprendizado. I.

Prudêncio, Ricardo Bastos Cavalcante. (orientador). II. Título.

(4)

Dissertação de Mestrado apresentada por Carlos Eduardo Castor de Melo à Pós Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Similaridade de Algoritmos em Cenários Sensíveis a

Custo” orientada pelo Prof. Ricardo Bastos Cavalcante Prudêncio e aprovada pela

Banca Examinadora formada pelos professores:

______________________________________________ Prof. Leandro Maciel Almeida

Centro de Informática/UFPE

______________________________________________ Prof. Valmir Macário Filho

Departamento de Estatística e Informática / UFRPE

_______________________________________________ Prof. Ricardo Bastos Cavalcante Prudêncio

Centro de Informática / UFPE

Visto e permitida a impressão. Recife, 27 de agosto de 2015.

___________________________________________________

Profa. Edna Natividade da Silva Barros

Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)
(6)

Agradecimentos

Primeiramente agradeço à minha mãe, Maria Neuma Dias Castor, pela dedicação e exemplo de força e coragem que sempre me inspiraram a superar todos os desafios impostos pela vida. Agradeço às minhas irmãs, Neumara Castor e Lucimara Castor, por todos os momentos de alegria e dificuldades compartilhados. Agradeço ao meu avô, Antônio Castor, por ter sido um grande exemplo de personalidade e certamente me guiará em todos meu passos. Agradeço a toda a minha família por todo o suporte dado para que eu pudesse alcançar essa conquista. Agradeço à minha amiga Bruna Galle, pela parceria que foi muito importante durante todo o mestrado. Agradeço à minha namorada, Thatiany Tablada, cujo apoio foi fundamental para que eu pudesse finalizar esse trabalho. Agradeço aos meus amigos Breno Soares, Lucas Ribeiro, Ludgero Feitosa, Dayane Carvalho, Dyna Mara Ferreira, Naiane Nascimento e Yane Wanderley, por estarem ao meu lado em várias etapas desse trabalho e pela amizade que espero guardar por toda a vida. Agradeço ao meu orientador, Ricardo Prudêncio, por ter acreditado em mim, ter me dado apoio e ter tido paciência, todos esse fatores foram essenciais para todo o desenvolvimento deste trabalho.

(7)
(8)

Resumo

A análise da similaridade entre algoritmos de aprendizagem de máquina é um importante aspecto na área de Meta-Aprendizado, onde informações obtidas a partir de processos de aprendizagem conhecidos podem ser utilizadas para guiar a seleção de algoritmos para tratar novos problemas apresentados. Essa similaridade é geralmente calculada através de métricas globais de desempenho, que omitem informações importantes para o melhor entendimento do comportamento dos algoritmos. Também existem abordagens onde é verificado o desempenho individualmente em cada instância do problema. Ambas as abordagens não consideram os custos associados a cada classe do problema, negligenciando informações que podem ser muito importantes em vários contextos de aprendizado.

Nesse trabalho são apresentadas métricas para a avaliação do desempenho de algoritmos em cenários sensíveis a custo. Cada cenário é descrito a partir de um método para escolha de limiar para a construção de um classificador a partir de um modelo aprendido. Baseado nos valores de desempenho em cada instância, é proposta uma forma de avaliar a similaridade entre os algoritmos tanto em nível de problema como em nível global.

Os experimentos realizados para ilustrar as métricas apresentadas neste trabalho foram realizados em um estudo de Meta-Aprendizado utilizando 19 algoritmos para a classificação das instâncias de 152 problemas. As medidas de similaridades foram utilizadas para a criação de agrupamentos hierárquicos.

Os agrupamentos criados mostram como o comportamento entre os algoritmos diversifica de acordo com o cenário de custo a ser tratado.

Palavras-chave: Similaridade de Algoritmos. Desempenho de Algoritmos a Nível de Instância. Cenários Sensíveis a Custo. Meta-Aprendizado. Método de Escolha de Limiar.

(9)

The analysis of the similarity between machine learning algorithms is an important aspect of Meta-Learning, where knowledge gathered from known learning processes can be used to guide the selection of algorithms to tackle new learning problems presented. This similarity is usually calculated through global performance metrics that omit important information about the algorithm behavior. There are also approaches where the performance is verified individually on each instance of a problem. Both these approaches do not consider the costs associated with each problem class, hence they neglect information that can be very important in different learning contexts.

In this study, metrics are presented to evaluate the performance of algorithms in cost sensitive scenarios. Each scenario is described by a threshold choice method, used to build a crisp classifier from a learned model. Based on the performance values for each problem instance, it is proposed a method to measure the similarity between the algorithms in a local level (for each problem) and in a global level (across all problems observed).

The experiments used to illustrate the metrics presented in this paper were performed in a Meta-Learning study using 19 algorithms for the classification of the instances of 152 learning problems. The similarity measures were used to create hierarchical clusters.

The clusters created show how the behavior of the algorithms diversifies according to the cost scenario to be treated.

Keywords: Algorithm Similarity. Instance level Algorithms Performance. Cost Sensitive Scenarios. Meta-Learning. Threshold Choice Selection.

(10)

Lista de Figuras

2.1 Diferenças Locais entre Classificadores . . . 18

2.2 Exemplo de Curva ROC . . . 21

3.1 Curva de Custo para Instância Positiva pelo método Score Driven . . . 27

3.2 Curva de Custo para Instância Negativa pelo método Score Driven . . . 27

3.3 Curvas de custo para uma Instância Positiva pelo método Score-Unform . . . . 30

3.4 Curvas de custo para uma Instância Negativa pelo método Score-Unform . . . . 30

4.1 Validação Cruzada 10-Fold . . . 33

4.2 Percentual de Instância da classe positiva nos problemas . . . 35

5.1 Desempenho para a instância # 76 do problema bridges-version1-CANTILEV . 37 5.2 DI para as instâncias negativas de bridges-version1:CANTILEV utilizando o médoto Score-Driven . . . 39

5.3 DI para as instâncias positivas de bridges-version1:CANTILEV, SD . . . 39

5.4 Similaridade entre Algoritmos em bridges-version1:CANTILEV, SD . . . 40

5.5 DI para as instâncias negativas de bridges-version1-CANTILEV,SU . . . 41

5.6 DI para as instâncias positivas de bridges-version1-CANTILEV, SU . . . 42

5.7 Similaridade entre Algoritmos em bridges-version1:CANTILEV, SU . . . 43

5.8 DI para as instâncias negativas de bridges-version1-CANTILEV,RD . . . 44

5.9 DI para as instâncias positivas de bridges-version1-CANTILEV,RD . . . 45

5.10 Similaridade entre Algoritmos em bridges-version1:CANTILEV, RD . . . 45

5.11 DI para as instâncias negativas de bridges-version1-CANTILEV,RU . . . 46

5.12 DI para as instâncias positivas de bridges-version1-CANTILEV,RU . . . 47

5.13 Similaridade entre Algoritmos em bridges-version1:CANTILEV, RU . . . 47

5.14 Similaridade Global, SD . . . 48

5.15 Similaridade Global, SU . . . 49

5.16 Similaridade Global, RD . . . 50

(11)

2.1 Matriz de Confusão Binária . . . 18

2.2 Scorespara as instâncias de um problema . . . 21

4.1 Algoritmos de acordo com a taxonomia do Weka . . . 34

(12)

Sumário

1 Introdução 13

2 Similaridade de Algoritmos e Medidas de Desempenho 16

2.1 Similaridade de Algoritmos . . . 16

2.2 Métricas de Desempenho de Algoritmos . . . 18

2.2.1 Métodos de seleção de limiar . . . 20

2.2.1.1 Desempenho Sensível a custo . . . 22

2.2.2 Análise de desempenho em instância . . . 23

3 Similaridade Sensível a Custo 25 3.1 Métodos de Escolha de Limiar . . . 26

3.1.1 Score Driven . . . 26

3.1.2 Rate Driven . . . 28

3.1.3 Score-Uniform . . . 29

3.1.4 Rate Uniform . . . 31

3.2 Similaridade entre modelos em um mesmo problema . . . 31

3.3 Similaridade global entre modelos . . . 32

4 Metodologia 33 4.1 Conjunto de Algoritmos . . . 33

4.2 Conjunto de Problemas . . . 35

4.3 Agrupamento de algoritmos . . . 35

5 Resultados 36 5.1 Desempenho em uma instância . . . 36

5.2 Similaridade Local . . . 38 5.2.1 Score-Driven . . . 38 5.2.2 Score-Uniform . . . 41 5.2.3 Rate-Driven. . . 43 5.2.4 Rate-Uniform . . . 46 5.3 Similaridade Global . . . 48

6 Conclusão e Trabalhos Futuros 52

Referências 54

(13)
(14)

13 13 13

1

Introdução

A aplicação de algoritmos para a solução de problemas de aprendizagem de máquina tem se tornado um desafio cada vez mais complexo. Atualmente, existe uma grande quantidade e diversidade de algoritmos que podem ser aplicados para solucionar um problema, contudo não existe um algoritmo que seja o mais adequado para todos os problemas (WOLPERT; MACREADY, 1997).

Esse tipo de desafio fomenta o desenvolvimento do Meta-Aprendizado (BRAZDIL et al., 2008). Essa área de aprendizagem de máquina tem como objeto de estudo a análise de processos de aprendizagem para se extrair informações que possam auxiliar na seleção, combinação ou configuração de algoritmos para abordar novos problemas apresentados (GIRAUD-CARRIER; VILALTA; BRAZDIL, 2004; SMITH; MARTINEZ; GIRAUD-CARRIER, 2013; LEITE; BRAZ-DIL; VANSCHOREN, 2012) . As informações extraídas de um processo de aprendizagem são denominadas Meta-Conhecimento. Esse conhecimento pode estar relacionado com característi-cas do problema propriamente dito (i.e. número de instâncias que o compõe, número de atributos, número de classes) ou com informações associadas ao comportamento de um algoritmo sobre um problema.

Uma suposição assumida em Meta-Aprendizado é a de que o comportamento de um algoritmo será semelhante em problemas semelhantes. Sendo assim, o conhecimento sobre a similaridade entre os desempenhos de algoritmos é muito importante.

Existem aplicações de Meta-Aprendizado que buscam medir a semelhança entre diferen-tes algoritmos. Esse tipo de informação pode ser aplicado tanto para se criar grupos de algoritmos que apresentem uma baixa similaridade entre si (KUNCHEVA; WHITAKER, 2003) quanto para se analisar algoritmos com comportamentos mais similares (PFAHRINGER; BENSUSAN; GIRAUD-CARRIER, 2000).

O Meta-Conhecimento mais utilizado para a descrição do comportamento de algoritmos é baseado na avaliação de seus desempenhos em um determinado problema, ou conjunto de problemas. Grande parte das aplicações de Meta-Aprendizado utiliza métricas globais para esse fim, como a acurácia e a área sob a curva ROC (AUC). Apesar da popularidade dessa abordagem, ela apresenta a grande desvantagem de omitir informações importantes acerca

(15)

do comportamento do algoritmo em nível local. Algumas técnicas já foram propostas para superar essa limitação, como a análise da correlação dos erros, onde é calculada o desempenho relativo entre diferentes algoritmos (KALOUSIS; GAMA; HILARIO, 2004), e a aplicação do Classifier Output Difference(SMITH; MARTINEZ; GIRAUD-CARRIER, 2013), onde é medida a distância entre os vetores que caracterizam o desempenho de algoritmos distintos em um mesmo problema.

Outra característica presente em muitos problemas, que geralmente não é levada em consideração na avaliação de algoritmos, é o custo associado aos erros de classificação em cada classe do problema. Em problemas observados no mundo real, é comum que haja um maior peso para o erro em uma classe em detrimento da outra. Por exemplo, no caso de uma análise de crédito em um banco. Nesse caso, caso um cliente seja classificado como um bom pagador e ele não o for, é muito mais nocivo ao banco do que categorizar um cliente como um mau pagador sem que ele o seja. No primeiro caso, o banco corre um alto risco de sofrer prejuízo, enquanto no segundo esse risco não existe. Em Domingos (1999), os autores propuseram uma forma de inserir a avaliação de custos na descrição do desempenho do algoritmo. Porém, essa abordagem falha em apresentar um comportamento mais detalhado do processo, já que consiste em uma avaliação global.

Vários algoritmos de aprendizagem de máquina tem um modelo como resultado do processo de aprendizagem. Esse modelo é uma função que, para cada nova instância apresentada, ele retorna um valor real (score ou probabilidade) que indica o grau de associação que essa instância apresenta com cada classe do problema. Para a criação de um classificador puro, onde para cada instância apresentada é retornado o seu rótulo, faz-se necessária a determinação de um limiar. O desempenho do algoritmo então depende tanto do valor retornado pelo modelo construído pelo algoritmo quanto do limiar selecionado para a criação do classificador puro. Em Hernánez-Orallo; Flach; Ferri (2012), os autores mostram que diferentes métodos de seleção de limiar precisam ser avaliados por diferentes métricas. Nesse mesmo trabalho, também é exposto que diferentes métodos de seleção de limiar descrevem diferentes cenários de distribuição de custos de um problema.

Baseado nas motivações apresentadas acima, foi desenvolvida nesse trabalho uma forma de avaliar a similaridade entre algoritmos levando em consideração o comportamento do al-goritmo em cada instância em diferentes cenários de proporção entre os custos. Como em Smith; Martinez; Giraud-Carrier (2013), foi utilizado o conceito de dificuldade de instância. A dificuldade de instância mensura o quão difícil é para um modelo acertar a classe de uma instância do problema. O valor da dificuldade de instância depende do método de seleção de limiar escolhido para avaliar o problema. Nesse trabalho, foram utilizados quatro métodos: (1) Score-Driven, (2) Score-Uniform,(3) Rate-Driven e (4) Rate-Uniform. Cada um desses métodos descreve um cenário específico para a avaliação da dificuldade em uma instância. A partir de um modelo obtido pelo aprendizado de um algoritmo sobre um problema e de um método de seleção de limiar, utiliza-se as instâncias do conjunto de teste de um problema para se construir

(16)

15 uma curva de custo para cada uma delas. Essa curva ilustra o prejuízo da instância quando o algoritmo observado é avaliado de acordo com o método de seleção de limiar escolhido. O valor da dificuldade da instância é então calculado a partir da área sob essa curva. A dissimilaridade1 entre os algoritmos é definida pela distância euclidiana entre os vetores que contêm os valores da dificuldade das instâncias de um problema.

Neste trabalho, foram coletados valores de scores de 152 problemas, utilizando-se 19 algoritmos de aprendizagem de máquina. Os algoritmos foram então avaliados sob os métodos de seleção de limiar citados no parágrafo anterior. Com os valores obtidos nessa etapa, são calculadas as similaridades entre os algoritmos e criados agrupamentos que representam o quanto os algoritmos são semelhantes entre si. Foi observado que há uma diferença nos relacionamentos entre os algoritmos utilizando diferentes métodos de seleção de limiar. Adotando os métodos Score Drivene Score Uniform, os algoritmos serão semelhantes entre si caso produzam valores de scores semelhantes para as mesmas instâncias. Já a similaridade utilizando Rate Driven e Rate Uniformé observada quando os modelos construídos pelos algoritmos apresentam um valor de rank semelhante para as mesmas instâncias.

O restante desse trabalho é organizado da seguinte forma: Capítulo 2 apresenta um apanhado geral sobre as métricas de avaliação de desempenho de algoritmos e formas de se medir similaridade; Capítulo 3 traz as técnicas propostas nesse trabalho; Capítulo 4 descreve o ambiente utilizado para a obtenção dos resultados empíricos; no Capítulo 5 são expostos os resultados obtidos utilizando as técnicas propostas; e por fim, no Capítulo 6 são apresentadas as considerações finais e possíveis trabalhos futuros.

1Nesse trabalho, a dissimilaridade é tratada como o complemento da similaridade, a partir desse ponto será

(17)

2

Similaridade de Algoritmos e Medidas de

Desempenho

A análise da similaridade entre algoritmos é uma informação valiosa para diversas aplicações em aprendizagem de máquina. Nesse capítulo é apresentada uma revisão sobre as principais formas de se medir essa similaridade e também sobre métricas de avaliação de desempenho de algoritmos, que são a forma mais utilizada para a descrição do algoritmo.

2.1

Similaridade de Algoritmos

Em aprendizagem de máquina são desenvolvidos e analisados processos de aprendizado. Esses processos consistem na aplicação de algoritmos de aprendizado em problemas e é dito que um processo aprende quando se observa uma evolução do desempenho do algoritmo à medida que são apresentadas novas instâncias do problema. Atualmente existe uma grande quantidade de algoritmos que podem ser aplicados nesses processos, muitos deles podem ser agrupados em categorias específicas (i.e. Árvores de Decisão, Redes Neurais). Cada um desses algoritmos ou categorias tem suas ações baseadas em determinadas premissas, sendo geralmente observado um melhor desempenho quando o problema que está sendo abordado apresenta características coerentes a essas premissas.

Os problemas tratados por esses processos de aprendizagem podem ser representados de formas distintas, como otimização, regressão ou classificação. Em problemas de classificação, que são o foco deste trabalho, o problema geralmente é descrito por um conjunto de dados onde cada instância do problema é representada por um vetor contendo seus atributos e um rótulo representando sua classe, no caso de classificação supervisionada. Os problemas encontrados nessa área apresentam uma grande diversidade de características, como o número de atributos que descrevem um elemento, o tipo dos atributos (contínuos ou categóricos), quantidade de classes, distribuição das classes, propriedades estatísticas dos atributos, dentre outros.

Apesar do grande avanço no desenvolvimento de algoritmos de aprendizagem de máquina, já foi comprovado que não existe um algoritmo que seja capaz de obter o resultado mais adequado

(18)

2.1. SIMILARIDADE DE ALGORITMOS 17 em todos os problemas existentes. O teorema No Free Lunch trata justamente dessa limitação (WOLPERT; MACREADY, 1997).

Uma técnica utilizada para lidar com essa restrição é a combinação de algoritmos para tratar de um mesmo problema em vez de se utilizar apenas um (PETERSON; MARTINEZ, 2005). Uma forma de realizar essa combinação é analisar a tendência que cada algoritmo apresenta no espaço de problemas e dinamicamente selecionar o conjunto de algoritmos que cubra a maior região desse espaço. Essa abordagem é uma das principais formas de aplicação do Meta-Aprendizado. Essa área utiliza informações obtidas em processos de aprendizagem, o chamado Meta-Conhecimento, para guiar a melhor forma de lidar com novos processos apresentados.

Uma forma de se analisar quais algoritmos devem ser combinados é avaliar a similaridade entre eles. A estratégia mais comum para fazer essa avaliação é utilizar o desempenho dos algoritmos em diversos problemas. Uma técnica que utiliza essas informações de similaridade é o Ensemble Learning. Nessa técnica, é utilizado um conjunto de algoritmos relativamente simples que apresentam uma boa diversidade entre si, o que pode ser interpretado como uma baixa similaridade (KUNCHEVA; WHITAKER, 2003).

Outra forma de se explorar a similaridade entre algoritmos é o uso de Landmark. Essa ferramenta de Meta-Aprendizado consiste na caracterização de dados a partir do desempenho de processos de aprendizado relativamente simples para então se selecionar ou configurar processos mais complexos (PFAHRINGER; BENSUSAN; GIRAUD-CARRIER, 2000). O processo dessa técnica pode ser realizado através de sub-amostras dos problemas ou landmarking relativo (FüRNKRANZ; PETRAK, 2001). Quando se utiliza a abordagem de sub-amostras, os algoritmos candidatos são aplicados em uma parte das instâncias do problema abordado para se avaliar qual desses candidatos é o mais adequado para tratar do problema como um todo. A ideia do landmarking relativo consiste na aplicação de algoritmos relativamente mais simples ( os chamados landmarkers) no problema completo para selecionar qual algoritmo candidato seria o mais eficiente. Para essa ideia, é essencial que seja feita uma análise da similaridade entre os landmarkerse os algoritmos candidatos, buscando uma alta similaridade entre eles.

A similaridade entre algoritmos pode ser obtida através de diferenças absolutas ou relações entre métricas globais de desempenho, como foi realizado em Fürnkranz e Petrak (2001). Apesar da popularidade desse tipo de abordagem, ela sofre críticas por utilizar métricas de desempenho que omitem informações sobre o comportamento local do algoritmo. Por exemplo, considerando um problema hipotético que seja formado por 10 instâncias e sejam aplicados dois algoritmos de aprendizagem de máquina distintos sobre ele, pode ocorrer que ambos os algoritmos apresentem erros em 40% das instâncias do problema, mas o conjunto de instâncias incorretamente classificadas de cada algoritmo ser completamente diferente um do outro, como ilustrado na Figura 2.1. Caso sejam aplicadas métricas globais para a avaliação desses processos, os valores retornados por essas avaliação irão sugerir que os algoritmos apresentam o mesmo desempenho.

(19)

Figura 2.1: Diferenças Locais entre Classificadores

Fonte: Elaborada pelo autor

destacar as diferenças locais entre os comportamentos de dois algoritmos. Sendo que a mais adequada para se avaliar essa distinção local é o Classifier Outpur Difference (COD), por esta representar uma distância entre os vetores que caracterizam o desempenho do algoritmo. Essa métrica representa a probabilidade de dois classificadores apresentarem previsões diferentes (PETERSON; MARTINEZ, 2005) e é definida por:

COD= N 10+ N01+ N00 D N  2.1 Onde N10 e N01 são as quantidades de elementos corretamente classificados por um algoritmo e incorretamente pelo outro. ND00é o número de instâncias que ambos os classificadores erram, porém cada algoritmo atribui uma classe diferente do outro, e N é o total de instâncias do problema.

2.2

Métricas de Desempenho de Algoritmos

O sucesso de qualquer processo de aprendizagem está intrinsecamente associado à forma escolhida para a sua avaliação. Existem diversas métricas disponíveis na literatura, onde cada uma delas descreve um comportamento específico do algoritmo. Em problemas de classificação, uma ferramenta amplamente utilizada é a Matriz de Confusão.

Tabela 2.1: Matriz de Confusão Binária

p n

P VP FN

N FP VN

(20)

2.2. MÉTRICAS DE DESEMPENHO DE ALGORITMOS 19 A Tabela 2.1 ilustra uma Matriz de Confusão de um classificador para um problema de classificação binário com as classes positiva(P) e negativa(N) . Nessa tabela, os valores Pe N representam a quantidade de instâncias pertencentes às classes P e N, respectivamente. n e p são as quantidades de instâncias classificadas como P e N. Verdadeiro positivo (VP) é a quantidade de instâncias positivas classificadas corretamente, verdadeiro negativo (VN) as instâncias negativas classificadas corretamente, falso negativo (FN) as instâncias positivas classificadas como negativas e falso positivo (FP) as instâncias negativas classificadas como positivas.

Várias métricas podem ser obtidas a partir dessa Matriz, dentre elas está a acurácia.

Acurácia =V P+V N P+ N  2.2 Essa métrica representa o comportamento global do algoritmo, sem nenhuma distinção a qualquer subconjunto particular do problema. Apesar de esse método ser um dos mais aplicados para a avaliação de processos de aprendizagem, ele omite muitas informações relevantes sobre o problema, como o comportamento do algoritmo em cada uma das classes do problema. Uma alternativa para se analisar o comportamento do algoritmo com uma atenção maior ao desempenho em cada classe do problema consiste na aplicação das seguintes métricas:

Sensibilidade= V P V P+ FN  2.3 Especi f icidade= V N FP+V N  2.4 Onde 2.3 apresenta o percentual de instâncias da classe positiva que foram corretamente classificadas e 2.4 o percentual de acerto na classe negativa.

Em alguns problemas do mundo real é observado um desbalanceamento entre classes, como em classificação de texto, extração de informação e bio-informática. Geralmente para esses problemas é estabelecida uma classe alvo (positiva) que apresenta uma quantidade de instâncias muito menor do que as observadas na classe negativa. Para cenários dessa natureza, é necessário ser feita uma análise com um foco maior na classe minoritária. A partir dos valores apresentados na matriz de confusão, podem ser calculados os seguintes valores para a análise de problemas com essa característica:

Precisão= T P T P+ FP  2.5 Cobertura= T P T P+ FN  2.6 F− score = (β 2+ 1) ∗ Precisão ∗Cobertura β2∗ Precisão +Cobertura  2.7

(21)

Onde 2.5 expressa a taxa de acertos que o classificador apresenta nas classificações positivas e 2.6 , o desempenho nas instâncias positivas. O valor de 2.7 quantifica a relação entre os valores de precisão e cobertura. Quando β = 1, esse valor apresentar um comportamento balanceado entre essas métricas, β > 1 favorece a precisão e caso contrário favorece a cobertura.

2.2.1

Métodos de seleção de limiar

As métricas supracitadas são utilizadas para a avaliação de classificadores puros, que são funções C : x → Y que para um vetor x com as características de uma instância de um problema, é retornado um Y = {0, 1}1referente à classe definida pelo classificador para essa instância. Vários algoritmos têm como retorno do seu processo de aprendizagem uma função dessa forma (i.e. Árvores de Decisão, Regras). Contudo, existem algoritmos que apresentam como resultado dos seus processos de aprendizagem um modelo aprendido, que são funções (m : x → R) onde é necessário um processamento adicional para que seja possível determinar o rótulo da classe a qual a instância descrita por x pertence. O valor de m(x) representa o grau de associação que a instância x apresenta para cada classe do problema. Esse valor pode ser uma probabilidade, onde m(x) ∈ [0, 1], ou um score onde não há limites estabelecidos. No restante deste trabalho, o termo score será utilizando tanto para se referir a valores de scores propriamente ditos quanto para probabilidades e será representado por m(x) = s.

Para que um classificador C(x) seja construído a partir de um modelo m(x), é necessária a determinação de um limiar t de forma que:

C(x) =    0, se m(x) < t 1, se m(x) > t  2.8

A abordagem padrão para lidar com a essa situação é o estabelecimento de um valor fixo para o limiar (i.e. t = 0.5), onde se ignora quaisquer informações adicionais sobre o problema. Apesar da simplicidade oferecida por essa abordagem, a omissão do uso desses conhecimentos adicionais reflete em uma menor qualidade no resultado obtido.

Uma forma mais sofisticada de determinar o limiar é a partir da análise da curva ROC (FAWCETT, 2006). Essa curva é plotada em um espaço que relaciona os valores de f p e vp2para cada limiar adotado. Por exemplo, seja a Tabela 2.2 com o scores obtidos a partir da aplicação de um modelo aprendido sobre as instâncias de um problema.

Nessa tabela pode ser observado que dependendo do valor adotado como limiar, o desempenho do algoritmo apresenta diferentes resultados. A Figura 2.2 apresenta a curva ROC plotada a partir dos valores dessa tabela.

No espaço ROC existem alguns elementos que merecem destaque. O ponto (0,1) re-presenta o classificador ideal e quanto mais próximo desse ponto, melhor o desempenho do

1Nesse trabalho a classe positiva é rotulada com valor 0 e a negativa com 1 2f p=FP

N e vp = V P

(22)

2.2. MÉTRICAS DE DESEMPENHO DE ALGORITMOS 21

Tabela 2.2: Scores para as instâncias de um problema

Instância Classe Score

1 1 .9 2 1 .8 3 0 .7 4 1 .6 5 1 .55 6 1 .54 7 0 .53 8 0 .52 9 1 .51 10 0 .505

Fonte: Elaborada pelo autor

Figura 2.2: Exemplo de Curva ROC

(23)

classificador. Já a reta pontilhada representa o resultado de um classificador aleatório, é esperado que qualquer método mais sofisticado apresente pontos acima dessa reta.

Na Figura 2.2, vemos que o ponto B se encontra mais próximo do classificador ideal do que os pontos A e C. Isso indica que o classificador construído a partir desse limiar apresenta um melhor resultado do que os outros.

A partir dessa curva também pode ser avaliado o desempenho global do modelo aprendido através do cálculo da área sob a curva ROC (AUC). Quanto mais próximo de 1 for o valor dessa área, melhor o desempenho global do algoritmo. O valor de AUC igual a 0.5 representa o desempenho de um classificador aleatório, sendo assim qualquer resultado inferior a esse valor indica que o algoritmo obteve informações úteis, mas elas estão sendo aplicadas de forma incorreta (FLACH, 2003).

2.2.1.1 Desempenho Sensível a custo

Vários dos problemas existentes no mundo real apresentam um disparidade entre o custo de suas classes. Por exemplo, em aplicações médicas quando um paciente saudável é erroneamente diagnosticado com uma doença (falso positivo) é bem menos grave do que um enfermo ser dado como saudável (falso negativo), já que dessa forma ele não receberia tratamento e assim poderia causar alguma fatalidade. Para esses problemas, é necessário introduzir na avaliação do processo de aprendizagem as informações relacionadas ao custo de cada classe.

A curva ROC permite que seja feita uma análise implícita do desempenho de um modelo aprendido para todas as possíveis combinações de custos de classificação e distribuição das classes, com algumas restrições. Uma forma mais sofisticada de se analisar o comportamento do algoritmo levando em conta a informação dos custos de cada classe é a análise das curvas de custo (DRUMMOND; HOLTE, 2006). O espaço onde essas curvas se apresentam relaciona diretamente os valores de custo esperado com o cenário de custos onde o algoritmo é aplicado. Nesse trabalho é utilizada uma notação semelhante à encontrada em Hernánez-Orallo; Flach; Ferri (2012). Os custos associados aos erros obtidos nas classes positiva e negativa serão representados por c0e c1, respectivamente. Para normalizar o custo define-se que b = c1+ c0, que é denominada a magnitude de custo. A proporção de custos é medida por c = c0

b. As proporções das classes positiva e negativa do problemas são dadas por π0 e π1. Com esses definições, o cenário onde o processo de aprendizagem é aplicado pode ser descrito na forma de uma Condição de Operação Θ = {c, b, π0}.

O valor de t pode ser determinado a partir de uma função T : Θ → R que seleciona o limiar t mais adequado para o cenário descrito em Θ. Assim, o custo de um processo utilizando o limiar t na condição de operação Θ é calculado por:

Q(T (Θ), Θ) = Q(t, {c, b, π0}) = b{cπ0f n(t) + (1 − c)π1f p(t)}  2.9 Onde f n(t) e f p(t) são as taxas de falso positivo e falso negativo para um limiar t,

(24)

2.2. MÉTRICAS DE DESEMPENHO DE ALGORITMOS 23 respectivamente, π0 é o percentual de instâncias pertencentes à classe positiva e π1 à classe negativa.

A equação 2.9 mede o custo em uma única condição de operação. A partir dessa equação, pode ser feito o cálculo do prejuízo médio do classificador como uma média ponderada dos custos sobre uma extensão de condições de operação.

L=

Z

Θ

Q(T (Θ), Θ)w(Θ)dΘ 2.10

Onde w(Θ) é a distribuição dos valores de Θ.

2.2.2

Análise de desempenho em instância

Quando um processo é observado de forma mais global, são omitidas muitas informações que podem ser fundamentais para o seu melhor entendimento. Identificar quais instâncias são mais difíceis de serem classificadas e entender o porquê de elas o serem pode levar a um melhor entendimento e , consequentemente, desenvolvimento de aplicações de processos de aprendizagem.

De acordo com Basu e Ho (2006) a complexidade dos dados de um problema pode ser determinada por três fatores: (1) ambiguidade de classe, (2) complexidade de borda e (3) dispersão de amostra e dimensionalidade do espaço de características.

A ambiguidade de classe se refere a situações onde as classes não podem ser determinadas por nenhum algoritmo de classificação. Isso geralmente é decorrência de uma formulação errada do problema. A complexidade de borda trata da forma como as classes se comportam no espaço do problema. Elas podem tanto apresentar um comportamento mais simples, onde as instâncias das classes ficam concentradas em uma região do espaço do problema e existe uma borda linearmente definida entre as classes, quanto uma maior complexidade, quando não existe uma borda de separação bem definida entre as classes. A dispersão de amostra se refere à dificuldade em se classificar uma instância pertencente a uma classe que apresente instâncias muito espalhadas no espaço do problema. Essa dispersão torna mais complexa a definição da região de uma classe, e pode ser ainda mais agravada quando há um grande número de atributos que descrevem as instâncias.

Em Smith e Martinez (2011), os autores apresentam o conceito de dificuldade de instância como uma forma de analisar o desempenho de um algoritmo em uma instância específica. A dificuldade de instância (DI) nesse trabalho é definida pela seguinte equação:

DI(x) = ∑ N i erro(Algi, x) N  2.11 Onde N é o número de algoritmos analisados, erro(Algi, x) é uma função que retorna 1 se a instância x for classificada incorretamente por Algi e 0 caso ocorra um acerto. Essa métrica estipula que uma instância apresenta uma maior dificuldade quanto maior o número de

(25)

algoritmos que apresentam uma classificação incorreta para ela.

O conceito de dificuldade de instância pode ser integrado em processos de aprendizagem, como mostrado em Smith; Martinez; Giraud-Carrier (2013). Nesse trabalho a dificuldade de instância é inserida no função de erro de uma Multilayer Perception(MLP). O cálculo do erro que usualmente é feito da seguinte forma:

erro(x) =    1 − yk, se Y (x) = k 0 − yk, caso contrário  2.12

Onde yké o valor do rótulo determinado pela MLP e Y (c) é a classe real de x. Quando a DI é inserida no treinamento da MLP, o erro é calculado usando a equação 2.13:

erro(x) =    1 − DI(x) − yk, se Y (x) = k 0 − yk, caso contrário  2.13

Onde DI(x) representa o valor da dificuldade da instância calculada em um conjunto de algoritmos distintos. Essa abordagem se baseia na premissa de que é esperado que determinada instância seja classificada incorretamente.

(26)

25 25 25

3

Similaridade Sensível a Custo

A abordagem proposta neste trabalho consiste na avaliação da similaridade entre algorit-mos em ambientes sensíveis a custo. Para se obter uma análise mais detalhada do comportamento do algoritmo e assim poder avaliar a similaridade de forma mais rigorosa, foi desenvolvida uma forma de avaliar o desempenho do algoritmo em cada instância de um problema. A equação 2.9 foi especializada para que ela possa avaliar o prejuízo de uma instância ao invés de fazê-lo para todo o problema.

Nesse contexto, as informações sobre a proporção das classes (π0e π1) são removidas da equação. Para simplificar as análises foi fixado o valor b = 2, assim temos que c0+ c1= 2, c0= 2c e c1= 2(1 − c). Além disso, foi estabelecido que 0 ≤ c ≤ 1. Com essas premissas, a condição de operação pode ser descrita somente em função de c (θ = c) e o prejuízo da instância para ser calculado a partir de:

QI(x, T (c), θ ) = QI(x,t, c) = 2{c · FN(x,t) + (1 − c) · FP(x,t)} 3.1 Quando se é analisada uma instância positiva, o valor de FN(x,t) 6= 0 somente se essa instância for classificada como negativa a partir do limiar t, caso contrário FN(x,t) = 0. Sendo assim, a equação 3.1 pode ser reescrita da seguinte forma para que seja feita a avaliação de uma instância pertencente à classe positiva:

QI0(x,t, c) = 2 · c · FN(x,t)  3.2 De forma semelhante, essa equação pode ser definida para lidar com instâncias negativas, onde FP(x,t) 6= 0 somente quando a instância for classificada como positiva a partir do limiar t:

QI1(x,t, c) = 2 · (1 − c) · FP(x,t) 3.3 Dado um método para escolha de limiar T , a equação QI(x,t, c) produz uma curva de custo para a instância x ao longo da extensão das Condições de Operação (c ∈ [0, 1]). A dificuldade da instância(DI) proposta nesse trabalho é definida como a área sob essa curva e mede o prejuízo esperado da instância na extensão de c. Para uma instância x, utilizando um

(27)

limiar T (c) = t e uma extensão de Condições de Operação c, o valor de DI é obtido por:

DIT(x,t, c) =

Z

c

QI(x,t, c)w(c)dc 3.4

Em 3.4 , w(c) representa a distribuição de c. Neste trabalho o valor de DI é calculado utilizando diferentes métodos de escolha de limiar e assumindo uma distribuição uniforme de c.

3.1

Métodos de Escolha de Limiar

Os cenários de custo são representados a partir de diferentes métodos de seleção de limiar. Foram utilizados quatro desses métodos no desenvolvimento deste trabalho: Score-Driven(SD), Score-Uniform(SU), Rate-Driven(RD) e Rate-Uniform(RU).

3.1.1

Score Driven

Uma da formas mais diretas para a seleção de limiar é o uso do método Score Driven (?). Esse método é utilizado quando a condição de operação onde o processo de aprendizagem será aplicado é conhecida. O valor do limiar é definido como sendo a condição de operação c:

Tsd(c) = c 3.5

Por exemplo, caso c=0.7, o custo para falsos negativos é maior do que para falsos po-sitivos. Usando esse método de escolha de limiar temos que t = c = 0.7, então o classificador resultante apresentará uma tendência maior em classificar as instâncias como positivas, mini-mizando assim o número de falsos negativos. De acordo com Flach; Hernandez-Orallo; Ferri (2011), esse método é uma escolha natural quando se assume que o modelo é um estimador de probabilidade e os scores são bem calibrados.

Para o método Score-Driven, os valores de FN e FP são definidos como:

FNsd(t) =    1, se s > t 0, caso contrário  3.6 FPsd(t) =    1, se s < t 0, caso contrário  3.7

Substituindo esses valores em 3.2 e 3.3 , o valor de prejuízo da instância para as classes positiva e negativa utilizando o método Score-Driven pode ser calculado pelas seguintes equações:

(28)

3.1. MÉTODOS DE ESCOLHA DE LIMIAR 27

QI1sd= 2 · (c − 1) 3.9

A curva de custo obtida por 3.8 é uma reta que cresce linearmente em todo o intervalo c≤ s. Quando s > c é considerado que o prejuízo da instância é 0. A Figura 3.1 ilustra a curva de custo para uma instância positiva com s = 0.32.

Figura 3.1: Curva de Custo para Instância Positiva pelo método Score Driven

Fonte: Elaborada pelo autor

A curva relativa a uma instância pertencente à classe negativa, produzida por 3.9 , apresenta um decréscimo linear a partir de c = (1 − s) até c = 1. A Figura 3.2 apresenta uma curva de custo para uma instância negativa.

Figura 3.2: Curva de Custo para Instância Negativa pelo método Score Driven

(29)

Com essas equações pode-se então medir a dificuldade de cada instância aplicando as seguintes equações: DI0sd= Z s 0 2c dc = [c2]s0= s2 3.10 DI1sd = Z 1 s 2(1 − c) dc = [(1 − c)2]1s = (1 − s)2 3.11 A equação 3.10 pode ser escrita como DI0sd= (0 − s)2. Logo, pode ser considerado que a avaliação de instâncias utilizando o método Score-Driven pode ser medida por:

DIsd = (y − s)2 3.12

Onde y representa o rótulo da classe à qual a instância pertence. Essa equação mostra que o cálculo do valor da DI quando se utiliza o método Score-Driven é equivalente à calcular o erro quadrático para essa instância.

3.1.2

Rate Driven

O método Score-Driven é muito sensível à distribuição dos scores de um problema (HERNÁNDEZ-ORALLO; FLACH; FERRI, 2013). Por exemplo, se houver uma grande concentração de scores em um região específica, qualquer pequena variação de t pode afetar gravemente o desempenho do classificador.

Uma alternativa apresentada em Hernández-Orallo; Flach; Ferri (2013) é a aplicação do método Rate-Driven, que se baseia na ordenação dos scores obtidos por um modelo aprendido. O limiar é definido de forma a se obter uma proporção de instâncias classificadas como positivas. Para uma condição de operação c é calculado um limiar t de forma que R(t) = c. O método Rate-Driven determina o valor do limiar em função da condição de operação c utilizando a seguinte equação:

Trd(c) = R−1(c) 3.13

Para esse método, caso c = 0.7 o classificador irá definir 70% das instâncias com menor scorecomo sendo positivas. A escolha do limiar a partir do Rate-Driven permite a avaliação da capacidade que um modelo apresenta em ordenar as instâncias de um problema.

Semelhante ao método Score-Driven, os valores de FN e FP são determinados da seguinte forma: FNrd(t) =    1, se s > R−1(c) 0, caso contrário  3.14

(30)

3.1. MÉTODOS DE ESCOLHA DE LIMIAR 29 FPrd(t) =    1, se s < R−1(c) 0, caso contrário  3.15

E o prejuízo da instância pode então ser avaliado por:

DI0rd= Z R(s) 0 2c dc = [c2]R(s)0 = R(s)2 3.16 DI1rd = Z 1 R(s) 2(1 − c) dc = [(1 − c)2]1R(s)= (1 − R(s))2 3.17 Semelhante ao que foi feito para o Score-Driven, as equações acima podem ser unificadas como:

DIrd= (y − R(s))2 3.18

Onde y é o rótulo da classe a que pertence a instância.

3.1.3

Score-Uniform

Quando se trata com problemas do mundo real, nem sempre é possível ter uma informação confiável sobre as condições de operação onde o algoritmo irá atuar. Isso pode ocorrer quando não se tem uma total conhecimento sobre a origem dos dados ou caso haja alguma corrupção dos mesmos durante sua transmissão. Para esse tipo de situação, é interessante que seja feita a análise do pior cenário para o desempenho do algoritmo. Isso pode ser feito através da aplicação do método Score-Uniform (HERNÁNDEZ-ORALLO; FLACH; FERRI, 2012). Esse método define o custo da instância a partir de uma distribuição uniforme sobre as condições de operação, onde cmáxe cmínsão os valores máximo e mínimo de custo.

QI=Ucmáx cmín = 1 cmáx− cmín = 1 1 − 0= 1  3.19 Tanto para as instâncias positivas quanto para as instâncias negativas, a curva de custo nesse método consiste em uma linha reta paralela ao eixo de c. Figura 3.3 e Figura 3.4 ilustram as curvas de custo utilizando esse método para uma instância positiva e uma instância negativa, respectivamente.

O prejuízo das instâncias pode ser calculado a partir das seguintes equações:

DI0su= Z s 0 QI dc= Z s 0 1 dc = [c]s0= s 3.20 DI1su= Z 1 s QI dc= Z 1 s 1 dc = [c]1s = 1 − s 3.21

(31)

Figura 3.3: Curvas de custo para uma Instância Positiva pelo método Score-Unform

Fonte: Elaborada pelo autor

Figura 3.4: Curvas de custo para uma Instância Negativa pelo método Score-Unform

(32)

3.2. SIMILARIDADE ENTRE MODELOS EM UM MESMO PROBLEMA 31 Tendo os valores de 0 e 1 como os rótulos das classes e sendo 0 ≤ s ≤ 1, as equações



3.20 e 3.21 podem ser unificadas em:

DIsu= |y − s| 3.22

Que corresponde ao erro absoluto para a instância.

3.1.4

Rate Uniform

Esse método parte do mesmo princípio apresentado para o Score-Uniform, quando não existe uma confiabilidade nas informações acerca das condições de operação onde o processo será aplicado. O custo das instâncias é então determinado pela equação 3.19 . O limiar nesse método é calculado da mesma forma que para o método Rate-Uniform, obtendo-se o rank da instância a partir do seu score.

Para esse método, o valor da dificuldade da instância é medido por:

DI0ru= Z R(s) 0 QI dc= Z R(s) 0 1 dc = [c]R0(s) = R(s) 3.23 DI1ru= Z 1 R(s) QI dc= Z 1 R(s) 1 dc = [c]1R(s)= 1 − R(s) 3.24

3.2

Similaridade entre modelos em um mesmo problema

O uso de métricas globais para medir a similaridade entre algoritmos não permite uma análise mais detalhada desse relacionamento, dado que essas métricas apresentam um desempe-nho médio do modelo sobre o problema. Existem formas mais refinadas de avaliar o desempedesempe-nho de um modelo e comparar seu comportamento com outros modelos, utilizando informações sobre o desempenho do modelo em cada instância do problema(SMITH; MARTINEZ; GIRAUD-CARRIER, 2013; SMITH; MARTINEZ, 2011). Contudo, nenhuma dessas análises apresentadas levam em consideração os custos de classificação associados às classes de um problema.

Nesse trabalho, são utilizadas diferentes formas de avaliar o impacto dos custos de um problema no desempenho em cada instância. Dado um par de modelos aprendidos, eles serão considerados similares caso os seus desempenhos em cada instância seja similar. Para avaliar essa similaridade, primeiramente são computados os valores de DI para cada instância de um problema específico. Tendo os vetores com os valores do desempenho para cada instância, a similaridade entre dois modelos aprendidos em um problema é medida por:

D(ma, mb, D) = r

xi∈D (DIT ma(xi) − DI T mb(xi)) 2  3.25 Que é a distância euclidiana entre os vetores que caracterizam o desempenho do algoritmo.

(33)

Nessa equação mae mbse referem aos modelos sendo comparados, D é o problema observado e T é o método de seleção de limiar.

Nos métodos Score-Driven e Score-Uniform, dois modelos serão considerados similares caso eles apresentem scores similares para as mesmas instâncias. A similaridade nos métodos Rate-Uniforme Rate-Driven é observada quando dois algoritmo apresentam ranks semelhantes para as mesmas instâncias de uma problema. Outras medidas de dificuldade de instância podem ser calculadas a partir de outros métodos de seleção de limiar, como os métodos de seleção probabilísticos (HERNÁNDEZ-ORALLO; FLACH; FERRI, 2012).

3.3

Similaridade global entre modelos

Tendo as informações sobre as similaridades em um conjunto de problemas, pode então ser feita a análise da similaridade global, para que se possa ter uma visão mais ampla sobre os relacionamentos entre os algoritmos. Para se fazer essa análise, podem ser utilizadas medidas estatísticas de centro sobre as similaridades entre os algoritmos em cada problema ou métodos de similaridade por consenso (VEGA-PONS; RUIZ-SHULCLOPER, 2011).

Nesse trabalho, a mediana foi escolhida como forma de avaliar esse comportamento global. A mediana foi escolhida por ser uma estatística robusta.

A (ma, mb) = ˜D(ma, mb)  3.26 A mediana é definida pelo elemento central da amostra de dados analisada. Isso é feito ordenando-se os elementos da amostra e selecionando o valor que se apresenta no meio dessa ordenação. No caso de amostras com um número par de elementos, esse valor é calculado pela média dos dois elementos mais centrais da ordenação.

A mediana é mais robusta que outras medidas de centro, como a média, por ela não depender de todo o conjunto de valores de amostra. Caso seja analisada uma amostra que apresente uma concentração de elementos em valores extremos ou seja notada a presença de outliers, esses valores comprometem a média da amostra, mas não afeta o valor da mediana.

Como neste trabalho foi analisado um conjunto bastante variado de algoritmos e proble-mas, a mediana fornece uma maior confiabilidade como medida de centro.

(34)

33 33 33

4

Metodologia

Para a análise da proposta apresentada nesse trabalho foram realizados 2888 processos de aprendizagem a partir de 152 problemas e 19 algoritmos para então serem analisadas as suas similaridades em diferentes cenários de custo. Foi avaliado o desempenho dos algoritmos em 354014 instâncias utilizando-se as métricas apresentadas no capítulo Capítulo 3.

Os scores de cada instância foram obtidos através de uma validação cruzada 10-fold estratificada, como ilustrado na Figura 4.1.

Figura 4.1: Validação Cruzada 10-Fold

Fonte: Elaborada pelo autor

Essa abordagem divide o problema em 10 subconjuntos de cardinalidade semelhante, cada um mantendo a proporção de classes observada no conjunto original. Caso o problema apresente 25% de classes positivas e 75% de negativas, cada fold irá apresentar aproximadamente a mesma proporção.

4.1

Conjunto de Algoritmos

Os algoritmos usados para a criação do pool analisado nesse trabalho foram selecionados do framework do Weka (HALL et al., 2009), uma ferramenta já bem consolidada em aprendiza-gem de máquina. Foram selecionados algoritmos que apresentassem uma boa diversidade de

(35)

comportamento entre si e também alguns semelhantes entre si para que fosse estabelecido um ponto de referência. Para a execução dos algoritmos, foram utilizados os parâmetros padrão do framework. A Tabela 4.1 apresenta os algoritmos dispostos de acordo com a taxonomia do Weka.

Tabela 4.1: Algoritmos de acordo com a taxonomia do Weka

Bayes Rules Function Tree Lazy

BayesNet PART MLP DecisionStump IB1

NaiveBayes ZeroR SMO-Lin J48 IB3

Ridor SMO-RBF FT LWL

NNge Logistic NBTree

JRip RandomForest

Fonte: Elaborada pelo autor

Geralmente quando é aplicado um algoritmo para a classificação de uma instância, o mesmo retorna somente o valor do rótulo referente à classe em que a instância é classificada. Para se obter os valores reais de scores para cada instância, foi utilizado um método do framework que retorna um vetor com as probabilidades da instância pertencer à cada classe do problema. O valor de score é definido como probabilidade da instância pertencer à classe negativa (Y = 1).

Os algoritmos pertencentes à categoria Bayes já retornam as probabilidades para cada instância, não sendo necessário nenhum tratamento adicional. O algoritmo ZeroR classifica uma instância com a média das classes do problema, como os valores das classes para os problemas abordados nesse trabalho são 0 e 1, o valor da média pode ser interpretado como o percentual de instâncias da classe negativa. Para os algoritmos do grupo Function, o score consiste no valor retornado pelo modelo normalizado entre 0 e 1. Os scores para os algoritmos RandomForest, IB1 e IB3 são o percentual de votos dados para a classe negativa. Os demais algoritmos tem seus valores de probabilidades estimados a partir da estrutura interna dos modelos formados.

Foram utilizadas algumas variações de algoritmos e algoritmos conceitualmente similares para se ter um ponto de referência. Os modelos IB1 e IB3 são construídos a partir do algoritmo KNN, sendo que o primeiro faz a classificação utilizando somente um vizinho mais próximo enquanto o segundo utiliza os 3 vizinhos mais próximos. Uma similaridade esperada é entre os algoritmos PART e J48, uma vez que ambos constroem seus modelos a partir do algoritmo de árvore de decisão C4.5.

Os algoritmos SMO-Lin e SMO-RBF consistem na implementação do algoritmo de otimização seguencial mínimo de John Platt (KEERTHI et al., 2001) para treinamento de Support Vector Machine(SVM) (SCHÖLKOPF; SMOLA, 1998), utilizando diferentes funções de kernel.

O SMO-Lin utiliza o kernel polinomial e o SMO-RBF o kernel Radial Basis Function. Apesar de ambos os métodos se basearem em SVM, não é esperado um relacionamento entre eles, dado que cada kernel apresenta uma comportamento completamente diferente do outro.

(36)

4.2. CONJUNTO DE PROBLEMAS 35

4.2

Conjunto de Problemas

Os problemas utilizados nesse trabalho foram coletados no repositório do UCI (LICH-MAN, 2013). Muitos dos problemas disponíveis nesse repositório apresentam mais de uma classe. Foi aplicado um processo nessas bases para que elas fossem transformadas em problemas binários, tendo uma proporção mínima de 5% de instâncias da classe positiva. O histograma da Figura 4.2 apresenta os percentuais de elementos da classe positiva em cada problema.

Figura 4.2: Percentual de Instância da classe positiva nos problemas

Fonte: Elaborada pelo autor

Informações adicionais sobre as características de cada problema utilizado estão disponí-veis no Apêndice A.

4.3

Agrupamento de algoritmos

Após o cálculo do desempenho das instâncias dos problemas e das similaridades entre os algoritmos utilizando a abordagem apresentada no Capítulo 4, esses valores de similaridade foram utilizados para a criação de diferentes agrupamentos. A construção desses grupos foi feita utilizando o método hierárquico aglomerativo disponível no framework Scipy (JONES et al., 2001–) .

O agrupamento foi realizado a partir do critério average (DING; HE, 2002), que mede o grau de associação de cada elemento a um grupo a partir de:

d(u, v) =

i j d(u[i], v[ j]) |u| ∗ |v|  4.1 Esse critério foi selecionado por apresentar um resultado mais balanceado entre agrupa-mentos de pequena e alta similaridades.

(37)

5

Resultados

O uso de métricas globais para descrever o comportamento de um algoritmo omite informações importantes sobre o seu desempenho local. Essas informações podem ser utilizadas para identificar em quais classes o algoritmo apresenta um melhor resultado ou analisar quais instâncias são mais difíceis de serem classificadas.

Quando se deseja analisar a semelhança entre o comportamento de diferentes algoritmos em um mesmo problema, o comportamento local permite uma análise mais detalhada, já que diferentes algoritmos podem apresentar diferentes resultados em uma mesma instância do problema.

Neste trabalho, é apresentada uma forma de avaliar o desempenho do algoritmo em cada instância do problema, levando em consideração diferentes formas de se avaliar os custos envolvidos nos erros em cada classe. A partir do desempenho medido por essas métricas, é computada a similaridade entre os algoritmos em cada problema e, em seguida, é feita uma análise global dessas similaridades.

5.1

Desempenho em uma instância

O comportamento do algoritmo em uma instância pode revelar informações valiosas para a análise do problema. A instância observada pode ser um outlier, pode pertencer à borda de sua classe ou até mesmo ter sido rotulada incorretamente. Neste estudo, foi avaliado o desempenho de 19 algoritmos em 354014 instâncias distribuídas em 153 problemas de classificação distintos utilizando a abordagem proposta no Capítulo 3.

Para ilustrar a distinção do comportamento de diferentes algoritmos em diferentes formas de avaliação de custos, foi selecionada uma instância que apresente um comportamento diversificado entre os algoritmos analisados. A Figura 5.1 apresenta os resultados obtidos sobre a instância #76 do problema bridges-version1-CANTILEV.

(38)

5.1. DESEMPENHO EM UMA INSTÂNCIA 37

Figura 5.1: Desempenho para a instância # 76 do problema bridges-version1-CANTILEV

(39)

Nesta figura, observa-se que os piores desempenhos são para os algoritmos ZeroR, Ridor, PART e J48. O algoritmo ZeroR utiliza a média dos valores de classe como score para classificação de uma instância. Sendo assim, espera-se que ele apresente um desempenho ruim para instâncias da classe positiva, o que é o caso desta. Os algoritmos J48 e PART utilizam o algoritmo C4.5 para a construção dos seus modelos, é esperado que eles apresentem um resultado semelhante.

Para os modelos gerados pelos algoritmos SMO-RBF, SMO-LIN, NNGe, DecisionStump, JRip, Logistic e IB1, é observado que o desempenho sob os métodos de escolha de limiar Score-Drivene Score-Uniform é melhor do que quando são aplicados os métodos Rate-Driven e Rate-Uniform. Isso sugere que para essa instância, esse algoritmos são mais aptos a apresentarem scoresmelhores calibrados do que ordenar as instâncias desse problema.

O oposto se observa nos algoritmos NBTree, LWL, IB3, FT e RandomForest. Os modelos construídos a partir desses algoritmos apresentam altos valores de dificuldade de instância (DI) para os métodos Score-Driven e Score-Uniform comparados aos valores obtidos pelos métodos baseados em rates.

Os modelos criados com BayesNet, NaiveBayes e MLP apresentam um baixo valor de DI quando usados os métodos Score-Driven e Rate-Driven quando comparados com Score-Uniform e Rate-Uniform.

5.2

Similaridade Local

As informações sobre o desempenho individual das instâncias de um problema permite uma análise mais detalhada do comportamento dos algoritmos aplicados nele. Nesta seção, são apresentados os valores de DI obtidos com os métodos e algoritmos selecionados para descrever o problema bridges-version1-CANTILEV, o mesmo de onde foi retirada a instância analisada na seção anterior.

5.2.1

Score-Driven

A Figura 5.2 apresenta os valores de DI para as instâncias da classe negativa desse problema utilizando método Score-Driven para avaliar o prejuízo em cada instância.

Pode-se ver que, nesse contexto, os algoritmos não têm grande dificuldade em classificar corretamente as instâncias negativas. A maioria apresenta os valores de DI bastante concentrados próximos a 0. Os resultados dos algoritmos NaiveBayes, BayesNet e NBTree apresentam vários outliersque se distribuem por quase toda a extensão dos possíveis valores de DI. Os piores resultados para as instâncias negativas são observados nos outliers de SMO-RBF, SMO-LIN, NNge, Logistice IB1.

A Figura 5.3 ilustra os valores de DI para as instâncias positivas com o uso do método SD. Os ZeroR, PART, JRIp e J48 são os que apresentam os piores resultados para essas instâncias.

(40)

5.2. SIMILARIDADE LOCAL 39

Figura 5.2: DI para as instâncias negativas de bridges-version1:CANTILEV utilizando o médoto Score-Driven

Fonte: Elaborada pelo autor

O modelo construído a partir do Ridor erra todas as instâncias da classe positiva, o que pode ser visto pela concentração dos valores de DI em 1.

Figura 5.3: DI para as instâncias positivas de bridges-version1:CANTILEV, SD

Fonte: Elaborada pelo autor

Um comportamento interessante de se notar nesse problema é a diferença entre o com-portamento dos algoritmos IB1 e IB3. Ambos utilizam a distância entre as instâncias para fazer

(41)

a classificação, contudo é observado que o IB1 apresenta um bom desempenho na classificação das instâncias positivas, enquanto o IB3 apresenta uma maior dificuldade. Isso sugere que as instâncias da classe positiva se concentram em uma região bem definida no espaço desse problema, mas a borda que separa as classes não é muito grande, o que causa os erros para o IB3.

Com os valores de DI obtidos para todas as instâncias desse problema, com os algoritmos selecionados, é possível então medir a similaridade entre os algoritmos nesse problema. A Figura 5.4 ilustra essa similaridade.

Figura 5.4: Similaridade entre Algoritmos em bridges-version1:CANTILEV, SD

Fonte: Elaborada pelo autor

Os algoritmos que apresentaram os piores resultados para as instâncias positivas (PART,J48,JRip, ZeroRe Ridor) ficaram em um mesmo agrupamento. Ridor apresenta uma maior dissimilaridade com os demais por ele apresentar o pior resultado entre os 5.

Como esse problema apresenta somente 10% de instâncias pertencentes à classe positiva, o comportamento observado nas instâncias da classe negativa possui um grande peso na medida de similaridade.

Analisando a Figura 5.3, vemos que há uma diferença entre seus comportamentos na classe positiva, com o Interquartile Range(IQR) do FT sendo bem maior do que o observado no resultado do RandomForest e a mediana desse sendo maior que a daquele. Contudo, o agrupamento formado por RandomForest e FT apresenta uma baixa dissimilaridade. Isso é causado pela grande semelhança observada em seus comportamentos nas instâncias da classe negativa.

Os algoritmos NNGe e SMO-RBF, apesar de apresentarem um comportamento muito semelhante nas instâncias da classe positiva, não pertencem ao mesmo agrupamento. Isso se dá pela diferença entre seus comportamentos nas instâncias da classe negativa. Enquanto o

(42)

SMO-5.2. SIMILARIDADE LOCAL 41 RBFapresenta seus valores de DI bem concentrados próximos a 0 e alguns outliers próximos a 1, o NNge tem vários outliers distribuídos entre 0 e 0.5.

5.2.2

Score-Uniform

Para a análise do comportamento dos algoritmos nesse problema em um cenário onde não se conhece ou não há segurança sobre a distribuição dos custos, a Figura 5.6 ilustra os valores de DI para as instâncias negativas desse problema.

Figura 5.5: DI para as instâncias negativas de bridges-version1-CANTILEV,SU

Fonte: Elaborada pelo autor

Nesse boxplot, observamos que os algoritmos SMO-RBF, SMO-LIN, Ridor, NNGe, Lo-gistic, MLPe IB1 apresentam um comportamento semelhante ao exposto na Figura 5.2. Essa semelhança provém do fato de que os modelos construídos a partir desses algoritmos retornam um valor de score muito próximos, se não igual, aos valores da classe (s ∼ 0), com exceção dos poucos outliers observados para esses modelos.

Para os algoritmos RandomForest, NBTree, NaiveBayes, LWL, IB3, FT, DecisionStump e BayesNet, é observado um aumento do IQR. Essa variação é consequência do uso do erro absoluto ao invés do erro quadrático. Como os valores dos erros se encontram no intervalo entre 0 e 1, o valor do erro ao quadrado será sempre menor ou igual ao seu valor absoluto.

Os valores de DI obtidos com os algoritmos PART, JRip, J48 e ZeroR não apresentaram um aumento de IQR. Os valores de DI para esses algoritmos sofrem um deslocamento, o que indica que esses algoritmos retornam praticamente o mesmo valor de score para todas as instâncias da classe negativa.

(43)

Para as instâncias positivas, como ilustrado na Figura 5.6, o comportamento é semelhante. Os mesmos algoritmos que apresentaram semelhança entre os valores de DI obtidos com o método Score-Driven para as instâncias negativas, também apresentam essa similaridade para as instâncias positivas.

Figura 5.6: DI para as instâncias positivas de bridges-version1-CANTILEV, SU

Fonte: Elaborada pelo autor

O algoritmo Ridor apresenta baixos valores de DI para as instâncias da classe negativa e altos valores para as instâncias da classe positiva. Isso sugere que o modelo construído a partir desse algoritmo considera todas as instâncias apresentadas a ele como sendo da classe negativa. No dendrograma apresentado na Figura 5.7, vemos os agrupamentos formados pelos modelos analisados a partir do método Score-Uniform.

Nesse caso, é observado o mesmo agrupamento apresentado na Figura 5.4 formado por J48, PART, JRip, Ridor e ZeroR, que são os algoritmos que apresentam os piores resultados para esse problema. Porém, o agrupamento formado pelos algoritmos LWL e DecisionStump apresenta uma maior semelhança para esse método.

Outra diferença é vista nos agrupamentos contendo SMO-LIN, SMO-RBF,NaiveBayes, BayesNet, Logistice IB1. No método Score-Driven, esses algoritmos pertencem ao mesmo agrupamento. Já no método Score-Uniform, os algoritmos NaiveBayes, BayesNet e Logistic formam um agrupamento próprio, enquanto SMO-LIN, SMO-RBF e IB1 se associam a um outro agrupamento.

(44)

5.2. SIMILARIDADE LOCAL 43

Figura 5.7: Similaridade entre Algoritmos em bridges-version1:CANTILEV, SU

Fonte: Elaborada pelo autor

5.2.3

Rate-Driven

Os métodos baseados em score apresentados até então são recomendados quando se espera que o modelo gerado a partir de um algoritmo possa oferecer scores bem calibrados para as instâncias. Pode ocorrer de o modelo não apresentar esse comportamento, contudo ele pode produzir scores que permitam ordenar as instâncias de um problema de forma adequada. Para avaliar esse tipo de comportamento, pode ser utilizado o método Rate-Driven para avaliar o desempenho do algoritmo.

Na Figura 5.8, é ilustrado o desempenho dos algoritmos nas instâncias positivas de bridges-version1:CANTILEV.

(45)

Figura 5.8: DI para as instâncias negativas de bridges-version1-CANTILEV,RD

Fonte: Elaborada pelo autor

Diferente do que se foi observado no método Score-Driven, a maior parte dos algoritmos apresenta um IQR alto. As exceções são os algoritmos ZeroR,Ridor, Part, NNGe, JRip, J48 e IB1, que apresentam o mesmo valor de DI para praticamente todas as instâncias.

Podemos observar que, em geral, as instâncias negativas desse problema são mais difíceis de serem classificadas a partir do rank do que a partir dos scores.

Já as instâncias positivas apresentam um DI menor ao se comparar com os valores do Score-Driven.

A maior parte dos algoritmos apresenta valores de DI próximos a 0. Mesmo os algoritmos que apresentam valores mais altos de DI (ZeroR, Ridor, PART e J48), tem esses valores menores do que os observados nas instâncias positivas com o método Score-Driven.

Os agrupamentos formados com os modelos construídos com o método RD são ilustrados no dendrograma da Figura 5.10.

Nesse dendrograma, são observadas algumas semelhanças com o gerado pelo método SD. Os algoritmos ZeroR, PART e J48 também apresentam um resultado ruim para esse método e formam um agrupamento com uma alta similaridade. Contudo, o algoritmo Ridor não se apresenta tão relacionado com esses algoritmos, o que indica que para esse problema ele é melhor para ordenar as instâncias do que para oferecer valores scores bem calibrados.

Outra diferença é a separação dos algoritmos BayesNet e NaiveBayes. Tanto no método SD quanto no SU, esses algoritmos fazem parte de um agrupamento próprio. No caso do RD, apesar de eles estarem em um mesmo agrupamento, eles apresentam maiores similaridades com outros algoritmos.

(46)

5.2. SIMILARIDADE LOCAL 45

Figura 5.9: DI para as instâncias positivas de bridges-version1-CANTILEV,RD

Fonte: Elaborada pelo autor

Figura 5.10: Similaridade entre Algoritmos em bridges-version1:CANTILEV, RD

(47)

[SMO-RBF,SMO-LIN] e [DecisionStump, LWL]

5.2.4

Rate-Uniform

No caso de se desejar avaliar a capacidade de um algoritmo ordenar as instâncias de um problema e não houver informações confiáveis sobre o cenário de custo onde o algoritmo será aplicado, é recomendada a aplicação do método Rate-Uniform para a avaliação do desempenho.

A Figura 5.5 apresenta os valores de DI para as instâncias negativas do problema analisado.

Figura 5.11: DI para as instâncias negativas de bridges-version1-CANTILEV,RU

Fonte: Elaborada pelo autor

Nessa figura, é visto que os valores de DI são maiores do que os observados para o método RD. Exceto para os algoritmos ZeroR, Ridor, PART, NNge, J48, JRip e IB1, que apresentam menores valores de DI para esse caso.

Os valores de DI para as instâncias positivas estão expostos na Figura 5.12. Nesse caso. é observado um aumento dos valores de DI para todos os algoritmos. Tanto para as instâncias positivas quanto para as negativas, é observado um aumento do IQR nos algoritmos.

Para finalizar a análise do comportamento dos algoritmos no problema bridges-version1:CANTILEV, apresentamos o dendrograma na Figura 5.13.

Nesse dendrograma, o algoritmo Ridor se apresenta mais próximo do agrupamento formado por ZeroR, PART e J48, comportamento esse também observado nos métodos SD e SU.

Da mesma forma que observado na Figura 5.10, os algoritmos BayesNet e NaiveBayes não são tão próximos quanto é observado no uso dos métodos SD e SU.

(48)

5.2. SIMILARIDADE LOCAL 47

Figura 5.12: DI para as instâncias positivas de bridges-version1-CANTILEV,RU

Fonte: Elaborada pelo autor

Figura 5.13: Similaridade entre Algoritmos em bridges-version1:CANTILEV, RU

Referências

Documentos relacionados

Por isso, quando a quantidade de Oxigênio Dissolvido na água diminui, os peixes não conseguem compensar esta.. Diminuição, ficando prejudicados e,

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Tal será possível através do fornecimento de evidências de que a relação entre educação inclusiva e inclusão social é pertinente para a qualidade dos recursos de

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Considerando a importância do assunto, a variabilidade existente nas características físicas e a ausência de dados na literatura especializada referente a