algoritmos de classificação com a opção de rejeiçãoei04122/estadoarterelatorio... ·...

19
1 FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Algoritmos de Classificação Com a Opção de Rejeição Ezilda Duarte Almeida Relatório do Estado da Arte Mestrado Integrado em Engenharia Informática e Computação Orientador: Professor Doutor Jaime S. Cardoso Responsável no INESC Porto: Mestre Ricardo Jorge Gamelas de Sousa 29 de Janeiro de 2010

Upload: hatram

Post on 10-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

1

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

Algoritmos de Classificação

Com a Opção de Rejeição

Ezilda Duarte Almeida

Relatório do Estado da Arte

Mestrado Integrado em Engenharia Informática e Computação

Orientador: Professor Doutor Jaime S. Cardoso Responsável no INESC Porto: Mestre Ricardo Jorge Gamelas de Sousa

29 de Janeiro de 2010

2

Índice 1 Introdução ............................................................................................................................. 3

1.1 Enquadramento da Dissertação .......................................................................................... 3

1.2 Desafio ................................................................................................................................. 3

1.3 Motivação e Objectivos ....................................................................................................... 3

2 Revisão Bibliográfica .................................................................................................................. 4

2.1 Introdução ........................................................................................................................... 4

2.2 Classificação binária ............................................................................................................ 4

2.3 Classificação multi-classes ................................................................................................... 5

2.4 Classificação multi-classes nominal e ordinal ..................................................................... 5

2.5 Classificação binária com a opção de rejeição .................................................................... 6

2.6 Classificação multi-classes com a opção de rejeição .......................................................... 7

2.7 Revisão tecnológica ............................................................................................................. 9

2.7.1 Weka............................................................................................................................. 9

2.7.2 Matlab .......................................................................................................................... 9

2.7.3 PRTools ....................................................................................................................... 10

2.7.4 GNU/Octave ............................................................................................................... 10

2.7.5 LibSVM ........................................................................................................................ 11

2.7.6 Escolha da tecnologia ................................................................................................. 11

3 Algoritmos de aprendizagem automática ................................................................................ 11

3.1 SVM ................................................................................................................................... 11

3.1.1 SVMs para problemas binárias ................................................................................... 12

3.1.3 SVM com opção de rejeição ....................................................................................... 12

3.1.2 SVMs para problemas multi-classes ........................................................................... 13

3.2 Redes Neuronais ............................................................................................................... 14

3.2.1 Aplicações de Redes Neuronais ................................................................................. 14

3.3 Árvore de Decisão ............................................................................................................. 15

3.3.1 Classificadores baseados em árvores de decisão ....................................................... 15

4 Conclusão ................................................................................................................................. 16

5 Calendarização ......................................................................................................................... 16

5.1 Plano de trabalho .............................................................................................................. 16

5.2 Calendário ......................................................................................................................... 17

Bibliografia .................................................................................................................................. 18

3

1 Introdução

1.1 Enquadramento da Dissertação

Nos últimos anos, várias técnicas têm sido desenvolvidas e testadas visando encontrar

melhores resultados para sistemas inteligentes. As técnicas são direccionadas no sentido

de atribuir à máquina, capacidade de aprendizagem similar à de um ser humano, sendo a

classificação uma das principais tarefas que fazem parte das tais técnicas. Para melhorar

a confiança no processo de classificação introduz-se o conceito de rejeição. A rejeição

admite que um sistema de reconhecimento aplique uma decisão global de aceitar ou

recusar uma hipótese se o classificador não estiver suficientemente certo.

Uma evidência sobre a certeza é dada pelo valor da probabilidade atribuída às

hipóteses fornecidas pelo classificador. A recusa de uma hipótese pode acontecer

quando um padrão é ambíguo não podendo ser associado a uma classe com elevada grau

de confiança.

1.2 Desafio

O desafio deste trabalho é o desenvolvimento de algoritmos de classificação para

problemas de classificação multi-classes com a opção de rejeição.

1.3 Motivação e Objectivos

Os sistemas de apoio à decisão estão a tornar-se importantes em muitas actividades

humanas, sobretudo no domínio da medicina. Estes sistemas estão a tentar imitar, tanto

quanto possível, a decisão humana. A classificação é destacada como uma das

disciplinas de aprendizagem automática que assegura este poder a estes sistemas de

apoio à decisão. Para tornar estes sistemas ainda mais eficazes tem-se vindo a

desenvolver métodos onde a opção de rejeição introduz uma alternativa mais viável

quando a confiança na decisão é baixa. Portanto, o desenvolvimento de algoritmos de

classificação para um número qualquer de classes e com a opção rejeição é bastante

motivador.

O objectivo geral deste trabalho é estender o problema de classificação binária

com a opção de rejeição (dados ordinais) para problemas de classificação multi-classe

com a opção de rejeição (dados ordinais).

4

2 Revisão Bibliográfica

2.1 Introdução

Na presente secção é apresentada alguns métodos clássicos para a aprendizagem

automática de problemas binários e posteriormente as suas variantes para problemas

multi-classes. Neste ultimo, os problemas a analisar podem-se dividir em problemas

nominais ou ordinais. Para cada uma das abordagens mencionadas, vai ser analisada

alguns métodos do estado da arte para a sua resolução. A seguir vais ser feita uma

descrição da inclusão da opção de rejeição em classificadores binários e multi-classes e

os actuais métodos existentes.

Esta secção termina com a descrição das principais ferramentas utilizáveis no

âmbito da dissertação, justificando futuras escolhas.

2.2 Classificação binária

Na área de aprendizagem automática, a classificação consiste na atribuição de um valor

(classe) a uma determinada instância. Se o domínio dos valores a atribuir for constituído

apenas por dois elementos, trata-se então de um problema binário. Se tiver mais do que

dois elementos tem-se então um problema multi-classe.

Classificações binárias são frequentemente realizadas pelo uso de funções

g: x C 𝑅𝑚 →R com a seguinte estratégia: as amostras são designadas para a classe

positiva, se g(x) >= 0, e caso contrário, para a classe negativa.

A superfície de decisão será representada por um hiperplano na forma [16]:

g(x)=(𝑤𝑡x)+b=0,

onde w 𝜖 𝑅𝑚 é o valor de pesos, e b 𝜖 R é o bias.

Assim pode-se aplicar a seguinte estratégia de decisão:

Para descrever o lugar geométrico dos hiperplanos separados utiliza-se a seguinte forma

canónica onde o vector de peso w e o viés b são novamente escaladas de tal maneira a

atender as desigualdades [16]:

5

Para um dado vector de pesos w e viés b, a separação entre g(x)=(𝑤𝑡x)+b=0, e o dado

de entrada mais perto é chamado de margem de separação denotada por ρ. Sempre que

for positivo um ρ > 0 existirão infinitos hiperplanos, dentre os quais se busca um

hiperplano particular em que a margem de separação ρ é maximizada.

2.3 Classificação multi-classes

Os problemas de classificação reais apresentam normalmente um número de classes

superior a dois, sendo este tipo de problemas denominado de classificação multi-classe.

Na literatura existem diversos estudos sobre a estratégia de decompor os

problemas multi-classe em problemas binários. Uma solução é estender a SVM binária

a problemas de classificação multi-classe. Existem duas abordagens básicas para esta

extensão. A primeira é a redução do problema multi-classes a um conjunto de

problemas de classificação binária. Dois métodos usam essa abordagem: decomposição

“um-contra-todos” e “todos-contra-todos”. A segunda abordagem é a generalização de

SVMs binários para mais de duas classes. O método que utiliza essa abordagem é o

método de Crammer e Singer [1].

2.4 Classificação multi-classes nominal e ordinal

A diferença entre as quantidades nominais e ordinais é que os últimos apresentam uma

ordem entre os diferentes valores que podem assumir.

Os dados utilizados para exemplificar o método são referentes a um problema de

temperatura que considera os seguintes valores de temperatura: Quente, Ameno e Frio.

Primeiro, o problema ordinal K-Classe é decomposto em K-1problemas de classificação

binária. Durante a fase do treino começa por derivar novos conjuntos de dados a partir

do conjunto de dados originais. Existem dois conjuntos de dados derivados, o primeiro

tem um atributo de classe que representa Target> Frio e o segundo tem um atributo de

classe que representa Target> Ameno. Cada conjunto de dados contém o mesmo

número de atributos que o original, com os mesmos valores de atributos para cada

instância, além do atributo da classe. Nas próximas etapas o algoritmo de classificação é

aplicado para gerar um modelo para cada um dos novos conjuntos de dados. Para prever

o valor de classe de uma instância é preciso estimar as probabilidades de K classes

ordinais originais usando o modelo K-1. A estimação da probabilidade para o primeiro e

último valor da classe ordinal depende de um único classificador. A probabilidade do

primeiro valor ordinal (Frio) é dada por 1 - Pr (Target> Frio). Similarmente, o último

valor ordinal (Quente) é calculado a partir da Pr (Target> Ameno). Para valores de

classe no meio da escala, neste caso há apenas um (Ameno) a probabilidade depende de

um par de classificadores. Neste exemplo é dado pelo Pr (Target> Frio) - Pr (Target>

Amena). Em geral, para os valores da classe Vi [2],

Pr(V1 ) = 1 - Pr (Target > V1) (1)

Pr(Vi ) = Pr (Target > Vi-1) - Pr (Target> Vi) , 1 < i < k (2)

6

Pr(Vk) = Pr (Target > Vk-1) (3)

Uma instância da classe desconhecida é processado por cada um dos K-1

classificadores e a probabilidade de cada um dos valores da classe K ordinal é calculado

utilizando o método acima. A classe com probabilidade máxima é atribuída à instância

[2].

2.5 Classificação binária com a opção de rejeição

A opção de rejeição é uma técnica utilizada para melhorar o desempenho de sistemas de

reconhecimento de padrões.

Os métodos de apoio à decisão têm evoluído de forma a reproduzir as mesmas

acções de um decisor humano. No entanto, estes métodos não estão livres de erros.

Assim, tem-se vindo a desenvolver paradigmas onde a opção de rejeição introduz uma

alternativa mais viável quando a confiança na decisão é baixa. Nestes casos o sistema

não emite nenhuma solução e remete-a para um decisor humano.

Na classificação binária o classificador desenvolvido tem como objectivo dividir

o espaço das características em duas regiões, cada uma destas regiões corresponde a

cada uma das classes.

Figura 2-2 – Classificador binário com a opção de rejeição [3]

Classificador binário com a opção de rejeição pode ser analisado através de três

diferentes abordagens:

Dois classificadores independentes. O primeiro classificador é treinado para

saída C-1 somente quando a probabilidade de C-1 é elevado, um segundo

classificador é treinado para saída C+1 somente quando a probabilidade de C+1 é

elevado. A simplicidade desta estratégia tem a desvantagem o cruzamento das

fronteiras, levando a regiões com uma decisão não lógica [3].

7

Um único classificador binário padrão. Esta abordagem já não fornece

cruzamento das fronteiras. Um padrão é rejeitada se o máximo das duas

probabilidades posterior for menor que um determinado limiar. Se o

classificador não fornecer saídas probabilística um limiar de rejeição apontado

ao classificador específico é utilizado. A região de rejeição é determinada após o

treino do classificador, definindo valores limite adequados sobre a saída do

classificador [3].

Um único classificador com opção de rejeição incorporado. Esta abordagem

consiste no desenvolvimento de algoritmos especificamente adaptados para este

tipo de problemas [11], [12].

Nos problemas de classificação com a opção de rejeitar, o objectivo é de obter um erro

mínimo, minimizando o número de casos rejeitados. No entanto, quando o número dos

casos rejeitados diminui o erro de classificação aumenta, e diminuir um erro de

classificação geralmente tem de aumentar a região de rejeição. O equilíbrio entre esses

dois objectivos conflituantes depende da relação dos custos associados.

2.6 Classificação multi-classes com a opção de rejeição

O problema da classificação com a opção de rejeição estende se também a problemas

multi-classes.

Para formalizar a rejeição usa a notação de confiança associada a uma hipótese.

Considera um problema de classificação atribuído a um classificador C que fornece na

saída uma medida de confiança ci para cada uma das “c” classes pertencentes ao

problema. Quando um exemplo é apresentado ao classificador, este deve atribuir uma

medida de confiança a cada uma das c classes as quais este exemplo possa pertencer.

Posteriormente, conhecidas as medidas de confiança (c1, c2... cc) fornecidas pelo

classificador, uma estratégia de rejeição pode ser aplicada. A decisão de aceitar ou

rejeitar um exemplo é controlada por um limiar t. Quando um exemplo possui medidas

de confiança ĉ ≥ t onde ĉ = max cj , 1 ≤ j ≤ c ele é aceite, enquanto exemplos com ĉj < t

são rejeitados. O objectivo de aplicar uma estratégia de rejeição em um dado problema é

encontrar um valor óptimo para T [6]. Quando este valor é encontrado uma estratégia de

rejeição consegue rejeitar todos os exemplos incorrectamente classificados pelo

classificador e também aceitar todos os exemplos correctamente classificados. A seguir

apresenta as estratégias de rejeição descritas na literatura:

Rejeição com um limiar (Chow) - Este mecanismo é proporcionado pela regra de

Chow [7]. Apenas um limiar T é utilizado para todas as classes do problema. De

acordo com a regra de Chow uma instância é rejeitada caso obedeça a Equação 5,

por outro lado, uma instância x é aceite e associada a classe caso obedeça a Equação

6.

max𝑘=1,…,𝑁 𝑃 (wk | x) = P(wi | x) < T (5)

8

Onde T ∈[0,1]

max𝑘=1,…,𝑁 𝑃 (wk | x) = P(wi | x) ≥ T (6)

Rejeição com múltiplos limiares (Fumera) - É utilizada um limiar para cada classe

do problema. Para esta estratégia uma instância x é rejeitada caso obedeça a

Equação 3. Enquanto, uma instância x é aceita e associada á classe wi, caso obedeça

a Equação 4. Portanto, utilizando o mecanismo CRT para uma tarefa de

classificação com N classes de dados caracterizadas por probabilidades a posteriori

estimadas Ṕ(wi | x), i = 1, ...,N.

max𝑘=1,…,𝑁 Ṕ (wk | x) = Ṕ (wi | x) < Ti (7)

Onde T ∈[0,1]

max𝑘=1,…,𝑁 Ṕ (wk | x) = Ṕ (wi | x) ≥ Ti (8)

Rejeição utilizando a diferença entre os valores de confiança (DIF) - A

sua implementação é obtida calculando a diferença entre os dois maiores níveis de

confiança obtidos na saída da RNA [6].

Rejeição com múltiplos limiares (FumeraMod)- Esta estratégia é baseada na ideia

da estratégia gulosa, ou seja, encontra uma solução óptima para cada classe

pretendendo chegar a uma solução óptima global para o problema da rejeição. Neste

caso, busca os limiares óptimos locais considerando uma classe de cada vez, para

obter os limiares é necessário dividir o conjunto de validação em vários

subconjuntos, sendo um para cada classe. A aplicação do mecanismo de rejeição é

realizada da mesma forma que as estratégias anteriores [6].

Rejeição utilizando Média das Classes (Class Average) - Esta estratégia é um

método heurístico para calcular um suposto limiar óptimo a ser adoptado como

critério de rejeição. Aqui, o limiar é obtido de forma automática em relação ao

conjunto de dados para encontrar a média de um conjunto de valores. Neste caso,

extraí a média de um subconjunto (classe seleccionada) considerando somente os

exemplos correctamente classificados de uma determinada classe [6].

Rejeição utilizando Média da Classes e Desvio Padrão - Esta estratégia é

derivada da anterior. Neste caso além de calcular a média calculamos também o

desvio padrão para os dados correctamente classificados. O limiar é obtido através

da diferença desses dois valores [6].

9

2.7 Revisão tecnológica

Nesta secção é apresentado os resultados de uma revisão da literatura referente às

principais ferramentas utilizáveis no âmbito da dissertação, justificando futuras

escolhas.

2.7.1 Weka

O pacote de software Weka (Waikato Environment for Knowledge Analysis) começou a

ser escrito em 1993, usando Java, na Universidade de Wakato, Nova Zelândia sendo

adquirido posteriormente por uma empresa no final de 2006. O Weka encontra-se

licenciado ao abrigo da General Public License sendo portanto possível estudar e alterar

o respectivo código fonte.

O Weka tem como objectivo agregar algoritmos provenientes de diferentes

abordagens/paradigmas na subárea da inteligência artificial dedicada ao estudo da

aprendizagem automática. Essa subárea pretende desenvolver algoritmos e técnicas que

permitam a um computador “aprender” (no sentido de obter novo conhecimento) quer

indutiva querem dedutivamente.

Esta ferramenta é implementada em Java, além de conter vários algoritmos de

Machine Learning possui ainda ferramentas de pré-processamento, classificação e

visualização dos dados.

Figura 2-3 – Logótipo do WEKA

2.7.2 Matlab

MATLAB (Mathworks Inc.) é uma IDE com ambiente interactivo que possibilita o

desenvolvimento de algoritmos, visualização de análise de dados, computação numérica

ou simbólica, possuindo, adicionalmente, excelentes recursos gráficos 2D e 3D. Pode

ser usado em variadas aplicações, contando com toolboxes específicos para

processamento de sinal, comunicação, controle, simulação, redes neurais, modelagem

financeira e muitos outros. O código de cada uma dessas aplicações, desenvolvido por

experts em cada área, é altamente eficiente, de execução extremamente rápida por

10

bibliotecas, processador dependentes, são optimizadas para as diferentes plataformas

suportadas pelo MATLAB. Os códigos fontes dos mesmos são robustas e

internacionalmente reconhecida como standard em suas áreas de aplicação. O código

gerado em MATLAB pode ser integrado noutras linguagens de programação e

aplicações desenvolvidas em C, C++, Delphi, Java, Excel etc., e os seus algoritmos

podem, assim, ser livremente distribuídos [8].

Figura 2-4 – Logótipo do MATLAB

2.7.3 PRTools

O PRTools é uma ferramenta, baseada no Matlab, para aplicações de reconhecimento de

padrões. Sua utilização é livre para pesquisas académicas. Suas funcionalidades incluem

geração de bases de dados aleatórias para testes e treinos, além de várias funções de

mapeamentos das bases de dados para aplicações de aprendizagem de máquina, como,

por exemplo, funções de treino de Redes Neuronais Artificiais, classificadores lineares,

etc. Para avaliação dos dados, o PRTools permite encontrar o erro de teste, dentre várias

outras medidas para verificação da eficiência de funções [8].

2.7.4 GNU/Octave

O GNU Octave é um software Open Source (de código aberto) distribuído sob licença

GNU General Public License (GPL) escrito por John W. Eaton que tem funções

bastante semelhantes ao MATLAB.

O Octave provê uma interface em linha de comando para solução de problemas

lineares e não lineares. Ele também funciona como uma linguagem de programação em

batch e possui uma extensa biblioteca para resolução dos problemas mais comuns em

álgebra linear. É facilmente extensível usando funções definidas pelo usuário criadas em

linguagem própria do Octave ou carregando módulos escritos em C/C++, Fortran e

outras linguagens [10].

Figura 2-5 – Logótipo do GNU/Octave

11

2.7.5 LibSVM

O LIBSVM é uma biblioteca de implementações de SVM desenvolvida por Chin-

Chung Chang [17] com várias finalidades: classificação, regressão e estimativa de

distribuição. Um dos algoritmo de classificação implementado na biblioteca leva o

nome de C-SVC.

2.7.6 Escolha da tecnologia

Em termo das tecnologias descritas na literatura pretende-se usar o MATLAB para o

desenvolvimento da dissertação. Os motivos que levaram à escolha do MATLAB é que

como já foi referido anteriormente o MATLAB possui o código das aplicações

eficientes e robustos e é internacionalmente reconhecido como standard, o código

gerado em MATLAB pode ser integrado noutras linguagens de programação e

aplicações desenvolvidas em C, C++, Delphi, Java, Excel etc, conhecimento prévio da

utilização do software e também por ser usado no grupo da instituição de acolhimento.

A biblioteca que vai ser usada é a libSVM porque permite criar aplicações com

Support Vector Machines, e é o método de machine learning provavelmente mais

eficiente que existe, e que alegadamente consegue melhores resultados do que as

Feedforward Backpropagation Neural Networks (BPNN).

3 Algoritmos de aprendizagem automática

Aprendizagem automática (AM) é um campo de pesquisa da Inteligência Artificial que

estuda o desenvolvimento de métodos capazes de extrair conhecimento a partir de

amostras de dados.

Em geral, os diversos algoritmos de AM são utilizados de forma a gerar

classificadores para um conjunto de exemplos. Ao longo desta secção vai ser

apresentados algumas técnicas de aprendizagem automática.

3.1 SVM

Máquinas de Vectores Suporte (Support Vector Machines - SVMs) é uma técnica de

Aprendizagem de Máquina que vem recebendo grande atenção nos últimos anos. As

SVMs vêm sendo utilizadas em diversas tarefas de reconhecimento de padrões, obtendo

resultados superiores aos alcançados por técnicas similares em várias aplicações.

Algumas das principais características das SVMs que tornam seu uso atractivo

são (Smola et al., 1999b):

• Boa capacidade de generalização: os classificadores gerados por uma SVM em geral

alcançam bons resultados de generalização. A capacidade de generalização de um

12

classificador é medida por sua eficiência na classificação de dados que não pertençam

ao conjunto utilizado em seu treino.

• Robustez em grandes dimensões: as SVMs são robustas diante de objectos de

grandes dimensões, como, por exemplo, imagens.

• Convexidade da função objectiva: a aplicação das SVMs implica na optimização

de uma função quadrática, que possui apenas um mínimo global. Esta é uma vantagem

sobre, por exemplo, as Redes Neurais Artificiais, em que há a presença de mínimos

locais na função objectiva a ser minimizadas.

• Teoria bem definida: as SVMs possuem uma base teórica bem estabelecida dentro

da Matemática e Estatística.

3.1.1 SVMs para problemas binárias

Num problema de classificação binária o funcionamento de uma SVM é descrito da

seguinte forma: atribuída duas classes e um conjunto de pontos que pertencem a essas

classes uma SVM determina o hiperplano óptimo que separa os pontos de forma a

colocar o maior número de pontos da mesma classe do mesmo lado, enquanto maximiza

a distância de cada classe a esse hiperplano. A distância de uma classe a um hiperplano

é a menor distância entre ele e os pontos dessa classe e é chamada de margem de

separação. O hiperplano gerado pela SVM é determinado por um subconjunto dos

pontos das duas classes, a que se dá o nome vectores suporte [1].

A classificação binária usando SVM pode ser feita em duas etapas: treino e teste.

Na fase de treino, o objectivo é criar um classificador que funcione bem para qualquer

amostra de um conjunto de dados. Já a fase de teste é quando são usadas amostras de

dados que não foram usadas na obtenção do classificador, para verificar a generalização

do mesmo [1].

3.1.3 SVM com opção de rejeição

Sento a opção de rejeição muito útil para proteger aplicações contra excesso de erros de

classificação, torna-se importante ter uma SVM com a opção de rejeição incorporada.

Segundo o estudo feito por Fumera e Roli [13] uma SVM com a opção de

rejeição é implementada usando duas abordagens. O primeiro utiliza como medida de

confiança de classificação da distância d(x) de um padrão de entrada x do hiperplano de

separação óptimo, no espaço característica induzida pelo kernel escolhido. A regra de

rejeição consiste na rejeição de padrões para os quais d(x) seja inferior a um limiar pré-

definido. Uma vez que o valor absoluto f(x) da produção de uma SVM é proporcional

ao d(x), essa regra é implementada através da aplicação de um limiar de rejeição para

f(x). A segunda abordagem para a execução da opção de rejeição em SVMs consiste no

mapeamento de suas saídas para probabilidades posterior, de modo que a regra de Chow

pode ser aplicada.

13

Yves Grandvalet e seus colaboradores [14] criticou a abordagem proposta por Fumera e

Roli porque a abordagem deles violavam algumas das características mais atraentes das

SVMs como convexidade e dispersão. Eles introduziram um critério de formação linear

por partes e convexa dedicada ao problema de classificação com a opção de rejeitar. A

proposta deles, inspirada na interpretação probabilística de montagem SVM (Grandvalet

et al., 2006), é uma dobradiça de dupla perda, reflectindo os dois limiares na regra de

Chow. Portanto, generalizaram-se a perda sugerido por Bartlett e Wegkamp (2008) para

erros arbitrário de classificação assimétrica e custos de rejeição. Para o caso simétrico, o

seu ponto de vista probabilístico motiva outra regra de decisão. Propôs-se um primeiro

algoritmo dedicado especificamente para treinar SVMs com uma dupla Hinge loss.

3.1.2 SVMs para problemas multi-classes

As SVMs são originalmente utilizadas para classificação dos dados em duas classes

distintas. Estas podem ser denominadas positivas e negativas, respectivamente.

Contudo, muitas aplicações envolvem o agrupamento em mais de duas classes. Este

facto não inviabiliza o uso das SVMs. Diversas técnicas são propostas para estende-las

multi-classes.

Em um problema multi-classes, o conjunto de treino é composto por pares (xi,

yi). De fato, qualquer método para gerar classificadores multi-classes a partir de

preditores binários pode utilizar as SVMs como base.

As duas abordagens usuais para a realização dessa tarefa, são denominadas,

respectivamente, decomposição “um-contra-todos” e “todos-contra-todos”.

Decomposição “um-contra-todos”

Para a solução de um problema multi-classes a partir de SVMs, uma abordagem usual

consiste na geração de k SVMs, onde k é o número de classes (Weston and Watkins,

1998).

Na criação de cada uma dessas máquinas, uma classe é fixada como positiva e as

restantes como negativas. Esta metodologia é denominada decomposição “um-contra-

todos” (1-c-t) e é independente do algoritmo de aprendizagem utilizado no treino dos

classificadores.

O método 1-c-t tem a desvantagem de não ser possível prever limites no erro de

generalização através de seu uso. Além disso, seu tempo de treino usualmente longo.

Decomposição “todos-contra-todos”

Outra abordagem para solução de problemas multi-classes a partir de classificadores

binários envolve a construção de k (k − 1)/2 SVMs, separando cada classe de outra,

método denominado “todos-contra-todos” (t-c-t). Para unir estes classificadores, propôs

o uso de um esquema de votação por maioria, em que cada um dos classificadores

fornece uma classe como resultado. A solução final é dada pela classe que recebeu mais

indicações. Esta metodologia também não provê limites no erro de generalização. Além

disso, o tamanho dos classificadores gerados é em geral grande e a avaliação de seu

resultado pode ser lenta.

14

3.2 Redes Neuronais

Uma rede neuronal trata-se de uma complexa estrutura formada por neurónios e suas

conexões, capaz de processar informações adquiridas a fim de armazená-las e aprender

sobre elas, classificando-as por meio de padrões.

Cada neurónio é conectado a n outros neurónios por meio de dendritos (por onde

os impulsos chegam) e axônio (por onde os impulsos são transmitidos).

O neurónio biológico é composto por três partes:

Dendritos - recebem os sinais de outros neurónios e os conduzem até o soma;

Soma - região da célula capaz de efectuar o somatório dos impulsos recebidos e,

caso o impulso seja suficiente, transmitirá novos impulsos a outros neurónios

por meio do axônio;

Axônio - parte do neurónio que conduz os impulsos produzidos pela mesma até

outros neurónios.

Em uma rede neuronal, cada neurónio recebe impulsos de vários neurónios (x1, x2, …,

xn), aplica pesos sobre cada um desses impulsos (w1, w2, …, wn), efectua o somatório

desses valores (y_in), processando então por meio de alguma função a fim de encontrar

um valor resultante (y) que irá lhe dizer se deve ou não transmitir novos impulsos a

novos neurónios (z1, z2, …, zn) e quais devem ser os novos pesos (v1, v2, …, vn) [15].

3.2.1 Aplicações de Redes Neuronais

Várias são as possíveis aplicações de Redes Neuronais, devido à capacidade de

aprendizagem que as mesmas possuem. Sendo assim, algumas das que podemos

destacar aqui são [15]:

Processamento de sinais, como em uma linha telefónica, por exemplo, onde se

podem utilizar redes neuronais a fim de eliminar ruídos e ecos nas chamadas

telefónicas, causados por interferências. Redes do tipo ADALINE podem ser

aplicadas para essa finalidade;

Controle de navegação e movimentação de veículos automatizados;

Reconhecimento de padrões, onde redes neuronais multi-camada são largamente

empregadas;

Aplicações na medicina, onde uma rede neural pode ser treinada para reconhecer

os sintomas e, assim, diagnosticar o tratamento adequado;

Reconhecimento e reprodução de voz.

15

3.3 Árvore de Decisão

Uma árvore de decisão um modelo prático de uma função recursiva que determina o

valor de uma variável e, baseando-se neste valor, executa-se uma acção. Esta acção

pode ser a escolha de outra variável ou a saída. As árvores de decisão são treinadas de

acordo com um conjunto de “exemplos previamente classificados” e, posteriormente,

outros exemplos são classificados de acordo com essa mesma árvore.

A construção de uma árvore de decisão parte da descrição de um problema do

qual deve ser especificado as variáveis, acções e a sequência lógica para a tomada de

decisão. Depois de construída teremos uma visão gráfica da tomada de decisão.

3.3.1 Classificadores baseados em árvores de decisão

Os classificadores baseados em árvores de decisão procuram encontrar formas de

dividir sucessivamente o universo em vários subconjuntos (criando para tal nós

contendo os testes respectivos) até que cada um deles contemple apenas uma classe ou

até que uma das classes demonstre uma clara maioria não justificando posteriores

divisões (gerando nessa situação uma folha contendo a classe maioritária). Como é

evidente, a classificação consiste apenas em seguir o caminho ditado pelos sucessivos

testes colocados ao longo da árvore até que seja encontrada uma folha que conterá a

classe a atribuir ao novo exemplo [18].

De entre todos os aspectos determinantes na selecção de um algoritmo de construção de

árvores de decisão alguns deles devem ser destacados pela sua importância:

• Critério para a escolha da característica a utilizar em cada nó.

• Como calcular a partição do conjunto de exemplos.

• Quando decidir que um nó é uma folha.

• Qual o critério para seleccionar a classe a atribuir a cada folha.

Para além destes aspectos, muitos outros tais como a aplicação de janelas sobre o

conjunto de treino e a aplicação de processamentos de redução das árvores designados

como processos de poda, são determinantes no desempenho final deste tipo de sistemas.

Algumas vantagens importantes podem ser apontadas às árvores de decisão,

nomeadamente:

• Podem ser aplicadas a qualquer tipo de dados.

16

• A estrutura final do classificador é bastante simples podendo ser guardada e

manipulada de uma forma bastante eficiente.

• Manipula de uma forma muito eficiente informação condicional subdividindo o espaço

em sub-espaços que são manipulados individualmente.

• Revelam-se normalmente robustos e insensíveis a erros de classificação no conjunto

de treino.

• As árvores resultantes são normalmente bastante compreensíveis podendo ser

facilmente utilizadas para se obter uma melhor compreensão do fenómeno em causa.

Esta é talvez a mais importante de todas as vantagens enunciadas.

4 Conclusão

Tendo em vista o estudo efectuado nas áreas explicadas nas secções anteriores,

compreende-se que nos últimos anos, várias técnicas têm sido desenvolvidas e testadas

visando encontrar melhores resultados para sistemas inteligentes. A busca é

direccionada no sentido de atribuir à máquina, capacidade de aprendizagem e

generalização similar a de um ser humano, sendo a classificação uma das principais

tarefas que fazem parte de tais técnicas. Visando melhorar o processo de classificação, o

conceito de rejeição admite que um sistema de reconhecimento aplique uma decisão

global de aceitar ou recusar uma hipótese se o classificador não estiver certo o

suficiente.

Pode-se dizer que apesar de muitos estudos sobre algoritmos de classificação

com opção de rejeição, ainda não foi estudado na totalidade a classificação multi-classe

com a opção de rejeição, onde à preservação da ordem nos atributos das classes.

5 Calendarização

5.1 Plano de trabalho

O plano de trabalho que se encontra estipulado até o momento é o seguinte:

Figura 5-1 – Plano de trabalho

17

5.2 Calendário

Calendário estabelecido de acordo com o estipulado no Regulamento de Projecto

/Dissertação do MIEIC, nomeadamente no Artigo 9º - Funcionamento das ocorrências.

Data limite para disponib. de fichas e

páginas Web dos estudantes

18-09-09

Data limite para apresentação de

propostas de projectos

18-09-09

Data limite para publicação das propostas

aceites 02-10-09

Data limite para candidaturas de

estudantes aos projectos

13-10-09

Data limite para seriação de estudantes

pelos proponentes

26-10-09

Data limite para atribuição de projectos a

estudantes 28-10-09

Data limite para realização de convites a

orientadores por parte de estudantes 02-11-09

Data limite para nomeação de

orientadores 02-11-09

Data de início da preparação da

Dissertação (excepto período prévio com

aulas)

02-11-09

Data de início da realização da

Dissertação 22-02-10

Data limite para entrega de protocolos e

outra documentação

22-03-10

Data limite para montagem de páginas

web dos projectos

22-03-10

Data limite para a nomeação dos júris 22-03-10 Data limite para a disponibilização da

documentação provisória (fim de

projecto)

28-06-10

Início do período de realização de provas

públicas 12-07-10

Fim do período de realização de provas

públicas 23-07-10

Data limite para entrega da documentação

definitiva 26-07-10

Tabela 5-1 – Calendário estabelecido de acordo com o estipulado no Regulamento de Projecto

/Dissertação do MIEIC

18

Bibliografia [1] Adriana Chaves, “Extração de Regras de Fuzzy para Máquinas de Vector Suporte

(SVM) para Classificação em Múltiplas Classes”, pp. 13-16, 2004.

[2] Eibe Frank and Mark Hall, “A Simple Approach to Ordinal Classification”, Working

Paper Series ISSN 1170-487X, pp.2-5, 2001.

[3] Ricardo Sousa, Beatriz Mora and Jaime S. Cardoso, “An Ordinal Data Method for

the Classification with Reject Option”, pp.1-5.

[4] G. Fumera and F. Roli, “Support Vector Machines with Embedded Reject Option,”

in SVM ’02: Proceedings of the First International Workshop on Pattern Recognition

with Support Vector Machines. London, UK: Springer-Verlag, 2002, pp. 68–82.

[5] A. Bounsiar, P. Beauseroy, and E. Grall-Maes, “General solution and learning

method for binary classification with performance constraints,” Pattern Recognition

Letters, vol. 29, no. 10, pp. 1455–1465, 2008.

[6] Andréia Marini and Alessandro L. Koerich, “Estratégias de Rejeição para

Problemas Multiclasses”, XXXIV Conferencia Latinoamericana de Informática (CLEI

2008), pp. 162-171, 2008.

[7] C. K. Chow, “On Optimum Recognition Error and Reject Tradeoff” , In IEEE

Transactions in Information Thoery, 16, 41-46, 1 (1970).

[8] Daniel Gomes, “Detecção de intrusão em Redes de Computadores utilizando

classificadores One-Class ”,Tese, pp.31-39, 2006.

[9] André Gonçalves, “Aplicações de Técnicas de Aprendizagem de Máquinas”.

[10] Ilueny Santos and Robinson Alves, “Estudo para Identificação de Promotores

Procarióticos Através de Classificação Bayesiana”.

[11] R. El-Yaniv, D. Pechyony, and E. Yom-Tov, “Better multiclass classification

via a margin-optimized single binary problem,” Pattern Recognition Letters, vol. 29, pp.

1954–1959, 2008.

[12] J. S. Cardoso and J. F. P. da Costa, “Learning to classify ordinal data: the

data replication method,” Journal of Machine Learning Research, vol. 8,

pp. 1393–1429, 2007.

[13]G. Fumera and F. Roli, “Support Vector Machines with Embedded Reject Option,”

in SVM ’02: Proceedings of the First International Workshop

on Pattern Recognition with Support Vector Machines. London, UK:

Springer-Verlag, 2002, pp. 68–82.

[14] Yves Grandvalet , Alain Rakotomamonjy, Joseph Keshet and Stéphane Canu;

“Support Vector Machines with a Reject Option”, pp.2-6.

19

[15] Miguel Ângelo Moreira, Introdução às Redes Neuronais Artificiais, Tese,

pp.21-48, 1994.

[16] Marcelo Corrêa, Cairo Lúcio and Thiago Marques; “Técnicas de Redes Neuronais

pata Reconhecimento de Caracteres: Um estudo comparativo”, pp.1-4.

[17] C.-C. Chang and C.-J.Lin.” LIBSVM: a library for support vector machines, 2001”.

[18] José Manuel; “Indução de Árvores de Decisão”