Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
o problema Poker-hands
Fernando Leite Todo1, Gustavo M. Tfoli1, Lailson M. Tofanelli1
1
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,
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
3. Tcnicas utilizadas
3.1.1
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
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.
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
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.
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
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
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.