• Nenhum resultado encontrado

UMA PROPOSTA DE ESTRATIFICAÇÃO DE DADOS PARA SELEÇÃO DE INSTÂNCIAS EM APRENDIZADO DE MÁQUINA SEMISSUPERVISIONADO. CAINAN TEIXEIRA ALVES

N/A
N/A
Protected

Academic year: 2021

Share "UMA PROPOSTA DE ESTRATIFICAÇÃO DE DADOS PARA SELEÇÃO DE INSTÂNCIAS EM APRENDIZADO DE MÁQUINA SEMISSUPERVISIONADO. CAINAN TEIXEIRA ALVES"

Copied!
80
0
0

Texto

(1)

CENTRO DE ENSINO SUPERIOR DO SERIDÓ

DEPARTAMENTO DE COMPUTAÇÃO E TECNOLOGIA

BACHARELADO EM SISTEMAS DE INFORMAÇÃO

UMA PROPOSTA DE ESTRATIFICAÇÃO DE DADOS PARA SELEÇÃO DE

INSTÂNCIAS EM APRENDIZADO DE MÁQUINA

SEMISSUPERVISIONADO.

CAINAN TEIXEIRA ALVES

Caicó - RN

2018

(2)

UMA PROPOSTA DE ESTRATIFICAÇÃO DE DADOS PARA SELEÇÃO DE

INSTÂNCIAS EM APRENDIZADO DE MÁQUINA

SEMISSUPERVISIONADO.

Trabalho de Conclusão de Curso II, apresentado ao Curso de Bacharelado em Sistemas de Informação da Universidade Federal do Rio Grande do Norte, como parte dos requisitos para obtenção do grau de Bacharel em Sistemas de Informação.

Orientador(a): MSc. Amarildo Jeiele Ferreira de Lucena.

Co-orientador(a): MSc. Karliane Medeiros Ovidio Vale.

Caicó - RN

2018

(3)

Primeiramente, agradeço a minha família por todo o apoio, especialmente minha mãe, Maria Nair Teixeira Neta, e minha avó, Maria Salete Teixeira de Souza, por serem minhas principais referências em educação e integridade pessoal. São as pessoas que me mostraram o verdadeiro sentido de ser coerente com meus princípios e valores morais.

Agradeço também aos meus amigos, por terem sido meu refúgio do estresse através dos momentos de zoeira e descontração, por estarem presentes durante as fases difíceis e principalmente por não falharem na tarefa denominada amizade. Em especial aos colegas do Laboratório de Inteligência Computacional Aplicada a Negócios, por dividirem comigo as manhãs de LabCoffee e os períodos em que obtive grande parte do conhecimento adquirido durante a graduação.

Ao meu orientador, Prof. MSc. Amarildo Jeiele Ferreira de Lucena, por ter acreditado na minha capacidade e me aceitado como seu orientando, oferecendo sempre ensinamentos e colaborações durante a pesquisa.

A minha co-orientadora, Profa. MSc. Karliane Medeiros Ovidio Vale, por ter influência direta nesta pesquisa, me proporcionando grande parte do aprendizado obtido nesta fase tão importante da minha graduação e consequentemente da vida.

Aos docentes Prof. Dr. Flavius da Luz e Gorgônio, Profa. Dra. Anne Magaly de Paula Canuto, Prof. Dr. Araken de Medeiros Santos e Prof. Dr. João Paulo de Souza Medeiros, por fazerem parte deste estudo por meio de importantes contribuições.

(4)

Algoritmos e métodos capazes de aprender por meio de poucos exemplos rotulados são de grande necessidade em aplicações reais, devido a dificuldade para conseguir conjuntos com dados relevantes e corretamente rotulados para a tarefa de classificação. Estes algoritmos normalmente complementam suas bases de dados com uma quantidade maior de instâncias até então sem rótulo, de forma que os classificadores possam gerar predições mais precisas. Contudo, é necessário que haja uma automatização do processo de rotulação dos exemplos sem rótulo. O Flexible Confidence with Classifier (FlexCon-C), método baseado no algoritmo self-training, utiliza um limiar flexível que rotula de acordo com a confiança das instâncias previstas. No entanto, a escolha dos rótulos se concentra apenas na confiabilidade pertinente aos exemplos, demonstrando uma falta de controle com relação as classes inseridas. Com base nisso, este estudo teve como objetivo adaptar o FlexCon-C para o uso de estratificação durante a inclusão dos exemplos no conjunto de treinamento. Para a realização de experimentos, a fim de obter resultados propícios a uma avaliação, foram elencadas trinta e uma bases de dados e atribuídas cinco configurações para dados rotulados inicialmente, onde foram aplicados quatro classificadores para obtenção de resultados relacionados ao desempenho. Os resultados mostraram que o método proposto obteve melhor desempenho quando os experimentos foram aplicados a poucos dos dados rotulados inicialmente, evidenciando que a estratificação é mais eficaz quando se tem pouquíssimos exemplos rotulados.

(5)

Algorithms and methods capable of learning throught a few labeled examples are of great necessity in real applications, as there is a difficulty in achieving sets with relevant and correctly labeled data for the classification task. These algorithms usually complement their databases with a larger number of unlabeled instances so that classifiers can generate more accurate predictions. However, there is a need to automate the labeling process of the unlabeled examples. The flexible Confidence with Classifier (FlexCon-C), a method based on the self-training algorithm, uses a flexible threshold that labels according to the predicted instances trust. However, the labels are chosen based only on the confidence degree of the examples, which demonstrates a lack of control over the inserted classes. With this, the objective of this study was to adapt FlexCon-C to the use of data stratification during the inclusion of examples in the training set. To perform the experiments to obtain favorable results for evaluation, thirty one databases were assigned and five settings were assigned to initially labeled data, where four classifiers were applied to obtain performance-related results. The findings showed that the proposed method performed better when the experiments were applied to a few of the initially labeled data, showing that stratification is more effective when there are few labeled examples.

(6)

Figura 1 – Hierarquia do aprendizado indutivo. . . 20

Figura 2 – Aprendizado semissupervisionado. . . 21

Figura 3 – Árvore de Decisão. . . 25

Figura 4 – Decisão estruturada em árvore. . . 25

Figura 5 – Representação do KNN. . . 27

Figura 6 – Estratificação de dados . . . 32

Figura 7 – Desempenho Geral dos Métodos . . . 41

(7)

Tabela 1 – Bases de Dados. . . 34

Tabela 2 – Desempenho médio utilizando o classificador Naive Bayes . . . 35

Tabela 3 – Desempenho médio utilizando o classificador Árvore de decisão . . . 36

Tabela 4 – Desempenho médio utilizando o classificador Ripper . . . 37

Tabela 5 – Desempenho médio utilizando o classificador k-NN . . . 37

Tabela 6 – Ranking de desempenho utilizando o classificador Naive Bayes . . . 38

Tabela 7 – Ranking de desempenho utilizando o classificador Árvore de decisão . . . . 39

Tabela 8 – Ranking de desempenho utilizando o classificador Ripper . . . 39

Tabela 9 – Ranking de desempenho utilizando o classificador k-NN. . . 40

Tabela 10 – Resultados do teste de Wilcoxon . . . 43

Tabela 11 – Resultados do FlexCon-C1S (soma) com Árvore de decisão . . . 51

Tabela 12 – Resultados do FlexCon-C1S (soma) com Naïve Bayes . . . 52

Tabela 13 – Resultados do FlexCon-C1S (soma) com Ripper . . . 53

Tabela 14 – Resultados do FlexCon-C1S (soma) com k-NN. . . 54

Tabela 15 – Resultados do FlexCon-C1S (votação) com Árvore de decisão. . . 56

Tabela 16 – Resultados do FlexCon-C1S (votação) com Naïve Bayes . . . 57

Tabela 17 – Resultados do FlexCon-C1S (votação) com Ripper. . . 58

Tabela 18 – Resultados do FlexCon-C1S (votação) com k-NN . . . 59

Tabela 19 – Resultados do FlexCon-C2S com Árvore de decisão . . . 61

Tabela 20 – Resultados do FlexCon-C2S com Naïve Bayes . . . 62

Tabela 21 – Resultados do FlexCon-C2S com Ripper . . . 63

Tabela 22 – Resultados do FlexCon-C2S com k-NN. . . 64

Tabela 23 – Resultados do FlexCon-C1 (soma) com Árvore de decisão. . . 66

Tabela 24 – Resultados do FlexCon-C1 (soma) com Naïve Bayes . . . 67

Tabela 25 – Resultados do FlexCon-C1 (soma) com Ripper. . . 68

Tabela 26 – Resultados do FlexCon-C1 (soma) com k-NN . . . 69

Tabela 27 – Resultados do FlexCon-C1 (votação) com Árvore de decisão . . . 71

Tabela 28 – Resultados do FlexCon-C1 (votação) com Naïve Bayes . . . 72

Tabela 29 – Resultados do FlexCon-C1 (votação) com Ripper . . . 73

Tabela 30 – Resultados do FlexCon-C1 (votação) com k-NN . . . 74

Tabela 31 – Resultados do FlexCon-C2 com Árvore de decisão. . . 76

Tabela 32 – Resultados do FlexCon-C2 com Naïve Bayes. . . 77

Tabela 33 – Resultados do FlexCon-C2 com Ripper . . . 78

(8)

AD Árvore de Decisão

AM Aprendizado de Máquina IA Inteligência Artificial

IBL Instance-Based Learning (Aprendizagem Baseada em Instância) k-NN K-Nearest Neighbor (k-vizinho mais próximo)

NB Naive Bayes

(9)

Dr Conjunto de instâncias rotuladas Dn Conjunto de instâncias não rotuladas

CL Classificador

S Subconjunto de instâncias selecionadas para inclusão no conjunto de treina-mento

(10)

1 Self-Training . . . 22

2 FlexCon-C . . . 23

(11)

1 INTRODUÇÃO . . . . 12 1.1 Contextualização e Problema . . . 13 1.2 Objetivos . . . 13 1.2.1 Objetivo Geral . . . 14 1.2.2 Objetivos Específicos . . . 14 1.3 Delimitação do Estudo . . . 14 1.4 Justificativa . . . 14 1.5 Apresentação do Trabalho . . . 15 2 FUNDAMENTAÇÃO TEÓRICA . . . . 16 2.1 Inteligência Artificial . . . 16 2.2 Aprendizado de Máquina . . . 16 2.2.1 Aprendizado Indutivo . . . 18 2.2.2 Tipos de aprendizado . . . 18 2.2.3 Aprendizado Semissupervisionado . . . 20 2.2.3.1 Self-training . . . 21

2.2.3.2 Flexible Confidence with Classifier . . . 22

2.3 Classificação de dados . . . 24

2.3.1 Árvore de Decisão . . . 24

2.3.2 Aprendizagem bayesiana . . . 26

2.3.3 Aprendizagem baseada em instâncias . . . 26

2.3.4 Aprendizagem baseada em regras . . . 28

2.4 Estratificação de dados . . . 28 2.5 Trabalhos relacionados . . . 29 3 METODOLOGIA . . . . 31 3.1 Proposta Metodológica . . . 31 3.2 Experimentos . . . 33 4 RESULTADOS E DISCUSSÕES . . . . 35 4.1 Análise de Desempenho . . . 35 4.2 Análise de Ranking . . . 38 4.3 Análise Geral . . . 41 4.4 Validação da Proposta . . . 42 5 CONCLUSÃO . . . . 44

(12)

5.2 Trabalhos Futuros . . . 45

REFERÊNCIAS . . . . 46 APÊNDICE A – RESULTADOS DO FLEXCON-C1S (SOMA) PARA

CADA CLASSIFICADOR. . . . 50 APÊNDICE B – RESULTADOS DO FLEXCON-C1S (VOTAÇÃO) PARA

CADA CLASSIFICADOR. . . . 55 APÊNDICE C – RESULTADOS DO FLEXCON-C2S PARA CADA

CLASSIFICADOR . . . . 60 APÊNDICE D – RESULTADOS DO FLEXCON-C1 (SOMA) PARA

CADA CLASSIFICADOR. . . . 65 APÊNDICE E – RESULTADOS DO FLEXCON-C1 (VOTAÇÃO) PARA

CADA CLASSIFICADOR. . . . 70 APÊNDICE F – RESULTADOS DO FLEXCON-C2 PARA CADA

(13)

1 Introdução

A compreensão da mente humana tem sido objeto de estudo de diversos pesquisadores ao redor do mundo, e foi através de estudos sobre este assunto que surgiu, logo após a segunda guerra mundial, a área de pesquisa denominada Inteligência Artificial (IA). Além de buscar o entendimento a respeito da mente, seu foco também é voltado para a construção de agentes inteligentes. SegundoNorvig e Russell(2013), para ser possível dizer que um programa tem a capacidade de pensar, é necessário antes saber definir como os seres humanos pensam. De maneira análoga ao pensamento humano, as máquinas utilizam dados previamente coletados como fonte de aprendizado.

Com o avanço das pesquisas emIAe sabendo que dados são elementos fundamentais para o funcionamento de máquinas capazes de aprender, emergiu um conceito importante em meio às demais descobertas tecnológicas, o Aprendizado de Máquina (AM). Este subcampo da IA baseia-se na capacidade que o cérebro humano possui de aprender através de experi-ências passadas (MITCHELL,1997). ParaLantz(2015), oAMé um campo de interesse no desenvolvimento de algoritmos que transformam dados em ações inteligentes.

Algumas atividades do mundo real fazem uso de técnicas baseadas em aprendizado de máquina, tais como: resultados de pesquisas na Web, reconhecimento de padrões em imagens e anúncios em tempo real em páginas Web. A forma como estas aplicações são utilizadas dependem de um conjunto, razoavelmente grande, de dados para que o algoritmo seja capaz de aprender. Ainda, é necessário uma certa imposição de responsabilidade quanto a forma que os dados serão distribuídos em relação a relevância das suas características.

Dentro do conceito de aprendizado de máquina, há tipos de abordagens para o processo de aprendizagem, o aprendizado supervisionado, no qual um algoritmo aprende com base em dados previamente rotulados e o não supervisionado, onde o aprendizado se dá por meio de dados sem rótulo (GOLLAPUDI,2016). Posteriormente, uma terceira forma de aprendizado surgiu a partir dos estudos sobre as abordagens anteriores, o denominado aprendizado semissu-pervisionado. Nesta abordagem, uma parcela do conjunto de dados utilizado para classificação é rotulada e a outra parte sem rótulo.

O self-training (YAROWSKY,1995) é um exemplo de algoritmo que faz uso desta forma de aprendizagem.Zhu e Goldberg(2009) explicam que o self-training utiliza suas próprias previsões para classificar exemplos que não possuem rótulos na sua base de dados, na qual estes dados previstos possuem um valor de confiança agregado. Assim, a forma como o self-training adiciona os exemplos no conjunto é baseado nas classes com maior grau de confiabilidade.

(14)

1.1

Contextualização e Problema

O critério de qualidade em um conjunto de dados pode ser obtido através de diversos fatores, desde atributos relevantes, que caracterizam fortemente o objeto classificado, até a rotulação correta das instâncias. Dessa forma, uma base de dados qualificada é um fator essencial para o aprendizado de máquina, visto que a classificação é feita a partir dos padrões encontrados nas características contidas nas instâncias.

Contudo, para se obter uma base de dados relevante, é necessário um esforço maior devido a dificuldade de se obter instâncias rotuladas (BIANCHINI; MAGGINI; JAIN,2013). À vista disso, faz-se necessário o uso de técnicas que automatizem o trabalho de rotulação, usando exemplos não rotulados para complementar os dados já rotulados. Sendo assim, é preciso que o conjunto de instâncias não rotuladas seja relativamente numeroso, compensando a falta de rótulos, para que as predições sejam de fato precisas (CHAPELLE; SCHÖLKOPF; ZIEN,2006).

Alguns autores propõem métodos que modificam a estrutura do self-training visando melhorar o desempenho dos classificadores, para que o processo de classificação seja cada vez mais eficaz. O método Flexible Confidence with Classifier (FlexCon-C) proposto porVale et al.(2018) modifica o algoritmo de maneira que a escolha dos rótulos seja feita por meio de um limiar flexível, que varia conforme a mudança na precisão da classificação. O método foi proposto com duas variações, o FlexCon-C1, que utiliza um comitê de classificadores para auxiliar o processo de rotulação dos exemplos e o FlexCon-C2, que usa os rótulos preditos pelo classificador da primeira iteração.

A utilização do FlexCon-C para incluir os dados com base nas instâncias mais confiá-veis de suas predições é uma maneira eficiente de conseguir um bom conjunto de dados para treinamento. Entretanto, esta forma de inclusão se concentra apenas no grau de confiabilidade, percebendo-se uma falta de controle a respeito de quantas e quais classes estão sendo incluídas no conjunto de treinamento, podendo ocasionar um certo desbalanceamento entre elas.Castro e Braga(2011) explicam que, nestas ocasiões, há um favorecimento à classe majoritária na geração dos modelos de classificação, tornando menor a taxa de reconhecimento da classe minoritária.

Tendo em vista os problemas citados acima, surge a hipótese de que seja possível obter um melhoramento no desempenho dos classificadores, através do controle das classes no processo de inclusão dos exemplos no conjunto de treinamento. Sendo assim, este trabalho tem como proposta o desenvolvimento de um método, baseado na estratificação de dados, que busca manter um melhor aproveitamento no processo de inclusão de novos exemplos, a fim de conseguir um aumento na precisão da classificação.

1.2

Objetivos

(15)

1.2.1

Objetivo Geral

Aumentar o desempenho dos classificadores através de um método, baseado na estratifi-cação de dados, para inclusão automática de instâncias em conjuntos de dados distintos.

1.2.2

Objetivos Específicos

i. Análise e definição de critérios para estratificação dos dados no momento da inclusão dos exemplos no conjunto dos rotulados;

ii. Desenvolvimento do método de estratificação das classes baseado no critério definido no tópico anterior;

iii. Adaptação do algoritmo FlexCon-C para a utilização do método de estratificação;

iv. Análise do desempenho obtido comparando os resultados com os métodos FlexCon-C1 e FlexCon-C2sem o uso da estratificação.

1.3

Delimitação do Estudo

O estudo em questão concentrou-se na pesquisa a respeito de Aprendizado de Máquina e delimitou-se nos conceitos relacionados ao aprendizado semissupervisionado, buscando com-preender as principais ideias referentes a esta abordagem. Dentre os algoritmos de aprendizado semissupervisionado encontrados na literatura, este trabalho fez uso do self-training como base, e mais especificamente o método FlexCon-C. Este foi adaptado para o uso da estratificação de dados. A pesquisa limita-se exclusivamente ao estudo da forma de inclusão de novos exemplos no conjunto de dados para treinamento dos classificadores, dessa forma, as demais partes do algoritmo passíveis de mudança, são sugeridas como trabalhos futuros.

1.4

Justificativa

O uso do aprendizado de máquina em uma aplicação necessita que o conjunto de dados utilizado para classificação possua exemplos qualificados para o treinamento, isto inclui a rotulação correta dos mesmos. Portanto, há um interesse em propostas de algoritmos que façam o trabalho de rotulação de maneira eficiente. Além disso, o desenvolvimento de algoritmos que possam obter uma boa generalização dos dados a partir de poucos exemplos rotulados no conjunto de treinamento, é um aspecto a ser levado em consideração em relação a relevância da pesquisa realizada.

Ainda, a garantia da representatividade de cada uma das classes no conjunto de treina-mento e o maior grau de confiabilidade possível dos exemplos são importantes em problemas de classificação. Desta forma, a utilização do método de estratificação como recurso de qualidade

(16)

produz benefícios significativos com relação à distribuição das classes, causando possivelmente o melhoramento do desempenho de classificadores.

Estes motivos justificam a realização deste trabalho, que visa o estudo de um método para auxiliar o processo de inclusão de instâncias, no qual serão aplicadas técnicas de proporção para calcular a distribuição no procedimento de estratificação das classes.

1.5

Apresentação do Trabalho

Este documento encontra-se estruturado em cinco capítulos: Introdução, Fundamenta-ção Teórica, Metodologia, Resultados e Discussões e Conclusão. O primeiro capítulo preocupa-se em apresentar o trabalho com o intuito de contextualizar a pesquisa de maneira geral, mostrando os principais objetivos, problema de pesquisa, delimitação do estudo e sua justificativa.

O capítulo dois consiste na divisão em seções de embasamento teórico, nas quais são apresentados conceitos relacionados a inteligência artificial e aprendizado de máquina. Os conteúdos apresentados por meio destes subtópicos são imprescindíveis para a compreensão deste trabalho, pois tratam dos principais conceitos aplicados a esta pesquisa, tais como os tipos de aprendizado, que delimitam-se noAMsemissupervisionado e abordam o funcionamento do self-training. Ao final do capítulo, são dispostos alguns trabalhos relacionados.

O terceiro capítulo apresenta detalhes da pesquisa, e de todo o processo metodológico para a realização do estudo, por meio da subseção Proposta Metodológica. Ainda, é mostrado o procedimento para a elaboração do método, através das subseções Processo de Estratificação e Experimentos, mostrando todo o escopo da solução proposta para o problema da pesquisa.

No capítulo quatro são expostos todos os resultados encontrados ao realizar os ex-perimentos, exibindo os resultados obtidos e apresentando uma discussão geral a respeito do desempenho atingido. Ainda, uma análise estatística foi conduzida a fim de validar os resultados alcançados.

Por fim, no capítulo cinco apresenta-se uma conclusão de forma geral, trazendo uma discussão a respeito de todo o estudo envolvido e sugerindo ideias para que trabalhos futuros possam dar continuidade a esta pesquisa.

(17)

2 Fundamentação Teórica

2.1

Inteligência Artificial

A Inteligência Artificial (IA) é um campo da tecnologia cujas pesquisas foram iniciadas logo após a segunda guerra mundial. Dentre os precursores daIAdestaca-seMinsky(1988), que contribuiu com suas pesquisas sobre o funcionamento da mente, uma delas relatada em sua obra "The Society of Mind". Este trabalho foi de fundamental importância para os estudos iniciais da

IA, uma vez que descreve os processos do pensamento humano e sua replicação nas máquinas. Além das pesquisas realizadas porMinsky(1988), outra que contribuiu com esta área, foi a do matemático britânico Alan Turing, que desenvolveu um método intitulado "Teste de Turing"(TURING; COPELAND,2004). Segundo ele, uma máquina será dotada de inteligência caso a aplicação do seu teste seja bem sucedida. Neste teste, um interrogador humano fará perguntas a dois indivíduos anônimos, um destes é humano e o outro simulado por uma máquina. A comunicação será feita através do teclado, e o interrogador tentará descobrir qual dos dois indivíduos trata-se de um humano, se o mesmo não for capaz de distinguir conclui-se que a máquina é capaz de pensar.

Com o aumento das pesquisas emIA, inúmeras possibilidades de estudo, em diversos campos, foram abertas, desde os mais gerais como os de aprendizagem e percepção, até os que realizam tarefas mais específicas como desenvolvimento de teoremas matemáticos e diagnósticos de doenças (NORVIG; RUSSELL,2013).

Segundo Teixeira (1990), o desenvolvimento de algo como "máquinas capazes de pensar"ou umaIAparalela à nossa, é um projeto suficientemente ambicioso, onde há espaço para especialistas de vários campos de estudo do conhecimento humano, tais como: linguística, psicologia, filosofia, ciência da computação, dentre outras áreas.

McClelland (2017) afirma que para alcançar a inteligência artificial seria necessário milhões de linhas de código, com regras complexas e árvores de decisão, porém um conceito importante resolveria este problema, a capacidade de aprendizagem por parte das máquinas.

2.2

Aprendizado de Máquina

A capacidade de aprender é essencial dentro do conceito geral de inteligência, visto que esta é uma maneira de obter informações novas, ampliando o conhecimento acumulado e consequentemente melhorando o comportamento inteligente de um indivíduo. Esta ideia pode ser aplicada no âmbito computacional, tornando real a possibilidade de aprendizagem por parte

(18)

dos computadores.

SegundoNilsson(1996), a aprendizagem das máquinas geralmente se refere às mudan-ças nos sistemas que realizam tarefas associadas à inteligência artificial. Essas mudanmudan-ças podem ser aprimoramentos para sistemas já executados. De acordo com o autor, uma máquina aprende sempre que altera sua estrutura, programa ou dado (com base em suas entradas ou em resposta a informações externas) de tal forma que haja um melhoramento no seu comportamento futuro.

Aprendizado de Máquina (AM) também pode ser definido como métodos computacio-nais que usam a experiência para fazer previsões precisas ou melhorar o desempenho delas, na qual a qualidade e o tamanho do conjunto de dados são fatores essenciais para o treinamento e consequentemente o sucesso das predições (MOHRI; ROSTAMIZADEH; TALWALKAR,

2012).

A fim de provocar uma melhor compreensão a respeito do assunto,Shwartz e David

(2014) fazem uma associação entre a maneira como ratos aprendem a evitar veneno e como as máquinas realizam a detecção de spams em emails. Segundo os autores, quando ratos encontram alimentos, eles primeiro comem quantidades pequenas e a alimentação subsequente dependerá do sabor do alimento e de seu efeito fisiológico. Se a substância produzir um resultado negativo, as próximas refeições serão frequentemente associadas a doença e, posteriormente, os ratos não comerão.

Percebe-se então um mecanismo de aprendizagem - o animal usou experiência anterior com a ingestão de um alimento para adquirir conhecimento e poder utilizá-lo para detectar a segurança nas próximas alimentações. Uma solução semelhante é utilizada na detecção de spams, onde a máquina simplesmente memoriza todos os e-mails anteriores que foram marcados como spam pelo usuário humano, a fim de otimizar a defesa contra novos spams (SHWARTZ; DAVID,2014). Há diversas formas de aplicar estes conceitos em problemas reais do cotidiano. Assistentes virtuais, recomendações de produtos feitas por aplicações web e aplicativos de tradução são exemplos de utilização desta abordagem.

Quando se trata de um conceito no qual as máquinas aprendem a partir de experiências anteriores, é normal pensar em como esse conhecimento é armazenado. SegundoGollapudi

(2016), os dados - que juntos são a representação para a experiência das máquinas - são a principal fonte para o processo de aprendizagem, eles podem ser recebidos em qualquer formato, tamanho ou frequência.

Uma das abordagens de aprendizagem de máquina encontrada na literatura é o aprendi-zado indutivo, que será discutido na próxima seção.

(19)

2.2.1

Aprendizado Indutivo

De acordo comMonard e Baranauskas(2003) o aprendizado por indução consiste em um modo de se obter conclusões genéricas a partir de um conjunto de exemplos. Trata-se da capacidade de formar um modelo a partir de um padrão identificado ao analisar regras distintas, ou ainda, o conhecimento generalizado que excede aquele contido nos fatos, na qual este pode ou não ser válido (SANCHES,2003).

Em sua pesquisa, Sanches (2003) afirma que sua aplicação é usada para derivar co-nhecimento novo e prever eventos futuros, e por isso este método é responsável por inúmeras descobertas da humanidade. Alguns conceitos apresentados porMonard e Baranauskas(2003) são utilizados para mencionar detalhes específicos da abordagem, como:

i. Exemplo: Também denominado instância, registro ou dado, representa um objeto especí-fico. Consiste em uma tupla composta por características específicas sobre este.

ii. Atributos: São características referentes aos exemplos. Existem dois tipos, nominal e contínuo. O primeiro é usado quando não existe uma ordem entre os valores (por exemplo, cor: vermelho, verde, azul) enquanto o segundo é utilizado em uma ordem linear nos valores (por exemplo, peso ∈ R, um número real).

iii. Rótulo ou Classe: Consiste em um atributo especial que descreve o fenômeno de interesse, ou seja, é a atribuição de uma marcação ao exemplo dado.

iv. Distribuição de classes: Dado um conjunto E(e1, e2...en) de exemplos, é possível calcular

a sua distribuição de classes dividindo a quantidade de classes Cj pelo número n de

instâncias rotuladas através da fórmula distr(Cj) = 1 n n X i=1 kyi = Cj||

onde yi é o rótulo de cada exemplo.

v. Classificador: É utilizado para realizar previsões de classes com a maior precisão possível de acordo com os exemplos do conjunto de dados para treinamento.

Pode-se afirmar que o método indutivo é dividido em aprendizado supervisionado e não supervisionado, o qual será detalhado na seção seguinte.

2.2.2

Tipos de aprendizado

De acordo comCánepa(2016), com base na metodologia de treinamento e tendo em vista os dados fornecidos, os tipos de aprendizado podem ser divididos em:

(20)

1. Aprendizado supervisionado; 2. Aprendizado não supervisionado;

Sobre o aprendizado supervisionado,Gollapudi(2016) afirma que consiste em operar com uma expectativa conhecida, na qual os conjuntos de dados de entrada neste contexto são chamados de conjuntos dos rotulados. Os algoritmos de aprendizado supervisionado exigem uma grande quantidade de dados de treinamento para construir modelos com alto desempenho de previsão (BIANCHINI; MAGGINI; JAIN,2013).

Zhu e Goldberg(2009) explicam que as amostras de treinamento são organizadas em pares, contendo uma instância x e um rótulo y, como mostrado na Fórmula (1). Pode-se pensar em y como sendo a classe dada ao conjunto de características pertinentes ao exemplo x, onde n equivale ao número de instâncias representadas no conjunto de dados.

{(xi, yi)}ni=1 (1)

Cánepa(2016) explica que o objetivo da máquina é aprender a relação instância/rótulo e com base nos conhecimentos adquiridos através do treinamento, ser capaz de realizar previsões de comportamento ou tomadas de decisão. O autor ainda afirma que para obter boas previsões, é importante que os dados sejam de qualidade, isto é, corretamente rotulados. No entanto, o processo de rotulagem dos dados é bastante caro, tedioso e demorado, uma vez que é preciso ser realizado por humanos ou através de aplicações cuja intenção seja obter dados do usuário (BIANCHINI; MAGGINI; JAIN,2013).

O aprendizado não supervisionado é utilizado quando não se tem um alvo específico, isto é, não há um rótulo inerente às características dadas no exemplo (GOLLAPUDI,2016). Neste caso o objetivo é agrupar os exemplos através da semelhança entre os atributos. Este tipo de abordagem geralmente é utilizada em problemas onde a aprendizagem é baseada na equivalência entre as instâncias, isto é, há uma busca pelo padrão de características intrínsecas aos exemplos dados.

{xi} n

i=1 (2)

Os algoritmos de aprendizagem não supervisionados funcionam em um espaço amostral de treinamento com n instâncias, como mostrado na Fórmula (2). Não possui um rótulo que forneça supervisão quanto ao modo como as instâncias individuais devem ser tratadas (ZHU; GOLDBERG,2009).

(21)

Figura 1 – Hierarquia do aprendizado indutivo.

Fonte: Adaptado deMonard e Baranauskas(2003)

Na Figura1são mostradas duas subcategorias do aprendizado supervisionado, classifi-cação e regressão de dados. Kantardzic(2011) as define como:

i. Classificação: "Descoberta de uma função de aprendizado preditivo que classi-fica um item de dados em uma das várias classes predefinidas";

ii. Regressão: "Descoberta de uma função de aprendizado preditivo que mapeia um item de dados para uma variável de previsão de valor real".

Neste trabalho, será aplicada a classificação de dados. Sendo assim, este conceito será detalhadamente abordado nas seções seguintes.

É razoável afirmar a existência de uma categoria de aprendizagem que utiliza ca-racterísticas presentes nos dois tipos mencionados anteriormente, intitulado de Aprendizado Semissupervisionado.

2.2.3

Aprendizado Semissupervisionado

O Semi-Supervised Learning (Aprendizado Semissupervisionado) (SSL) trata-se de um meio termo entre aprendizagem supervisionada e não supervisionada, como exibido na Figura2. A maioria das estratégias para este tipo de aprendizagem baseiam-se na extensão do treinamento supervisionado ou não supervisionado para incluir informações adicionais (ZHU; GOLDBERG,

2009). De certa forma, oSSLsurge como uma maneira de se aproximar progressivamente da capacidade de aprendizagem humana, na qual as experiências passadas são utilizadas junto à habilidade de raciocinar, a fim de aprender em ocasiões cuja situação nunca fora apresentada anteriormente.

Chapelle, Schölkopf e Zien(2006) questionam se o aprendizado semissupervisionado é mesmo significativo, e se ao realizar uma comparação entre um algoritmo que utilizaSSLe

(22)

outro que faz uso da aprendizagem supervisionada pode-se esperar uma previsão mais precisa levando em consideração os pontos não marcados. De acordo com os estudos realizados pelos autores, isto pode ser esperado.

Figura 2 – Aprendizado semissupervisionado.

Fonte: Adaptado deChen e Zhang(2015)

Seguindo este contexto, Zhu e Goldberg(2009) complementam afirmando que, de uma perspectiva diferente, o aprendizado semissupervisionado pode atingir o mesmo nível de desempenho do supervisionado, utilizando um número menor de exemplos rotulados e consequentemente um custo também reduzido. Contudo, existe a necessidade de que os exemplos não rotulados sejam de fato relevantes. Uma vez que os dados não supervisionados trazem menos informações do que os rotulados, eles são necessariamente exigidos em grandes quantidades, a fim de aumentar significativamente a precisão da predição. Isso implica a imposição de algoritmos rápidos e eficientes (CHAPELLE; SCHÖLKOPF; ZIEN,2006).

Dentro desta abordagem existem dois cenários com objetivos levemente distintos, co-nhecidos como aprendizado semissupervisionado de forma indutiva e transdutiva, a diferença depende da natureza de um preditor. O primeiro se ocupa em prever os rótulos nos dados de teste futuros, enquanto o segundo exerce o papel de rotular as instâncias não marcadas na amostra de treinamento (ZHU; GOLDBERG,2009). Algoritmos foram desenvolvidos aplicando estes conceitos, dentre os mais eminentes, destaca-se o self-training.

2.2.3.1 Self-training

O self-training é um algoritmo que trabalha de forma incremental, iniciando com apenas um classificador que utiliza uma quantidade reduzida de dados rotulados. De forma iterativa, ele prediz as classes das instâncias sem rótulo e atribui um valor de confiança em suas previsões, adicionando os exemplos mais confiáveis ao conjunto inicial de treinamento. Feito isso, o mesmo treina novamente o classificador com o conjunto expandido. Este processo é realizado diversas vezes até que atinja um determinado número de iterações ou que alguma regra de parada seja satisfeita. É de extrema importância que as inclusões no conjunto de treinamento sejam efetuadas corretamente, para que haja de fato uma melhoria na precisão da classificação (BIANCHINI; MAGGINI; JAIN,2013). Seguindo este raciocínio, conclui-se que o self-training utiliza suas

(23)

próprias previsões para obter melhores resultados nas etapas seguintes, e por isso o termo self-teachingtambém é uma definição válida para esse algoritmo (ZHU; GOLDBERG,2009). O pseudocódigo apresentado no Algoritmo1simula o funcionamento do algoritmo descrito.

Algoritmo 1: Self-Training

Entrada: dados rotulados {(xi, yi)}li=1, dados não rotulados {xj}l+uj=l+1

início Primeiramente,Dr = {(xi, yi)} l i=1eDn = {xj} l+u j=l+1 repita

Treinar um classificadorCL usando aprendizado supervisionado Classificar as instâncias não rotuladas emDn

Separar um subconjuntoS de Dn Adicionar{(x, CL(x))|x ∈ S} a Dr até Dn = ∅;

fim

Fonte: Adaptado deZhu e Goldberg(2009)

Alguns autores modificam a estrutura do self-training buscando obter um melhor desempenho dos classificadores, para que possam atingir melhores resultados nas classificações. O método FlexCon-C (VALE et al.,2018) é um exemplo de modificação deste algoritmo, cujo trabalho serve com base para este estudo.

2.2.3.2 Flexible Confidence with Classifier

O Flexible Confidence with Classifier (FlexCon-C), desenvolvido no trabalho deVale et al.(2018), baseia-se no algoritmo self-training do aprendizado semissupervisionado. Este método faz o uso de um limiar para a separação dos maiores índices de confiança relacionados às classes da predição, o qual seja flexível para utilização com bases de dados distintas. A equação para o ajuste da taxa de confiança é dada pela Fórmula3.

conf (ti+1) =          conf (ti) − cr, se acc ≥ mp + e conf (ti), se mp − e < acc < mp + e conf (ti) + cr, se acc ≤ mp − e (3)

A equação pode ser descrita da seguinte forma: conf (ti) é o valor de confiança da

iteração corrente; mp pode ser entendido como uma precisão mínima aceitável; cr é a taxa de mudança (o valor definido no trabalho é 0.05); e corresponde a uma variação permitida para

(24)

definir uma estabilização na precisão e acc a precisão da classificação, entendida como uma taxa de acerto ou acurácia.

Desse modo, se a acurácia for maior ou igual ao valor de precisão mínima adicionado à variação de precisão, há uma diminuição do limiar de confiança por uma taxa de variação, mas se a acurácia for menor ou igual a precisão mínima decrementada da variação de precisão, o limiar é aumentado pela taxa de variação. Caso ela esteja na faixa permitida do valor de precisão mínima, o limiar permanecerá o mesmo (VALE et al.,2018).

Este método é utilizado para selecionar os rótulos adequados para inclusão na base a partir das maiores taxas de confiança associadas às classes. Dessa forma, a flexibilidade do limiar é aplicada no sentido de favorecer as próximas predições através do melhoramento no desempenho do classificador. O Algoritimo2mostra o funcionamento do FlexCon-C.

Algoritmo 2: FlexCon-C

Entrada: dados rotulados {(xi, yi)} l

i=1, dados não rotulados {xj} l+u j=l+1

início

Primeiramente,Dr = {(xi, yi)}li=1eDn = {xj}l+uj=l+1

repita

Treinar um classificadorCL usando aprendizado supervisionado Classificar as instâncias não rotuladas emDn

Definir um novo valor de confiança (limiar)

Separar um subconjuntoS = {s1, s2, ..., sn} de Dn, de forma que a taxa de

confiança em CL(x) seja igual ou superior ao limiar para incluir novos exemplos Adicionar{(x, CL(x))|x ∈ S} a Dn

até Dn = ∅; fim

Fonte: Adaptado deVale et al.(2018)

Inicialmente, um classificador CL é treinado a partir de instâncias rotuladas, para então prever os rótulos das instâncias não rotuladas. Logo após, é feito um cálculo para o novo limiar de confiança. Feito isso, um subconjunto S das instâncias não rotuladas é obtido juntamente com seus rótulos preditos, estes são selecionados para inclusão no conjunto dos dados rotulados para treinamento. Os dados em S consistem em instâncias com as previsões de maior grau de confiabilidade, escolhidas a partir do limiar de confiança. O classificador então é treinado novamente, dessa vez com um conjunto maior de dados rotulados. Este processo é feito repetidamente até que o conjunto de dados não rotulados esteja completamente rotulado.

Ainda, o método descrito acima possui duas variações. A primeira, o FlexCon-C1, usa um comitê de classificadores como forma adicional para a escolha de rótulos, cuja composição consiste em classificadores construídos durante cada iteração. Este conjunto possui duas versões:

(25)

soma e votação. A soma se caracteriza pelo somatório das taxas de confiança de cada rótulo classificado em todas as iterações, enquanto a votação consiste no armazenamento do voto referente à classe com maior taxa de confiança das iterações. A segunda, o FlexCon-C2, utiliza apenas os rótulos que foram preditos na primeira iteração como forma adicional para rotulação.

2.3

Classificação de dados

A classificação pode ser definida como uma tarefa da aprendizagem supervisionada cuja função é prever a classe a qual um exemplo pertence (LANTZ,2015). Este processo é feito a partir de uma técnica que organiza os dados de um conjunto de forma que os atributos selecionados pertençam à mesma classe (GOLLAPUDI,2016). É de certa forma frequente sua utilização em várias aplicações do cotidiano, alguns exemplos são:

• Identificação de spams;

• Movimentos em um jogo de computador; • Diagnósticos de doenças.

Diversos algoritmos de classificação foram criados usando diferentes métodos para realizar as tarefas descritas acima, alguns são demonstrados através dos tópicos subsequentes.

2.3.1

Árvore de Decisão

A Árvore de Decisão (AD) é amplamente utilizada em aprendizado de máquina, sendo uma das mais poderosas técnicas de modelagem. Ela naturalmente induz regras que podem ser usadas na classificação e previsão de dados (GOLLAPUDI,2016).

Sua estrutura ao ser traduzida para a linguagem humana, pode ser representada como um conjunto de regras if-then-else. De acordo comMitchell(1997), é um método para aproximar funções de valor discreto e ao mesmo tempo robusto para dados ruidosos e capaz de aprender expressões disjuntivas.

A Figura3mostra um exemplo de como funciona uma árvore, cuja função é atribuir um número de classe a um determinado padrão de entrada, este é filtrado através de testes onde possuem resultados mutuamente exclusivos e exaustivos. Por exemplo, o teste T2 da Figura3

possui três resultados; de acordo com o padrão de entrada, a classe resultante da folha esquerda é 3, o do meio envia o padrão de entrada para o teste T4, enquanto a folha direita atribui à classe 1 (NILSSON,1996).

(26)

Figura 3 – Árvore de Decisão.

Fonte: Adaptado deNilsson(1996)

Utiliza-se uma estrutura em árvore para cada exemplo num conjunto de instâncias, iniciando pela raiz e percorrendo até a última folha. Cada nó indica um teste de atributo, os ramos são os valores que este pode assumir e suas folhas as possíveis classificações (MITCHELL,

1997).

Para uma melhor compreensão, a Figura4apresenta um exemplo de estrutura em árvore que classifica manhãs de sábado como sendo propícias ou não para um jogo de tênis.

Figura 4 – Decisão estruturada em árvore.

Fonte: Adaptado deMitchell(1997)

Observa-se que se o tempo estiver nublado, o jogo certamente acontecerá, entretanto os demais (ensolarado e chuvoso) possuem uma dependência de outros atributos (umidade e vento) para ser capaz de classificar a ocorrência ou não do jogo.

(27)

2.3.2

Aprendizagem bayesiana

SegundoMitchell(1997), o critério bayesiano apresenta uma abordagem probabilística para a inferência. Ele baseia-se na hipótese de que os rótulos são gerados através de distribuições de probabilidade. O autor aponta que os métodos bayesianos são de fato relevantes para o estudo de aprendizado de máquina por dois motivos. O primeiro está relacionado à praticidade que estes algoritmos possuem em certos problemas de aprendizagem, devido ao cálculo explícito de probabilidades para suas hipóteses. A segunda justificativa refere-se ao fato de que eles podem oferecer uma perspectiva útil para a compreensão de muitos algoritmos que não manipulam probabilidades.

O Naive Bayes (NB) é um classificador probabilístico baseado no teorema de Bayes, e como o nome sugere, ele é considerado de certa forma ingênuo em relação a sua classificação. Isto se deve ao fato de seus atributos serem considerados de forma independente em seus cálculos, ou seja, não há correlação alguma de cada atributo com os demais (GOLLAPUDI,2016). Por exemplo, uma pessoa pode ser considerada bonita se ela possui olhos claros, cabelos lisos e dentes brancos. ONBconsidera que cada característica contribui de forma isolada para que esta pessoa seja classificada como "bonita". O cálculo bayesiano para geração de hipóteses é descrito por

P (h|D) = P (D|h)P (h) P (D)

Considerando P(h) como sendo a probabilidade inicial de que possa existir uma hipótese h, e P(D) de forma similar, tal que D representa o conjunto de dados para treinamento. Utiliza-se P(D|h)para denotar a probabilidade de observar os dados D baseado na validade da hipótese h, e de forma contraposta, P(h|D) é chamada de probabilidade posterior de h, pois espera-se que a hipótese se mantenha válida após a observação dos dados de treinamento D (MITCHELL,1997).

2.3.3

Aprendizagem baseada em instâncias

A aprendizagem nestes algoritmos constitui-se simplesmente em guardar os dados de treinamento rotulados, até que uma nova instância de consulta seja encontrada. Então, um conjunto de exemplos semelhantes relacionados é recuperado da memória e utilizado para classificar a nova instância (MITCHELL,1997).

Existem algumas variações de algoritmos que utilizam desse conceito, tais como K-Nearest Neighbor(k-vizinho mais próximo) (k-NN) e a família de algoritmos Instance-Based Learning(Aprendizagem Baseada em Instância) (IBL). O primeiro é tratado com mais frequência entre diversos autores, tais comoMitchell(1997),Lantz(2013),Aha, Kibler e Albert(1991),

(28)

O k-NN é um algoritmo da abordagem supervisionada do aprendizado de máquina, aplicado à classificação de dados e considerado um dos métodos mais antigos e simples segundo

Cover e Hart(1967). Sua função é prever a categoria da amostra de teste de acordo com os exemplos de treinamento K (que são os vizinhos mais próximos da amostra de teste) e julgar aquela que possui a maior possibilidade de classificação (SUGUNA; THANUSHKODI,2010).

Aha, Kibler e Albert(1991) descrevem ’categoria’ como sendo o conjunto de todas as instâncias em um espaço que possuem o mesmo valor para seu atributo de categoria.

Na primeira de suas obras, Lantz (2013) afirma que este algoritmo é considerado um classificador lento, já que há uma necessidade de calcular a distância entre o ponto a ser descoberto e todos os outros já identificados. Para cada registro no dataset de teste, ok-NN

identifica os k registros nos dados de treinamento que são os "mais próximos", utilizando o cálculo para medir a distância, em relação a similaridade, onde k é um inteiro especificado antecipadamente. A instância de teste não rotulada é atribuída à classe da maioria dos vizinhos mais próximos. A Figura5traz uma representação para o funcionamento dok-NN.

Figura 5 – Representação do KNN.

Fonte: Adaptado dePacheco(2017)

Observa-se na Figura5que ao utilizar o parâmetro k com os inteiros 3 ou 7, o algoritmo certamente definirá o novo rótulo (o ponto no centro da figura) como sendo da classe B, porém ao usar o k com o número 11, ok-NNmarcará como pertencente à classe A.

O cálculo mais utilizado para encontrar o intervalo entre o ponto alvo e os vizinhos é a medida de distância euclidiana, dada por

D(P, Q) =p(p1 − q1)2+ · · · + (pn− qn)2 = v u u t n X i=1 (pi− qi)2

(29)

onde P = (p1, · · · , pn) e Q = (q1, · · · , qn) são dois pontos n-dimensionais e D é a

função distância entre eles (PACHECO,2017).

2.3.4

Aprendizagem baseada em regras

O aprendizado baseado em regras utiliza o reconhecimento de padrões, associações e operações frequentes que podem ser usados como premissas para classificação e predição de dados. Com base na ocorrência de ações, o classificador gera um conjunto de regras através de padrões encontrados e as utiliza para prever o acontecimento de outros itens. As regras de associação normalmente utilizam a sintaxe ’se... então’ para relacionar os conjuntos de dados (GOLLAPUDI,2016).

Dentre os algoritmos desenvolvidos para esta abordagem, o JRip, comumente chamado por Ripper, é utilizado com maior frequência (RAJPUT et al.,2011). SegundoOliveira(2016), o Ripper é a evolução do IREP, que consiste em um algoritmo para indução de regras. Ele utiliza a técnica de cobertura sequencial para gerar regras. Esta técnica se caracteriza por iniciar com uma lista de regras vazia, e então é chamada uma função para extrair uma regra que cubra o máximo de amostras de treinamento positivas e o mínimo de amostras negativas. A regra é então adicionada à lista e o processo se repete até que todas as amostras do conjunto de treinamento tenham sido analisadas.

O diferencial do Ripper é que ele utiliza um conjunto de dados de validação para realizar a poda das regras, e quando há duas classes no conjunto de treinamento, o algoritmo escolhe a que dispõe de um número maior de amostras como sendo a classe padrão e define novas regras para detectar a classe com quantidade reduzida de amostras. Assim, o Ripper é adequado para os casos de desbalanceamento de classes ou para casos de ocorrência de ruídos nos dados (OLIVEIRA,2016).

2.4

Estratificação de dados

SegundoWitten, Frank e Hall(2011), a estratificação de dados normalmente é utilizada para garantir que todas as classes de uma base de dados estejam devidamente representadas em seus conjuntos de treinamento e teste. A representação das classes é feita com base na proporção dos exemplos de cada uma delas no seu conjunto original (GOLDSCHMIDT; PASSOS; BEZERRA,2015). Assim, se uma base de dados contém as classes A, B e C, e as mesmas representam respectivamente 20%, 50% e 30% do número total de classes, esta proporção deve ser mantida para os conjuntos de treinamento e teste.

Neste estudo, a estratificação também é utilizada no sentido de incluir novas instâncias no conjunto de exemplos rotulados, para que a base de dados possa crescer de forma proporcional, até que não haja mais exemplos sem rótulo.

(30)

2.5

Trabalhos relacionados

Foi possível elencar alguns trabalhos que possuem relação com este. Dentre eles, alguns utilizam o aprendizado semissupervisionado para investigação de problemas em classificação multirrótulos, enquanto os outros alteram a forma como o self-training trabalha, oferecendo novos métodos para resolução de problemas.

O estudo realizado porRodrigues, Santos e Canuto(2013) possibilitou a proposta de três métodos semissupervisionados, os quais utilizam um limiar de confiança para a aplicação em problemas de classificação de multirrótulos. O trabalho teve como objetivo analisar o desempenho dos três métodos semissupervisionados sugeridos comparando ao trabalho realizado por Santos et al.(2012), que não utilizou o parâmetro de confiança em suas aplicações. As técnicas sugeridas foram validadas por meio da utilização de cinco conjuntos de dados, de diferentes domínios de aplicação, usando seis métricas de avaliação. As abordagens propostas obtiveram melhor desempenho em 72% dos casos (65 de 90).

Os problemas investigados no trabalho deRodrigues, Canuto e Santos(2014) são consi-derados importantes em algoritmos de classificação multirrótulo, que são: o número de instâncias rotuladas e a alta dimensionalidade dos exemplos. Esse trabalho levanta um questionamento sobre a capacidade de generalizar de maneira eficiente, sendo necessário o uso de um alto número de instâncias. Dessa forma, optaram por utilizar o aprendizado semissupervisionado para combinar exemplos rotulados e não rotulados a fim de automatizar o processo de inclusão dos rótulos. Portanto, foram propostos pelos autores quatro métodos para a classificação multirrótulo, atentando-se em um parâmetro de confiança no processo de rotulação. Para viabilizar os métodos, foi feita uma análise empírica utilizando conjuntos de dados de alta dimensão, e para a análise do desempenho, uma comparação com os métodos propostos nos trabalhos deRodrigues, Santos e Canuto(2013) eSpolaôR et al.(2013). Os autores concluíram que o fator de confiança obteve efeito positivo ao comparar com métodos multirrótulos existentes.

Os autoresTao et al.(2018) propuseram um novo algoritmo baseado no self-training, o qual utiliza exemplos rotulados e não rotulados para auxiliar na rotulação e seleção de dados não rotulados para expandir o conjunto de treinamento. Para tal, duas medidas foram aplicadas para diminuir o efeito de ruídos no conjunto de treinamento: um método transdutivo baseado em um grafo aleatório foi usado para gerar previsões confiáveis de dados não rotulados; e um mecanismo foi adotado para expandir o conjunto de treinamento. Os resultados mostraram que o método proposto apresentou efetivamente um aumento no desempenho da classificação.

No trabalho deVale et al.(2018) foram sugeridas três propostas distintas para o ajuste automático do parâmetro de confiança usado no algoritmo self-training. O objetivo é eleger o valor mais adequado para conjuntos de dados específicos e que este seja variável durante o processo de inclusão dos rótulos. A fim de validar a viabilidade dos métodos propostos, foi realizada uma análise empírica utilizando vinte bases de dados distintas com diferentes

(31)

porcentagens para dados inicialmente rotulados, testados com classificadores variados. O trabalho mostrou que os três modelos apresentados obtiveram melhor desempenho quando comparados ao self-training original.

(32)

3 Metodologia

O propósito da pesquisa exploratória é a descoberta de fenômenos ou a explicação dos que não eram aceitos apesar de evidentes (GONÇALVES,2005). Nesse sentido, este trabalho pode ser considerado de caráter exploratório, uma vez que este estabelece critérios, métodos e técnicas para a elaboração de uma pesquisa e visa oferecer informações sobre o objeto desta e orientar a formulação de hipóteses (SILVA; BERVIAN; CERVO,2006).

O levantamento bibliográfico se deu através de pesquisas em livros, artigos científicos, dissertações de mestrado e páginas web com o objetivo de obter o maior nível de esclarecimento possível a respeito de assuntos relacionados ao aprendizado de máquina, com ênfase em con-teúdos sobre aprendizagem semissupervisionada. Os resultados são de natureza quantitativa, os quais são usados em comparações e análises para conclusões a respeito do desempenho do método proposto.

3.1

Proposta Metodológica

Esse trabalho consiste na elaboração de um método para a inclusão automática de instâncias de forma estratificada, adaptando o método Flexible Confidence with Classifier (FlexCon-C)que foi desenvolvido durante o estudo realizado porVale et al.(2018).

A ideia para a proposta de estratificação, no momento da inclusão de novas instâncias no conjunto de treinamento, é manter a proporção inicial dos dados rotulados da base, cujo processo é feito a cada iteração do algoritmo. O procedimento se dá perante a execução de três etapas:

1. Tratamento das classes: os dados do subconjunto S são analisados para verificar se todas as classes estão sendo representadas com no mínimo uma instância, desta forma pretende-se garantir a representatividade de todas as classes no momento da inclusão das instâncias. Caso alguma classe não faça parte do subconjunto S devido a aplicação do limiar, haverá uma redução deste através de uma taxa de perda de confiança (definida neste trabalho em 0.2), até que pelo menos uma instância desta classe seja incluída no subconjunto S, para que haja garantia de sua representatividade;

2. Cálculo da distribuição: calcula-se a distribuição das classes do conjunto dos dados rotulados inicialmente, de forma que a mesma proporção seja mantida para a inclusão de novas instâncias. O cálculo de distribuição de classes ( distr(Cj) = 1n

Pn

i=1kyi = Cjk ) é

aplicado nesta etapa. Com base nos valores percentuais obtidos, é calculada a quantidade de instâncias selecionadas que serão separadas para a inclusão.

(33)

3. Separação dos exemplos: seguindo os percentuais estabelecidos anteriormente, uma quantidade de instâncias por classe é atribuída para a inclusão no conjunto dos dados rotulados, sendo elas as que possuem as maiores taxas de confiança do subconjunto S.

A Figura6representa uma visão geral da estratificação de dados. Figura 6 – Estratificação de dados

Fonte: Elaborado pelo autor.

As classes A,B e C, recebem um número referente a quantidade de exemplos que serão separados para o processo de inclusão, os quais são representados respectivamente por x,y e z. Os exemplos que serão incluídos são ordenados com base nas maiores taxas de confiança.

Diante do método apresentado, esta pesquisa busca, com o pseudocódigo do Algoritimo

3, representar o funcionamento do FlexCon-C adaptado no sentido de complementar a forma de inclusão dos exemplos através da estratificação dos dados, cuja alteração se encontra destacada. O método proposto foi denominado FlexCon-C Stratified, ou FlexCon-CS.

Algoritmo 3: FlexCon-CS

Entrada: dados rotulados {(xi, yi)}li=1, dados não rotulados {xj}l+uj=l+1

início Primeiramente,Dr = {(xi, yi)} l i=1eDn = {xj} l+u j=l+1 repita

Treinar um classificadorCL usando aprendizado supervisionado Classificar as instâncias não rotuladas emDn

Definir um novo valor de confiança (limiar)

Separar um subconjuntoS = {s1, s2, ..., sn} de Dn, de forma que a taxa de

confiança em CL(x) seja igual ou superior ao limiar para incluir novos exemplos Aplicar estratificação em S, mantendo as proporções iniciais de rotulação Adicionar{(x, CL(x))|x ∈ S} a Dr

até Dn = ∅; fim

(34)

Sendo assim, as instâncias em S com maior taxa de confiança na predição são submeti-das ao processo de estratificação, cuja divisão de classes segue a mesma proporção do conjunto de dados inicialmente rotulados.

3.2

Experimentos

Os métodos FlexCon-C1S e FlexCon-C2S estudados por Vale et al. (2018) foram conduzidos em experimentos para geração de resultados, que foram utilizados em análises posteriormente. Durante os experimentos, trinta e uma bases de dados, dentre a maioria delas disponíveis no repositório de conjuntos de dados para aprendizado de máquina UCI, foram utilizadas. A Tabela1apresenta os conjuntos de dados selecionados, juntamente com os dados referentes ao número de instâncias, atributos, classes e o(s) tipo(s) dos dados respectivamente.

Para avaliar a capacidade de generalização dos modelos construídos, foi implementada a técnica de validação cruzada (do inglês, cross-validation). Esta técnica envolve a escolha de uma amostra do conjunto de dados, a qual servirá como teste para o modelo construído a partir do restante do conjunto, denominado conjunto de treinamento (RAY,2015). Existem vários métodos utilizados para a realização da validação cruzada, como Leave-one-out, k-fold e stratified k-fold. Para este estudo, o método stratified k-fold, uma variação do k-fold, foi implementado. Seu funcionamento se dá perante a realização do processo de treinamento e teste kvezes, onde cada iteração consiste em um subconjunto distinto para teste e o restante para treinamento. Neste caso, as k (neste trabalho, k foi definido em 10) amostras de teste possuem aproximadamente a mesma porcentagem de instâncias de cada classe do conjunto de dados completo (SCIKIT-LEARN,2007).

(35)

Tabela 1 – Bases de Dados.

Base Exemplos Atributos Classes Tipo(s) Balance Scale 625 4 3 I

BTSC1 748 5 2 R

Bupa 345 7 2 C,I,R

Car Evaluation 1728 6 4 C,I

Cnae-9 1080 857 9 I Connectionist Bench 208 60 2 R Haberman 306 4 2 I Hill-Valley 606 101 2 R ILPD2 583 10 6 C Image Segmentation 2310 19 7 R Íris 150 5 3 R Kr-vs-Kp3 3196 36 2 C Leukemia 100 50 2 I,R Mammographic Mass 961 6 2 I Multiple Features Karhunen 2000 64 10 I,R

Mushroom 8124 22 2 C

Musk 6598 168 2 I

Ozone Level Detection 2536 73 2 R Pen Digits4 10992 16 10 I Phishing Website 2456 30 3 I Pima 768 9 2 I,R Planning Relax 182 13 2 R Seeds 210 7 3 R Semeion 1593 256 10 I Solar Flare 1389 10 6 C SPECTF Heart 267 44 2 I Tic-Tac-Toe Endgame 958 9 2 C Twonorm 7400 21 2 R Vehicle 946 18 4 I Waveform 5000 40 3 R Wilt 4839 6 2 R

1Blood Transfusion Service Center. 2Indian Liver Patient Dataset. 3King-Rock vs King-Pawn. 4Pen-Based

Recognition of Handwritten Digits.

Para os exemplos usados no treinamento, foram aplicadas cinco configurações diferentes para instâncias inicialmente rotuladas: 5%, 10%, 15%, 20% e 25%. Em seguida, quatro algoritmos de classificação foram selecionados para o treinamento dos dados: Naive Bayes (NB), Árvore de Decisão (AD), Ripper e k-Nearest Neighbor (k-NN). Os classificadores foram escolhidos com base no trabalho ao qual este se estende, com exceção dok-NN, que foi uma adição para analisar o desempenho com classificador baseado na similaridade entre instâncias.

(36)

4 Resultados e Discussões

Neste capítulo são apresentados os resultados obtidos através dos experimentos com as 31 bases de dados listadas na Tabela1, a fim de avaliar o desempenho do método FlexCon-CS (1 e 2). Conforme explicado anteriormente, o desempenho deste método foi comparado com o do FlexCon-C(1 e 2) proposto por (VALE et al.,2018). A diferença entre os dois métodos é que o FlexCon-Cnão faz uso da estratificação de dados para inclusão de novas instâncias no conjunto de dados rotulados. Enquanto o FlexCon-CS incluí no conjunto de dados apenas as instâncias cujo novo conjunto de treinamento permaneça com a mesma distribuição das classes do início até o final do treinamento.

As seções subsequentes são responsáveis por expor os detalhes relacionados aos resul-tados de desempenho dos métodos, divididas em quatro tabelas separadas por classificador. A primeira seção apresenta as médias das acurácias e o desvio padrão de todas as bases de dados apresentadas na Tabela1. A segunda exibe o ranking médio de desempenho dos métodos, sendo a primeira colocação destinada ao método que atingiu o maior desempenho e a segunda (e última) ao que obteve o menor desempenho. É importante ressaltar que as comparações em todas as tabelas são feitas entre os métodos estratificados e suas versões sem uso da estratificação.

A organização dos dados está distribuída da seguinte maneira: a primeira coluna apresenta o nome do método seguido da técnica de combinação utilizada para definição dos rótulos, (s) para soma e (v) para votação; as colunas de 2 a 6, mostram os resultados obtidos com cada método, de acordo com o percentual de dados rotulados inicialmente (5%, 10%, 15%, 20%, 25%). Os valores em negrito representam os melhores resultados de desempenho entre cada comparação realizada.

4.1

Análise de Desempenho

A Tabela2apresenta a média e o desvio padrão dos resultados obtidos nos experimentos realizados com o classificador Naïve Bayes.

Tabela 2 – Desempenho médio utilizando o classificador Naive Bayes % de dados inicialmente rotulados

Métodos 5% 10% 15% 20% 25% FlexCon-C1S(s) 72.82 ± 16.58 73.30 ± 17.72 74.21 ± 17.30 73.91 ± 17.75 74.07 ± 18.01 FlexCon-C1(s) 71.85 ± 16.75 72.70 ± 17.48 73.54 ± 17.35 74.05 ± 18.37 74.93 ± 17.65 FlexCon-C1S(v) 71.70 ± 16.91 72.44 ± 17.91 73.53 ± 17.20 73.98 ± 17.83 74.88 ± 17.82 FlexCon-C1(v) 71.37 ± 16.60 72.59 ± 17.13 74.30 ± 17.33 73.73 ± 17.93 74.10 ± 18.60 FlexCon-C2S 71.68 ± 16.51 73.03 ± 17.33 73.69 ± 17.24 73.45 ± 18.03 74.34 ± 18.21 FlexCon-C2 71.30 ± 16.37 72.65 ± 17.51 74.14 ± 17.93 73.98 ± 17.87 74.47 ± 17.77

(37)

O método FlexCon-C1S, em relação ao FlexCon-C1, ambos usando soma, atingiu melhor desempenho quando foram aplicados 5%, 10% e 15%, o que significa 60% (3 de 5) dos percentuais estabelecidos para dados inicialmente rotulados. Ao utilizar votação como técnica de escolha de rótulos, o FlexCon-C1S obteve melhores resultados utilizando 5%, 20% e 25% dos exemplos inicialmente rotulados. Em outras palavras, o FlexCon-C1S obteve melhor desempenho do que o FlexCon-C1 em 60% (3 de 5) dos casos. O método FlexCon-C2S, comparado ao FlexCon-C2, se mostrou mais eficaz ao utilizar 5% e 10%, o que corresponde a 40% (2 de 5) dos casos. Analisando de um modo geral, os métodos estratificados atingiram melhor desempenho em 53% (8 de 15) das comparações realizadas. Portanto, o método FlexCon-C1Sse mostrou melhor do que os demais, apresentando desempenho superior em 60% (3 de 5) dos casos tanto utilizando soma quanto votação.

A Tabela3apresenta a média e o desvio padrão dos resultados obtidos nos experimentos realizados com Árvore de Decisão.

Tabela 3 – Desempenho médio utilizando o classificador Árvore de decisão % de dados inicialmente rotulados

Métodos 5% 10% 15% 20% 25% FlexCon-C1S(s) 69.55 ± 17.99 74.99 ± 14.62 76.76 ± 14.45 77.96 ± 13.89 78.77 ± 13.75 FlexCon-C1(s) 69.08 ± 17.94 75.19 ± 14.70 76.92 ± 13.93 77.94 ± 14.08 78.97 ± 13.43 FlexCon-C1S(v) 69.51 ± 17.65 75.25 ± 14.78 76.87 ± 14.52 78.15 ± 13.71 79.03 ± 13.31 FlexCon-C1(v) 68.94 ± 18.41 75.47 ± 14.49 77.66 ± 13.71 77.89 ± 14.50 79.09 ± 13.63 FlexCon-C2S 69.39 ± 18.17 75.30 ± 14.63 77.18 ± 14.33 78.60 ± 13.68 79.08 ± 13.46 FlexCon-C2 69.64 ± 17.69 75.63 ± 14.48 77.09 ± 13.73 78.59 ± 13.18 79.15 ± 13.57

Os três métodos estratificados apresentaram melhor desempenho em 40% (2 de 5) dos percentuais estabelecidos para dados inicialmente rotulados. O FlexCon-C1S, tanto com soma quanto com voto, resultou em desempenho superior, em relação ao FlexCon-C1, quando foram aplicados 5% e 20% dos dados inicialmente rotulados. Já o método FlexCon-C2S, comparado ao FlexCon-C2, se mostrou mais eficaz ao utilizar 15% e 20%. Assim, os métodos estratificados atingiram melhor desempenho em 40% (6 de 15) das comparações realizadas. Os métodos que fizeram uso de estratificação não foram tão eficazes ao utilizarAD.

(38)

A Tabela4informa a média e o desvio padrão dos resultados obtidos com o classificador Ripper.

Tabela 4 – Desempenho médio utilizando o classificador Ripper % de dados inicialmente rotulados Métodos 5% 10% 15% 20% 25% FlexCon-C1S(s) 68.71 ± 16.41 72.15 ± 14.74 74.53 ± 14.54 77.01 ± 13.66 77.60 ± 13.15 FlexCon-C1(s) 68.44 ± 16.62 72.20 ± 14.59 74.49 ± 14.62 76.76 ± 13.78 77.48 ± 13.92 FlexCon-C1S(v) 68.26 ± 16.32 72.78 ± 14.21 75.39 ± 13.66 76.03 ± 14.08 77.48 ± 14.07 FlexCon-C1(v) 68.36 ± 16.78 72.87 ± 14.87 75.57 ± 13.89 76.72 ± 13.54 77.99 ± 13.45 FlexCon-C2S 68.93 ± 16.33 73.16 ± 14.45 75.19 ± 14.08 76.61 ± 13.35 77.53 ± 13.68 FlexCon-C2 68.59 ± 15.98 72.58 ± 14.80 75.52 ± 13.62 76.27 ± 14.13 78.07 ± 13.18

O FlexCon-C1S usando soma, conseguiu obter melhores resultados, em relação ao FlexCon-C1, quando foram aplicados 5%, 15%, 20% e 25% dos dados inicialmente rotulados, que significa 80% (4 de 5) dos casos. Utilizando votação, o método sem estratificação apresentou melhor desempenho em todos os casos quando comparado ao C1S. O método FlexCon-C2S, comparado ao FlexCon-C2, se mostrou mais eficaz quando aplicados 5%, 10% e 20%, o que representa 60% (3 de 5) dos casos. Deste modo, os métodos estratificados atingiram melhor desempenho em 46% (7 de 15) das comparações realizadas. O método FlexCon-C1 usando votação se mostrou mais eficaz em relação aos demais, obtendo melhor desempenho em 100% (5 de 5) dos casos. Contudo, o método FlexCon-C1S usando soma também se destacou, obtendo desempenho superior em 80% (4 de 5) dos casos.

A Tabela5apresenta a média e o desvio padrão dos resultados obtidos nos experimentos realizados com o classificador k-NN.

Tabela 5 – Desempenho médio utilizando o classificador k-NN % de dados inicialmente rotulados Métodos 5% 10% 15% 20% 25% FlexCon-C1S(s) 74.84 ± 14.97 78.31 ± 13.65 79.65 ± 13.41 80.26 ± 13.55 81.06 ± 13.45 FlexCon-C1(s) 75.73 ± 14.20 78.67 ± 13.67 79.95 ± 13.51 81.01 ± 13.12 81.14 ± 13.08 FlexCon-C1S(v) 75.18 ± 14.39 78.04 ± 14.13 79.59 ± 13.60 80.39 ± 13.71 81.22 ± 13.44 FlexCon-C1(v) 74.99 ± 14.47 78.41 ± 13.24 79.41 ± 13.83 80.97 ± 13.14 81.48 ± 13.19 FlexCon-C2S 75.63 ± 13.96 78.01 ± 14.38 79.89 ± 12.85 80.65 ± 13.57 81.83 ± 12.97 FlexCon-C2 75.02 ± 14.70 78.31 ± 13.78 79.59 ± 13.34 81.02 ± 12.93 81.54 ± 13.23

O método FlexCon-C1 usando soma, em relação ao FlexCon-C1S, apresentou os melhores resultados em 100% (5 de 5) dos casos. Ao ser utilizado com votação, o FlexCon-C1S mostrou melhor desempenho ao aplicar 5% e 15% dos dados inicialmente rotulados, significando 40% (2 de 5) dos casos. O método FlexCon-C2S, em relação ao FlexCon-C2, alcançou melhores acurácias ao fazer uso de 5%, 15% e 25% dos exemplos inicialmente rotulados, o que corresponde a 60% (3 de 5) dos casos. Deste modo, os métodos estratificados atingiram melhor desempenho em 33% (7 de 15) das comparações realizadas. Conclui-se que, o método FlexCon-C1 se mostrou

(39)

mais eficaz ao utilizar o classificadork-NN, obtendo melhor desempenho em 100% (5 de 5) dos casos.

Por meio dos resultados apresentados, observa-se que a estratificação de dados obteve as melhores acurácias em 43.33% (26 de 60) de todas as comparações realizadas com os quatro algoritmos de classificação. Dentro deste percentual, os melhores resultados foram obtidos com 5% dos dados inicialmente rotulados, o equivalente a 75% (9 de 12) de todos os casos. Logo, percebe-se que a estratificação conseguiu se adaptar melhor quando poucos dados haviam sido rotulados inicialmente.

4.2

Análise de Ranking

A análise de ranking foi realizada para informar a classificação de cada método com as bases de dados usadas nos experimentos. Conforme explicado anteriormente, a primeira colocação é destinada ao método que obteve o melhor desempenho, enquanto a segunda (e última) ao que atingiu o menor desempenho. Frisando ainda que, as comparações em todas as tabelas são realizadas entre os métodos estratificados e suas versões sem estratificação.

A Tabela6apresenta a comparação, por meio de um ranking, entre os métodos estratifi-cados e suas versões sem o uso da estratificação utilizando o classificador Naïve Bayes.

Tabela 6 – Ranking de desempenho utilizando o classificador Naive Bayes % de dados inicialmente rotulados Métodos 5% 10% 15% 20% 25% FlexCon-C1S(s) 1.37 1.50 1.35 1.45 1.71 FlexCon-C1(s) 1.63 1.50 1.65 1.55 1.29 FlexCon-C1S(v) 1.52 1.52 1.55 1.47 1.42 FlexCon-C1(v) 1.48 1.48 1.45 1.53 1.58 FlexCon-C2S 1.42 1.61 1.61 1.61 1.53 FlexCon-C2 1.58 1.39 1.39 1.39 1.47

Observa-se que o FlexCon-C1S utilizando soma, em comparação com o FlexCon-C1, obteve melhores posições de classificação ao utilizar 5%, 15% e 20% dos dados inicialmente rotulados, o que representa 60% (3 de 5) dos casos, e empatou ao aplicar 10%. Ao utilizar votação, o FlexCon-C1S mostrou melhor desempenho do que o FlexCon-C1 aplicando 20% e 25% dos dados rotulados inicialmente, o que significa 40% (2 de 5) dos casos. O FlexCon-C2S, em relação ao FlexCon-C2, obteve melhor classificação ao fazer uso de 5% dos dados inicialmente rotulados, representando 20% (1 de 5) dos casos. Os métodos estratificados obtiveram primeira colocação em 40% (6 de 15) das comparações. O método FlexCon-C2 atingiu as melhores posições em relação aos demais, obtendo melhores classificações em 80% (4 de 5) dos casos. Entretanto, o FlexCon-C1S usando soma se destacou entre os métodos estratificados, alcançando

Referências

Documentos relacionados

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

As pontas de contato retas e retificadas em paralelo ajustam o micrômetro mais rápida e precisamente do que as pontas de contato esféricas encontradas em micrômetros disponíveis

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)

Many more European associations, consortia and networks are operating at a transnational level: just to mention a few of them, the Association of European Correspondence

Hoje o gasto com a saúde equivale a aproximada- mente 8% do Produto Interno Bruto (PIB), sendo que, dessa porcentagem, o setor privado gasta mais que o setor público (Portal

Esta dissertação tem por objetivo analisar a trajetória de dois movimentos de resistência antinazista originados no seio das comunidades de imigrantes, exilados e refugiados de