algoritmos de classificação com a opção de rejeiçãoei04122/estadoarterelatorio... ·...
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”