You are on page 1of 14

Comparao entre Rede Neural e rvore de Deciso para

o problema Poker-hands
Fernando Leite Todo1, Gustavo M. Tfoli1, Lailson M. Tofanelli1
1

Departamento de Informtica Universidade Estadual de Maring (UEM)

ferleitte1@gmail.com, gmtofoli@gmail.com, lailsontofanelli@gmail.com

Resumo. Foi implementado um software em Java para criar modelos de redes


neurais e rvores de deciso, neste caso usaremos o problema Poker-hands.
Ele resume-se em classificar qual a mo (5 cartas de um baralho
convencional de 52 cartas) de um jogador de Poker. um problema de
classificao, portanto rvores de Deciso e Redes Neurais podem resolv-lo.
Neste artigo vamos comparar as duas tcnicas.

1. Introduo
Ao longo da histria diversas formas de tecnologias surgiram para auxiliar ou
realizar uma funo em nossa sociedade. Uma delas surgiu logo aps a Segunda Guerra
Mundial, com o artigo Computing Machinery and Intelligence do matemtico ingls
Alan Turing. O conceito prope o uso de computadores simulando inteligncia humana.
Mais tarde, com a evoluo do tema, o termo Inteligncia Artificial, juntamente com o
aparecimento de computadores modernos, foi consolidado dentro da Cincia da
Computao. Dentro da Inteligncia Artificial existe um estudo chamado Aprendizado
de Mquina, pelo qual se estuda tcnicas estatsticas e computacionais para programar
mquinas para aprender com a experincia. Neste artigo, dado um problema de
classificao, que est dentro do escopo da aprendizagem de mquina, vamos utilizar
modelos de redes neurais e rvores de deciso a fim de comparar a eficincia de ambas
as tcnicas. A base de dados usada para o problema de classificao a Poker-hand.
Nela existem dados instanciados de provveis mos que um jogador de poker
pode ter ao tirar 5 cartas, onde a ordem importante. O objetivo do trabalho comparar,

atravs de um software implementado em Java, duas tcnicas de aprendizagem de


mquina, Rede Neural e rvore de Deciso, a fim de identificar qual delas mais
eficiente na classificao das mos entre os jogos possveis. Primeiramente
apresentada a descrio do problema que vamos abordar, em outro momento as tcnicas
utilizadas e os mtodos de avaliao so descritos. Por fim, as simulaes e os
resultados dos experimentos so apresentados em forma de tabelas e grficos.

2. Descrio do problema
A base de dados usada nesse trabalho foi adaptada e reduzida para 5000 linhas
(disponvel em http://archive.ics.uci.edu/ml/machine-learning-databases/poker/). Possui
10 atributos preditivos e 1 atributo objetivo. Cada registro da base de dados um
exemplo de uma mo contendo de 5 cartas de um baralho padro de 52 cartas. Cada
carta descrita utilizando dois atributos, nmero ou smbolo (s, dois, trs, dama ) e
naipe (copas, espada, ouros e paus). Existe, tambm, um atributo classe que representa
um jogo ou mo (um par, Flush, dois pares, Stright flush, entre outros) num total de 10
possveis mos incluindo no ter nenhum jogo formado. Nota-se que no existe falta de
atributos na base de dados.
Vamos testar e comparar duas tcnicas para a classificao do problema.
Classificar o problema significa relacionar cada instncia ou mo do jogador (5 cartas)
com um dos jogos possveis dentro do universo do problema, incluindo no ter jogo
nenhum. Como sada para ambas abordagens, Rede Neural e rvore de Deciso, o
software mostra o porcentagem

de instncias classificadas

corretamente e

incorretamente, o erro absoluto e quadrtico, quantas instncias no foram classificadas


e sua porcentagem.

3. Tcnicas utilizadas

3.1 Redes Neurais Artificiais (RNA)

As Redes Neurais Artificiais tiveram incio com McCulloch e Pitts em 1943,


posteriormente duas publicaes, Hebb (1949) e Rosemblatt (1958) tiveram forte
impacto sobre esse domnio.
Uma Rede Neural Artificial composta por vrias unidades de processamento.
Essas unidades, geralmente so conectadas por canais de comunicao que esto
associados a determinado peso. As unidades fazem operaes apenas sobre seus dados
locais, que so entradas recebidas pelas suas conexes. A integrao entre as unidades
de processamento da rede o que designa o comportamento inteligente de uma RNA.
Uma representao de Rede Neural Artificial apresentada na Figura 1:

Figura 1: Rede Neural (fonte: http://www.din.uem.br/ia/neurais)

A operao de uma unidade de processamento pode ser resumida da seguinte


maneira:
Sinais so apresentadas entrada;
Cada sinal multiplicado por um nmero, ou peso, que indica a sua influncia
na sada da unidade;
feita a soma ponderada dos sinais que produz um nvel de atividade;

Se esse nvel de atividade exceder um certo limite, chamado de threshold, a


unidade produz uma determinada resposta de sada.
Na entrada da rede onde os padres so apresentados rede na forma de casos
ou exemplos. Os neurnios intermedirios compem a a camada intermediria, onde
feita a maior parte do processamento. Esses neurnios so responsveis por extrair
caractersticas do problema submetido rede neural. Nota-se que uma rede neural pode
ter apenas uma ou vrias camadas intermedirias. Na sada onde o resultado final
concludo e apresentado.
A maioria dos modelos de redes neurais possuem regras de treinamento, onde os
pesos de suas conexes so ajustados de acordo com os padres encontrados. O
treinamento tem o objetivo de aprender atravs dos exemplos ou casos designados para
essa tarefa. Essa aprendizagem feita atravs de um processo iterativo de ajustes
aplicado a seus pesos.

3.1.1

Redes Neurais Multi-Camadas

Quando Redes Neurais Artificiais de uma s camada so utilizadas, os padres de


treinamento apresentados entrada so mapeados diretamente em um conjunto de
padres de padres de sada da rede. Significa que no possvel a formao de uma
representao interna. Essa restrio implica que padres de entrada similares resultem
em padres de sada similares, o que leva o sistema incapacidade de aprender
importantes mapeamentos. Para que seja possvel ter padres de sadas no similares a
partir de padres de entradas similares necessrio que eles sejam mapeados por redes
que apresentam representaes internas, isto , que contm vrias camadas.

3.1.1.1 Perceptron Multi-Camadas (MLP)


Perceptron um tipo de Rede Neural Artificial criada em 1957 por Frank Rosenblatt no
Cornell Aeronautical Laboratory. Pode ser visto como o tipo mais simples de rede
neural feedforward: um classificador linear.

Minsky e Papert analisaram matematicamente o Perceptron e demonstraram que


redes de uma camada no so capazes de resolver problemas de no sejam linearmente
separveis. Em 1986, Rumelhart, Hinton e Williams desenvolveram o algoritmo de
treinamento backpropagation, mostrando que possvel treinar eficientemente redes
com camadas intermedirias, dando origem as redes Perceptron Multi-Camadas, as
quais utilizam backpropagation.
Durante o treinamento com o algoritmo backpropagation, a rede opera em uma
sequncia de dois passos. Primeiro, um padro apresentado camada de entrada da
rede. Assim, a atividade resultante flui atravs da rede, camada por camada, at qu ea
resposta seja produzida pela camada de sada. No segundo passo, a sada obtida
comparada sada desejada para esse padro particular. Se no estiver correta, o erro
calculado. O erro propagado da camada de sada at a camada de entrada.

3.1.1.2 Treinamento de rede MLP


O treinamento supervisionado de rede MLP utilizando backpropagation consiste em
dois passos:
1. Um padro apresentado s unidades da camada de entrada e a partir dessa
camada as unidades calculam sua resposta que produzida na camada de sada.
Nesse passo o erro calculado.
2. O erro propagado a partir da camada de sada at a camada de entrada, os
pesos das conexes das unidades das camadas internas vo sendo modificados
conforme o erro retropropagado. Assim, o erro progressivamente diminudo.

3.2 rvore de Deciso


rvores de Deciso so um dos modelos mais prticos e mais usados em inferncia
indutiva. uma abordagem que baseia-se em estimativas e probabilidades associadas
aos resultados de cursos de ao que competem entre si. O resultado de cada curso de
ao ponderado pela probabilidade associada a ele. Assim, o resultado ponderado

somado e o valor esperado de cada curso de ao determinado. rvores de Deciso


so treinadas de acordo com um conjunto de treino (exemplos previamente
classificados) e posteriormente, outros exemplos so classificados de acordo com essa
mesma rvore. Existem vrios algoritmos para construo de rvores de deciso, como
ID3, ASSISTANT, C4.5.
As rvores de Deciso podem ser aplicadas a grandes conjuntos de dados e
possibilitam uma viso real da natureza do processo de deciso, desta forma, o resultado
do algoritmo pode ser facilmente interpretado pelo usurio.

3.2.1

O algorimto J48

O algoritmo J48 consiste numa implementao Open Source em Java do algoritmo C4.5
para a ferramenta Weka. Ele caracteristicamente um classificador pois gera rvore de
deciso a partir de um conjunto de dados de treinamento.
O algoritmo C4.5 lida tanto com atributos discretos quanto contnuos, no utiliza
a amostra para os clculos de entropia e ganho e utiliza a medida de razo de ganho para
selecionar o melhor atributo que divide os exemplos. Uma das vantagens desse
algoritmo o mtodo de ps poda da rvore de deciso gerada. Esse mtodo utilizado
aps a construo da rvore de deciso, removendo ramos completos, onde tudo o que
est abaixo de um n interno excludo e este n transformado em folha,
representando a classe mais frequente do ramo.
Desta forma, na primeira etapa, o algoritmo calcula o ganho de informao para
todos os atributos. Aps isso, considera-se os atributos que obtivera, o ganho de
informao acima da mdia e ento escolhe o atributo com a melhor razo de ganho
para ser a raiz da rvore.

4. Mtodos de avaliao
Investigamos o problema em um conjunto de redes MLP, cada uma com diferentes
valores de parmetros na soluo do problema e criao de rvores de deciso com o

algoritmo J48. Para os experimentos implementamos um software em Java utilizando a


API do Weka (Waikako Environment for Knowledge). O algoritmo de rede neural MLP
foi escolhido por ser um dos mais usados na literatura e resolver problemas de
classificao assim como rvores de deciso. Para a anlise dos dados, o software gera
logs com as porcentagens de instncias classificadas corretamente e no corretamente,
taxas de erro, entre outros. Aps a coleta dos dados elegemos o melhor modelo de
rvore de deciso, isto , a melhor configurao resultante, o melhor modelo de rede
neural e, ento, compar-los.

4.1 Implementao
Foi desenvolvido um software em Java, utilizando a IDE Netbeans. A API do software
Weka foi usada para implementar as tcnicas aqui citadas, Rede Neural MLP e o
algoritmo de rvore de Deciso C4.5, tambm chamado de J48 em sua implementao
em Java dentro software Weka. O Software Weka foi desenvolvido na Universidade de
Waikako na Nova Zelndia, sendo adquirido posteriormente por uma empresa no final
de 2006. O programa tem como objetivo agregar algoritmos provenientes de diferentes
abordagens e paradigmas na rea da Inteligncia Artificial e Estatstica dedicada ao
estudo de aprendizagem de maquinas.
5. Resultados
5.1 Execuo para rvore de Deciso
Abaixo esto o resultado da execuo para a rvore de Deciso. Aps os
Screenshots os dados foram dispostos em tabelas para melhor visualizao. As
execues foram realizadas a partir de uma base de dados com 5 mil instncias, das
quais 25% foram utilizadas para treinamento e 75% usadas para teste. Portanto, temos
em mdia, 3900 instncias para serem classificadas.

Figura 2: Resultados da rvore com Minimo de Instancias nas Folhas igual a 1.

Figura 3: Resultados da rvore com Minimo de Instancias nas Folhas igual a 2.

Figura 4: Resultados da rvore com Minimo de Instancias nas Folhas igual a 3.

Figura 5: Resultados da rvore com Minimo de Instancias nas Folhas igual a 4.

No modelo executado, ele apresenta os seguintes resultados, conforme mostra a


tabela abaixo:

Tabela 1: Matriz Confuso para rvore de Deciso.

Minimo de
Matriz Confuso
Instancias nas Verdadeiro Verdadeiros
Falso
Falso
Folhas
Positivos
Negativos Positivos Negativos
1
597
1482
713
1108
2
528
1549
646
1177
3
459
1635
560
1246
4
511
1570
625
1194
Na tabela apresentada possvel identificar os valores para a matriz confuso. A
seguir exibido em outra tabela, as intncias corretas e incorretas. Tambm possvel
ver suas porcentagens:
Tabela 2: Instncias para rvore de Deciso.

Minimo de
Instancias
nas Folhas
1
2
3
4

Instncias
Classificadas
Corretamente
Total Porcentagem
1888
48.41
1885
48.33
1877
48.12
1877
48.12

Instncias no
Classificadas
Corretamente
Total
Porcentagem
2012
51.58
2015
51.66
2023
51.87
2023
51.87

Com as execues para a rvore de deciso possvel identificar que as


classificaes no foram eficientes, visto que as porcentagens de classificaes
incorretas so maiores que as corretas. Assim, a rvore de deciso no obteve um bom
resultado.

5.2 Execuo para Rede Neural


Abaixo esto o resultado da execuo para a Rede Neural. Aps os Screenshots
os dados foram dispostos em tabelas para melhor visualizao. As execues tambm

foram realizadas a partir de uma base de dados com 5 mil instncias, das quais 25%
foram utilizadas para treinamento e 75% usadas para teste. Portanto, temos em mdia,
3900 instncias para serem classificadas.

Figura 5: Resultados da rede com Tempo de Aprendizagem igual a 100.

Figura 7: Resultados da rede com Tempo de Aprendizagem igual a 200.

Figura 8: Resultados da rede com Tempo de Aprendizagem igual a 300.

Figura 8: Resultados da rede 4 com Tempo de Aprendizagem igual a 400.

A seguir exibido em uma tabela as intncias corretas e incorretas. Tambm


possvel ver suas porcentagens:

Tabela 4: Instncias para Rede Neural.

Tempo de
Aprendizagem

100
200
300
400

Instncias
Classificadas
Corretamente
Total Porcentagem
1811
46.43
1774
45.48
1794
46
1805
46.28

Instncias no
Classificadas
Corretamente
Total
Porcentagem
2089
53.56
2126
54.51
2106
54
2095
53.71

Com as execues para a Rede Neural possvel identificar que as classificaes


tambm no foram eficientes, visto que as porcentagens de classificaes incorretas so
maiores que as corretas. Entretando, ao aumentar o tempo de aprendizagem, os
resultados so melhores.

5.3. Comparao entre as duas tcnicas

Foi elaborado um grfico para comparar as classificaes corretas e incorretas


entre a rvore de deciso e a Rede Neural. Os dados obtidos das execues mostrados
nas sees anteriores foram somados e tirados sua mdia para a comparao. Portanto, o
grfico abaixo mostra a diferena das classificaes entre as tcnias abordadas:

Grfico 1: Diferena das classificaes entre rvore de Deciso e Rede Neural.

Diferena das classificaes


56
54
52
50
48
46
44
42
rvore de Deciso

Rede Neural

Corretas

Incorretas

6. Concluso
Em nosso trabalho abordamos a problemtica de classificao de padres. O
problema escolhido foi relacionado ao Poker. O problema se resume a quais as cartas
que um jogador de Poker tem em sua mo, e classificar a partir dessas cartas, qual a
jogada que ele poder fazer. A base de dados inicial era de 1 milho e 25 mil instncias,
entretanto, por motivos de tempo de execuo s foram utilizaas 5 mil instncias.
Para a classificao foi implementado funes a partir da API do Weka em Java,
com uma interface amigvel e simples de compreender. Aps as execues, os dados
foram dispostos em tabelas e comparados.
Neste trabalho conclumos que a rvore de deciso apresenta tempo de execuo
bastante inferior em relao rede neural. As classificaes em ambos tem
porcentagens semelhantes. Entretando na rede neural, com o aumento do tempo de

aprendizagem, as classificaes corretas tem um leve aumento. Mas nesse trabalho, a


rovere de deciso obteve melhores resultados quanto a classificao correta das mos
dos jogadores de Poker no problema tratado.

Referncias Bibliogrficas
[1] http://www.din.uem.br/ia/neurais < acessado em: 14/02/2016>
[2] DIAS, Danilo. Criando e Aplicando modelos de redes neurais e rvores de
deciso. Faculdade de Sistemas de Informao, Universidade Federal do Oeste do Par,
Santarm, 2010.
[3] WAIKATO, Machine Learning Group At The University Of. Weka 3: Data Mining
Software in Java. Disponvel em: <http://www.cs.waikato.ac.nz/ml/weka/>. Acesso
em: 14 fev. 2016.

You might also like