Buscar

GE_Machine Learning_Unidade IV_DIGITAL PAGES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTRODUÇÃO 
A SISTEMAS 
INTELIGENTES
4
UNIDADE
SER_DATSCI_MACH_UNID4_V1.indd 95 30/10/2019 16:23:59
Objetivos da unidade
Tópicos de estudo
 Apresentar ao aluno os conceitos da aprendizagem bayesiana;
 Falar sobre a árvore de decisão e seus pontos positivos e negativos;
 Introduzir os conceitos de algoritmos evolucionários.
 Aprendizagem bayesiana
 Representação da aprendiza-
gem bayesiana
 Aplicabilidade
 Árvores de decisão
 Vantagens e desvantagens 
das árvores de decisão 
 Funcionamento da técnica
 Algoritmos evolucionários
 Origens e conceitos da com-
putação evolutiva
 Paradigma dos algoritmos 
evolutivos
 MACHINE LEARNING 96
SER_DATSCI_MACH_UNID4_V1.indd 96 30/10/2019 16:24:00
Aprendizagem bayesiana
Os primeiros cálculos que envolvem probabilidades tiveram origem na Idade 
Média, a partir de estudos de jogos de azar. Em 1964, os estudos de Blaise Pas-
cal e Pierre de Fermat iniciaram o desenvolvimento de uma ciência referente à 
esta vertente e, desde então, a teoria de probabilidades ganhou notoriedade em 
diversos procedimentos das Ciências Exatas. Thomas Bayes formulou o teore-
ma de probabilidade, que desencadeou no surgimento de um novo 
ramo da ciência estatística, denominado Estatística bayesiana.
EXPLICANDO
Thomas Bayes foi um importante matemático inglês, responsável por criar 
as primeiras equações e a primeira versão do teorema da probabilidade, 
que hoje leva o seu nome. O teorema é extremamente importante para a 
área de probabilidade e estatística.
Os métodos e as teorias bayesianas 
não são restritos aos ramos da Ciência 
Estatística e podem ser empregados 
em outras áreas, como, por exemplo, 
a da Inteligência Artifi cial, que neste 
caso denomina-se Inteligência Artifi -
cial Probabilística. Esta vertente, ge-
ralmente referida como aprendizado 
bayesiano, é aplicada em variados 
contextos, desde a área da saúde até 
áreas vinculadas ao entretenimento. Ademais, verifi ca-se que nos últimos 20 
anos, a aprendizagem bayesiana apresentou alto impacto no Machine Lear-
ning, visto que esta ferramenta possibilita uma maior fl exibilização no desen-
volvimento de modelos estruturados de fenômenos reais. 
O Machine Learning pode ser visualizado como uma ferramenta de análi-
se de dados que promove a automatização de mecanismos de construção de 
modelos analíticos. Essa ferramenta é um ramo da Inteligência Artifi cial e fun-
damenta-se na teoria de que os sistemas detêm a capacidade de aprender por 
 MACHINE LEARNING 97
SER_DATSCI_MACH_UNID4_V1.indd 97 30/10/2019 16:24:08
meio de dados, de modo que conseguem identifi car padrões e tomar decisões 
a partir de uma intervenção humana mínima (SOUZA, 2010).
Já a estatística bayesiana pode ser fi gurada como um mecanismo estatístico no 
qual, por meio do teorema de Bayes, é possível combinar informações subjetivas 
com informações provenientes de dados observados, de modo que seja possível 
atualizar as probabilidades de variáveis cujo estado não é observado, dada uma 
série de novas observações. Dessa forma, a partir dos avanços algorítmicos e do 
crescente desenvolvimento de recursos computacionais, a aprendizagem bayesia-
na ao automatizar os processos, torna viável o ajuste de modelos ricos e altamen-
te estruturados, antes considerados intratáveis, para desenvolver raciocínios que 
avançam em qualquer direção através de uma rede variável (LAPACE, 2017).
Diante disso, é possível inferir que tanto o raciocínio probabilista quanto 
o raciocínio lógico apresentam-se como mecanismos para modelar os siste-
mas que atuam racionalmente na área de Inteligência Artifi cial. De acordo com 
Marques e Dutra (1999), o raciocínio lógico possui a habilidade de retirar con-
clusões seguindo uma base ponderada do conhecimento prévio a respeito de 
um determinado problema. Já o raciocínio probabilista, no qual se enquadra a 
aprendizagem bayesiana, apresenta-se adequado para situações na qual não 
se obtém previamente todo o conhecimento acerca de um determinado pro-
blema, ou seja, o mesmo possibilita a representação de inferências prováveis, 
porém incertas. Dessa forma, de modo geral, a teoria referente à rede baye-
siana é determinada como uma abordagem interpretativa e analítica para a 
Inteligência Artifi cial Probabilística. Ela pode ser empregada para diversos fi ns, 
tais como: decisão, classifi cação, análise de dependência, entre outras.
Representação da aprendizagem bayesiana
Dentro desse contexto, a aprendizagem bayesiana pode ser visualizada 
com um mecanismo desenvolvido para obter uma representação interna da 
rede, tendo o poder de defi nir um dado domínio com o intuito de facilitar a 
extração do conhecimento. Dentro desse processo de aprendizagem, torna-se 
necessário realizar o cálculo das distribuições de probabilidade, referente aos 
parâmetros numéricos, como também identifi car a estrutura da rede (identifi -
car variáveis e relações de interdependência dadas pelos arcos). 
 MACHINE LEARNING 98
SER_DATSCI_MACH_UNID4_V1.indd 98 30/10/2019 16:24:08
O processo de aprendizagem bayesiana pode ser dividido em duas seções 
e ambas podem ser aprendidas a partir de um método especialista ou indu-
tivo, sendo elas: aprendizagem da estrutura (e relações entre as variáveis) e 
aprendizagem dos parâmetros numéricos (distribuição de probabilidade). No 
caso referente à metodologia de aprendizagem especialista, infere-se que o 
conhecimento necessário é transmitido por intermédio de um responsável e 
ele deve ser especialista, para que aplique seus conhecimentos para definir e/
ou supervisionar a construção da rede (HRUSCHKA, 2003).
A metodologia referente à aprendizagem indutiva, diferentemente da 
aprendizagem especialista, emprega como base um banco de dados de exem-
plos e, partindo dele, uma rede é desenvolvida automaticamente. Dentro desse 
contexto, com o intuito de encontrar uma estrutura para representar fielmente 
o domínio modelado e algoritmos que determinem as distribuições de proba-
bilidade, vários algoritmos foram propostos na literatura de redes bayesianas.
Ademais, o aprendizado bayesiano também pode ser caracterizado como 
sendo do tipo supervisionado, visto que são fornecidas ao algoritmo de apren-
dizagem de máquina instâncias juntamente com suas classes. De acordo com o 
paradigma estatístico, os algoritmos utilizam as fórmulas estatísticas e o cálcu-
lo de probabilidades para obter a classificação (MITCHELL, 1997). 
Diante disso, existem diversas vantagens referentes ao método, tais como: 
possibilidade de embutir nas probabilidades calculadas o conhecimento de 
domínio já existente (caso exista), capacidade das classificações feitas pelo al-
goritmo serem baseadas em evidências fornecidas, que podem aumentar ou 
diminuir as probabilidades das classes a serem observadas em uma nova ins-
tância que se quer classificar, fornecimento de algoritmos práticos de apren-
dizagem e fornecimento de uma estrutura conceitual (PARDO; NUNES, 2002). 
No entanto, existem importantes desvantagens referentes a esse método, 
principalmente devido ao seu caráter estatístico, sendo elas: requerimento de 
um conhecimento inicial de várias probabilidades, visto que um elevado nú-
mero de probabilidades deve ser calculado. No que tange o alto custo para 
calcular as probabilidades, o uso do classificador Naïve Bayes se mostra como 
uma solução de redução de custos (PARDO; NUNES, 2002). 
Dessa forma, de modo geral, uma rede bayesiana pode ser modelada a par-
tir de um classificador, calculando a probabilidade de P (C|V), no qual C repre-
 MACHINE LEARNING 99
SER_DATSCI_MACH_UNID4_V1.indd 99 30/10/2019 16:24:08
senta a classe analisada e V o conjunto de variáveis que descrevem os padrões. 
Diante disso, o classifi cador Naïve Bayes se fundamenta na aplicação do Teo-
rema de Bayes no cálculo das probabilidades necessárias para a classifi cação. 
Assim, dada uma nova instância, A = a1, a2, ..., an,para predizer uma classe, o 
teorema de Bayes pode ser equacionado da seguinte maneira:
 
P (classe A) =
P (A|classe) x P (classe)
P (A)
Como A = a1, …, an, tem-se:
 
P (classe|a1, …, an) =
P (a1, …, an|classe) x P (classe)
P (a1, …, an)
O modelo apresentado demonstra uma exemplifi cação particular de uma 
rede bayesiana, na qual são consideradas variáveis condicionalmente indepen-
dentes dentro do domínio, ou seja, as características não se relacionam entre 
si. Dessa forma, é possível aferir que o processo de aprendizagem pelo método 
de Naïve Bayes é realizado de forma indutiva. Ademais, o mesmo apresenta 
um conjunto de dados de treinamento e calcula a probabilidade condicional de 
cada atributo Ai, dado uma classe C. 
Dessa forma, em suma, o pensamento bayesiano tem a função de providen-
ciar uma abordagem probabilística para aprendizagem. Essa abordagem é feita 
por meio de uma suposição de que as quantidades de interesse são reguladas 
por distribuições de probabilidade (função que descreve a probabilidade de uma 
variável aleatória assumir certos valores). A partir de então, decisões ótimas po-
dem ser adotadas com base nas probabilidades adquiridas, conjuntamente com 
os dados observados. A ferramenta analisada pode ser empregada em diversas 
aplicações, em várias áreas do conhecimento, tais como: diagnóstico médico, 
aprendizagem de mapas, interpretação de linguagem, visão, dentre outras.
Aplicabilidade
O algoritmo Naïve Bayes está sendo muito utilizado na fi ltragem de spam. 
Nesse caso, a máquina é treinada para contar as menções de um assunto em 
específi co na caixa de spam e na caixa de entrada normal, multiplica as duas 
 MACHINE LEARNING 100
SER_DATSCI_MACH_UNID4_V1.indd 100 30/10/2019 16:24:08
EXEMPLIFICANDO
Vamos dizer que uma conta de e-mail coorporativa tem recebido inúmeros 
e-mails diários com o título “Emagreça”, que são considerados spam, e é 
necessário que eles sejam bloqueados de uma vez. Por esse assunto ser 
de grande interesse de muitas pessoas, a preocupação da organização 
é que seus colaboradores comecem a abrir o e-mail e que o vírus seja 
multiplicado dentro e fora da empresa. Nesse exemplo, a máquina conta o 
número de menções “Emagreça” Caixa de Entrada e na de spam, depois 
multiplica as duas probabilidades usando a equação de Bayes e soma o 
resultado. Com isso, temos o Machine Learning utilizando algoritmo Naïve 
Bayes.
probabilidades usando o método de Bayes, soma os resultados e assim temos 
a máquina treinada.
Vamos entender como funciona o algoritmo Naïve Bayes na prática, através 
de um exemplo simples no Python. Para isso, vamos utilizar a biblioteca Scikit 
Learn (ou sklearn). O Naïve Bayes é implementado no sklearn de três formas: 
Gaussian, Multinomial e Bernoulli. 
Gaussiano: tido como uma distribuição normal, é usada na classificação.
Multinomial: utilizado para contagem discreta, ou seja, imagine que preci-
samos fazer a classificação de texto. Com ele, é possível contar quantas vezes a 
palavra ocorre no documento.
Bernoulli: este modelo é útil quando os vetores são binários. A classificação 
neste modelo considera, por exemplo: 1 para a palavra que aparece no docu-
mento e 0 para a palavra não aparece no documento.
Passo 1. No Python, importar a biblioteca Gaussiano, conforme exibido a 
seguir:
#importação da biblioteca no modelo Naïve Bayes Gaussiano
from sklearn.naive_babys import GaussianNB
import numpy as np
#designar as variáveis
x = np.array ([[-3,7], [1,5], [1,2], [-2,0], [2,3], [-4,0], [-1,1], [1,1],
y = np.array ([3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4])
 MACHINE LEARNING 101
SER_DATSCI_MACH_UNID4_V1.indd 101 30/10/2019 16:24:08
Passo 2. Criar um classifi cador, treinar o modelo e defi nir previsão, confor-
me ilustrado a seguir.
#criar um classifi cador gaussian
model = GaussianNB ()
#treina o modelo usando os dados de treino
model.fi t (x,y)
#resultado preditivo
predicted = model.predict ([[1,2], [3,4]])
print (predicted)
Output: ([3,4])
O exemplo ilustrado aqui é apenas um modelo básico que podemos criar 
através do Naïve Bayes. Esse modelo pode ser melhorado de acordo com a 
necessidade, ajustando os parâmetros, e pode criar premissas.
Árvores de decisão
Os métodos de Machine Learning 
podem ser determinados como algo-
ritmos que possibilitam aos compu-
tadores a habilidade de “aprender” 
ou compreender mecanismos, para 
que os mesmos consigam identifi car 
padrões dentro de um determinado 
conjunto de dados. Dessa forma, por 
meio desta ferramenta, é possível pro-
mover um agrupamento, em classes distintas de dados, com padrões seme-
lhantes. Esse processo pode ser supervisionado ou não. Caso seja, o algoritmo 
empregado busca a identifi cação de padrões a partir dos dados associados a 
cada uma das classes e as árvores de decisão fazem parte dessa vertente.
 MACHINE LEARNING 102
SER_DATSCI_MACH_UNID4_V1.indd 102 30/10/2019 16:24:10
As árvores de decisão são representações simples do conhecimento e po-
dem ser definidas como modelos estatísticos que utilizam um treinamento su-
pervisionado para a classificação e previsão de dados. Dessa forma, em outras 
palavras, elas possuem a função de construir classificadores que predizem ou 
revelam classes (entradas e saídas), como também informações úteis baseadas 
nos valores de atributos de um conjunto de dados. Esses modelos estatísti-
cos empregam uma estratégia que consiste em dividir para conquistar. Assim, 
dentro dessa vertente, um problema complexo pode ser decomposto em sub-
problemas mais simples; recursivamente, esse princípio é aplicado em cada 
subproblema gerado (GAMA, 2004).
O mecanismo proposto pelas árvores de decisão apresenta grande utilidade 
em atividades vinculadas à mineração de dados, nas quais é necessário um pro-
cesso efetivo de extração de informações previamente desconhecidas, a partir 
de grandes bases de dados. As árvores de decisão destacam-se como um dos 
algoritmos mais populares de inferência e apresentam uma gama de aplicações 
em diversas áreas, como, por exemplo, diagnóstico médico, cenários de negó-
cios, risco de crédito, sistema de piloto automático de aeronaves, entre outros.
Além disso, a árvore de decisão apresenta algoritmos de aprendizagem que 
são altamente empregados e reconhecidos como uma das principais metodologias 
de aprendizagem supervisionada. Desses algoritmos, é possível extrair regras que 
são facilmente aplicadas e compreendidas, além de eles serem adaptados para re-
solver vários tipos de problema, tanto de classificação quanto de regressão. Ade-
mais, os mesmos possibilitam o desenvolvimento de modelos preditivos de alta 
precisão, estabilidade e facilidade de interpretação, diferentemente de modelos 
lineares que não conseguem mapear perfeitamente as relações não lineares.
Dessa forma, em suma, uma árvore de decisão enquadra-se em um tipo de 
algoritmo de aprendizagem que detém uma variável-alvo predefinida. Assim, 
para a construção de uma árvore de decisão, divide-se uma população 
ou amostra em dois ou mais conjuntos homogêneos, também cha-
mados de subpopulações, que são baseados nos divisores/
diferenciadores mais significativos das variáveis de entra-
da (GAMA, 2004).
A Figura 1 ilustra a representação de uma árvore de 
decisão, assim como sua respectiva representação no es-
 MACHINE LEARNING 103
SER_DATSCI_MACH_UNID4_V1.indd 103 30/10/2019 16:24:10
paço. Diante disso, por meio da ilustração, é possível identificar o nó de decisão 
da estrutura, no qual está contido um teste que se refere a algum atributo. A 
partir do nó de decisão, cada ramo que descende dele é correspondente a um 
possível valor deste atributo. Ademais, determina-se que o conjunto de ramos 
apresenta distinção, cada folha contida associa-se a uma classe e cada percurso 
da árvore, desde a raiz até a folha, é correspondente a uma regra de classifica-
ção. No que tange a representação no espaço, nos espaços definidospelos atri-
butos, cada folha corresponde a um hiperretângulo em que a interseção é vazia 
e a união é todo o espaço (GAMA, 2004).
A decisão de realizar divisões dos nós tem significativa influência na precisão de 
uma árvore, visto que a criação de sub-nós eleva a homogeneidade dos sub-nós 
resultantes. O critério empregado para possibilitar as partições fundamenta-se na 
utilidade do atributo para a classificação estabelecida. De acordo com Gama (2004), 
devido a esse critério, aplica-se um ganho de informação a cada atributo, fazendo 
com que o atributo escolhido para ser o teste para o corrente nó seja aquele com 
maior ganho de informação. Assim, a partir disso, um novo processo de partição 
é iniciado. A seleção do algoritmo para esse fim baseia-se nos tipos de variáveis de 
destino, em casos nos quais a árvore é empregada para a classificação e os critérios 
de partição mais conhecidos são baseados na entropia e no índice Gini.
Figura 1. Representação de uma árvore de decisão e sua respectiva representação no espaço. Fonte: GAMA, 2004. 
(Adaptado).
Folhas
Nó de decisão
Regra
<a2
<a1
>a1
a1
<a4
>a4
a4
a3
>a2
a2 x1
x2
>a3<a3
Raiz
1
1 2
3
4
5
X1 X2
X2 X14
2 5 3
 MACHINE LEARNING 104
SER_DATSCI_MACH_UNID4_V1.indd 104 30/10/2019 16:24:11
Vantagens e desvantagens das árvores de decisão
As árvores de decisão apresentam diversas vantagens quando comparadas 
com outros métodos, sendo uma delas o fácil entendimento. A fácil e intuitiva 
visualização gráfi ca dessa ferramenta permite que os problemas analisados 
sejam mais fáceis de compreender, visto que não exige conhecimento analítico 
e estatístico tanto para ler como para interpretar. Outro benefício desse me-
canismo refere-se à rapidez em identifi car as variáveis mais signifi cativas e a 
relação entre duas ou mais variáveis. Dessa forma, a exploração dos dados se 
torna mais útil, visto que esse benefício possibilita a criação de novas variáveis 
e/ou características com melhores condições para predizer a variável-alvo. 
Ademais, quando comparada com outros mecanismos de modelagem, a 
árvore de decisão tem menor necessidade de limpeza de dados, visto que, até 
certo nível, ela não recebe infl uência de pontos fora da curva outliers ou valores 
faltantes (missing values). Outra vantagem vincula-se ao fato desse método não 
CITANDO
“Em uma árvore de decisão cada atributo é representado por um nó de 
decisão, cuja função é testar o valor desse atributo. Uma classe é repre-
sentada por um nó folha, que reúne todos os Exemplos que chegarem a 
ele depois de satisfazerem os testes dos nós de decisão intermediários. 
Portanto, na regra de Árvore de Decisão, a classifi cação de um Exemplo 
desconhecido implica percorrer toda a árvore a partir de um nó raiz, 
testando atributos em sucessivos nós internos até chegar a um nó fo-
lha, que lhe atribuirá uma classe. O objetivo de uma árvore de decisão 
é retornar uma classe para um exemplo desconhecido” (GONZALEZ e 
ZAMPIROLLI, 2014, p. 56).
Existem dois tipos de árvore de decisão, a de variável categórica e a de va-
riável contínua. O critério para selecionar qual categoria o algoritmo de apren-
dizagem pertence fundamenta-se no tipo de variável de destino. Nos casos 
em que a árvore de decisão apresenta uma variável de destino categórica, a 
mesma passa a ser classifi cada como uma árvore de decisão de variável cate-
górica. Já nos casos em que a variável alvo é contínua, classifi ca-se como árvore 
de decisão de variável contínua (ANALYTICS VIDHYA, 2016).
 MACHINE LEARNING 105
SER_DATSCI_MACH_UNID4_V1.indd 105 30/10/2019 16:24:11
apresentar restrição por tipos de dados, de modo que é possível 
manipular variáveis numéricas e categóricas e ser também um 
método não paramétrico (ANALYTICS VIDHYA, 2016).
No entanto, como em qualquer outra metodologia, a utilização 
da árvore de decisão também apresenta desvantagens. Uma desvantagem 
importante refere-se à difi culdade de sobreajuste (overfi tting); para solucionar 
esta problemática, é necessário defi nir restrições tanto nos parâmetros do mo-
delo quanto da poda. Além disso, o método não se apresenta adequado quan-
do são utilizadas variáveis contínuas, visto que há uma perda de informações 
quando as variáveis são categorizadas em categorias diferentes.
Funcionamento da técnica
Vamos entender melhor como essa técnica funciona na prática. Para isso, 
vamos utilizar a ferramenta Weka e a base de dados Iris (disponível na web 
para realização de testes).
Passo 1. Com o Weka instalado, abra o software. A tela inicial é apresenta-
da, conforme a Figura 2. Na tela inicial, clique sobre Explorer e será exibida a 
tela para que possamos carregar o arquivo.
Figura 2. Tela inicial do Weka.
 MACHINE LEARNING 106
SER_DATSCI_MACH_UNID4_V1.indd 106 30/10/2019 16:24:12
Passo 2. Na aba “Preprocess”, clique sobre o botão “Open file”, procure a 
pasta onde o arquivo foi salvo conforme a Figura 3 e clique sobre o botão Abrir. 
O arquivo está em extensão .csv, portanto, no campo “Arquivos do Tipo:”, deve 
ser selecionado este, conforme exibido na Figura a seguir.
Figura 3. Carregamento do arquivo.
Figura 4. Tela de pré-processamento do arquivo.
Na tela em que se abrirá (Figura 4), é possível visualizar as características 
do conjunto. Em Current Relation, temos: nome do conjunto (Relation), atribu-
tos (Attributes), quantidade de instâncias (Instances) e soma de pesos (Sum of 
Weights), que são as características principais neste momento, ou seja, enten-
der quais são os atributos e as instâncias do conjunto.
 MACHINE LEARNING 107
SER_DATSCI_MACH_UNID4_V1.indd 107 30/10/2019 16:24:16
Passo 3. Na tela principal, clicar sobre a aba Classify, em seguida clicar so-
bre o botão Choose, onde será possível selecionar o algoritmo que iremos uti-
lizar para a regra de classificação e técnica de arvore de decisão. Na lista que 
será exibida, clique sobre trees e em seguida selecione o algoritmo J48 na lista, 
conforme Figura 5.
Figura 5. Seleção da regra de classificação, técnica árvore de decisão e algoritmo J48.
Após o algoritmo ser selecionado, clique na opção Use training set em Test 
options, conforme Figura 6, em seguida clique em Start para iniciar o treino 
do conjunto.
 MACHINE LEARNING 108
SER_DATSCI_MACH_UNID4_V1.indd 108 30/10/2019 16:24:16
Figura 6. Seleção do treino.
A Figura 7 exibe o resultado para o treino realizado no conjunto, no qual 
temos: informações dos atributos, instâncias e relação. Em J48 pruned tree, 
temos as condições do teste para classificar os tipos de flor, o número de níveis 
da árvore que foi igual a 5 e o tamanho igual a 9. Em Summary, temos a quanti-
dade de instâncias classificadas como corretas e erradas. No resultado de 150 
instâncias, 147 foram classificadas como corretas e três como erradas. Depois, 
temos Detailed Accuracy com a precisão detalhada e, por fim, Confusion Ma-
trix, onde temos detalhes da classificação, onde a = setosa, b = versicolor e c = 
virginica. Na matriz, é possível verificar que uma instância de b foi classificada 
como de c e duas instâncias de c foram classificadas como de b.
 MACHINE LEARNING 109
SER_DATSCI_MACH_UNID4_V1.indd 109 30/10/2019 16:24:17
Figura 7. Resultado do treino no conjunto Iris.
Passo 4. Vamos então gerar a árvore de decisão do conjunto treinado. Para 
isso, na tela exibida na Figura 7, em “Result list”, clique com o botão direito sobre 
o nome do algoritmo que aparece destacado em azul. Na aba em que se abrirá, 
selecione “Visualize tree” e assim temos nossa árvore gerada, conforme Figura 8.
 MACHINE LEARNING 110
SER_DATSCI_MACH_UNID4_V1.indd 110 30/10/2019 16:24:18
Figura 8. Árvore de decisão para o conjunto treinado.
Figura 9. Visualização da classificação do conjunto treinado.
Passo 5. Vamos agora visualizar o conjunto plotado de acordo com o que 
foi classificado. Para isso, clique sobre a aba “Visualize” na tela principal e, natela que se abrir, clique onde o eixo x é espécie e o eixo y também (você pode 
visualizar por todos os atributos, mas nesse exemplo vamos visualizar apenas 
um). Na tela que se abre, vá em “Jitter” e role a barra até o fim; dessa forma, a 
visualização será melhor, conforme a Figura 9.
 MACHINE LEARNING 111
SER_DATSCI_MACH_UNID4_V1.indd 111 30/10/2019 16:24:19
Algoritmos evolucionários
A ciência da computação apresenta como uma de suas ramifi cações a com-
putação evolutiva, técnica que juntamente com a rede neural e o sistema fuzzy, 
formam a área da Inteligência computacional (IC). As três ramifi cações se mos-
tram importantes ferramentas para estudar e solucionar problemas a partir 
de elementos de aprendizagem, adaptação, evolução e lógica. A inteligência 
computacional tem o intuito de modelar um comportamento inteligente e, des-
sa forma, desenvolver sistemas que apresentem características e capacidades 
inteligentes similares (GRACIANI, 1995). 
Origens e conceitos da computação evolutiva
A computação evolutiva pode ser 
visualizada como um ramo da inte-
ligência computacional inspirada na 
teoria da evolução de Darwin, que 
trata dos algoritmos evolutivos. Esta 
vertente desenvolve metodologias e 
mecanismos adaptativos com o intui-
to de empregar processos seletivos e 
evolutivos para resolução de proble-
mas complexos. A computação evo-
lutiva é constituída por cinco linhas 
diferentes: algoritmos genéticos (AG), 
programação evolutiva (PE), estraté-
gias de evolução ou evolutivas (EE), 
sistemas de classifi cação ou classifi -
cadores (SC) e programação genética 
(PG) (NAVAUX; SHUBEITA, 2003). O 
Diagrama 1 esquematiza a taxonomia 
da computação natural, evidenciando 
as cinco linhas existentes a partir da 
computação evolutiva.
 MACHINE LEARNING 112
SER_DATSCI_MACH_UNID4_V1.indd 112 30/10/2019 16:24:28
Computação 
natural
Redes 
neurais
Computação 
evolutiva
Sistemas 
nebulosos
Geometria 
fractal
Inteligência 
computacional
Sistemas 
complexos
Teoria 
do caos
Vida 
artificial
Programação 
evolutiva
Estratégias 
de evolução
Programação 
genética
Sistemas de 
classificação
Algorítimos 
gêmeos
DIAGRAMA 1. TAXONOMIA DA COMPUTAÇÃO NATURAL
Fonte: NAVAUX, SHUBEITA, 2003. (Adaptado).
A computação evolutiva se destaca por apresentar a vantagem de conse-
guir solucionar problemas a partir de uma simples descrição matemática da-
quilo que se quer ver presente na solução, não sendo necessária uma indica-
ção explícita dos passos até o resultado. Esses passos podem ser empregados 
para buscar a solução de uma ampla gama de problemas, fator que confere 
robustez e flexibilidade em todo o processo. Dessa forma, a computação evo-
lutiva pode ser visualizada, segundo Castro e Zuben (2007), como “um conjunto 
de técnicas e procedimentos genéricos e adaptáveis, a serem aplicados na so-
lução de problemas complexos”, nos quais as técnicas já empregadas não são 
eficazes ou aplicáveis. 
A evolução pode ser visualizada como um procedimento de busca por so-
luções para um determinado problema. Sendo assim, pode-se definir um al-
goritmo evolutivo como um procedimento interativo de busca (otimização), 
inspirado em mecanismos evolutivos biológicos, a fim de determinar soluções 
 MACHINE LEARNING 113
SER_DATSCI_MACH_UNID4_V1.indd 113 30/10/2019 16:24:29
de problemas complexos. Dessa forma, como o mecanismo empregado fun-
damenta-se na teoria da evolução, o mesmo atua nos fenótipos, para que os 
genótipos sejam direcionados para uma região da superfície de adaptação, da-
das as condições iniciais e restrições do ambiente. Para isso, uma função de 
avaliação determina uma superfície de adaptação (superfície de fi tness) com o 
intuito de solucionar um dado problema, buscando um pico ótimo na superfí-
cie de fi tness (CASTRO; ZUBEN, 2007).
Paradigma dos algoritmos evolutivos
Os algoritmos evolutivos apresentam-se como um novo paradigma no que 
tange a solução de problemas, visto que deixa de ser empregado o método de 
garantia de obtenção da solução e passa a ser utilizada a tratabilidade como 
ferramenta de propósito geral. A ideia básica referente ao novo paradigma, 
surgiu por volta dos anos 50, ao ser implementado em um computador a ideia 
do processo de evolução natural como um paradigma de solução de proble-
mas, mesmo com a falta de recursos tecnológicos da época (GRACIANI, 1995). 
Ao longo do tempo, em termos históricos, as metodologias referentes aos 
algoritmos evolutivos foram desenvolvidas de maneira independente umas 
das outras, sendo as principais sumarizadas a seguir: 
• Algoritmos genéticos (AG): é um método de busca e otimização, também 
conhecido como planos adaptativos, fundamentado por Holland (1962). O méto-
do em questão enfatiza o operador de recombinação como o principal operador 
de busca e aplicam mutação com baixas probabilidades (operador secundário). 
Por meio desse princípio, são desenvolvidos sistemas que buscam soluções para 
problemas complexos ou que possuem espaço de soluções 
muito grande, fator que os tornam problemas de difícil 
modelagem e solução em casos de otimizações conven-
cionais. Este algoritmo é inspirado em processos gené-
ticos de organismos biológicos em busca de soluções 
ótimas ou subótimas. 
• Programação evolutiva (PE): o método 
foi desenvolvido por Rechenberg (1973) e 
Schwefel (1975). Segundo os autores, a meto-
 MACHINE LEARNING 114
SER_DATSCI_MACH_UNID4_V1.indd 114 30/10/2019 16:24:29
dologia emprega as “mutações com distribuição normal para modifi car vetores 
reais e enfatizam a mutação e recombinação como operadores essenciais ao 
processo de busca no espaço de busca e no espaço de parâmetros”. O opera-
dor de seleção é determinístico e o tamanho da população pode variar.
• Estratégias evolutivas (EE): desenvolvida por Fogel et al. (1966). Destaca 
as mutações, no entanto, não incorpora a recombinação. Este método, quando 
aplicado em problemas de otimização de valores reais, utiliza mutações com 
distribuição normal e estende o processo evolutivo ao espaço de parâmetros.
• Programação genética (PG): metodologia desenvolvida por Koza (1992), 
que introduziu os algoritmos genéticos nos espaços de programas computa-
cionais. Neste método, as estruturas de dados são representadas por meio de 
árvores e os operadores de crossover e mutação são utilizados nesta situação. 
Todos os métodos citados apresentam-se resumidos no Quadro 1. É in-
teressante ressaltar que todos os algoritmos mencionados são passíveis de 
variações e hibridizações de representação e operadores, embora o quadro 
apresente os padrões originais desses algoritmos.
AG EE PE PG
Represen-
tação Cadeias binárias Vetores reais Vetores reais Árvores
Auto-
adaptação Nenhuma
Desvio parão e 
covariantes
Desvio padrão e 
coefi ciente de cor-
relação
Nenhuma
O fi tness é
Valor escalonado 
da função 
objetivo
Valor da função 
objetivo
Valor (escalonado) 
da função objetivo
Valor escalonado 
da função
objetivo
Mutação Operadorsecundário
Principal
operador Único operador
Um dos
operadores
Recombi-
nação
Principal
operador
Diferentes 
variações,
importante para
a autoadaptação
Nenhuma Um dosoperadores
Seleção Probabilística Determinística Probabilística Probabilística
Cadeias bináriasCadeias bináriasCadeias bináriasCadeias binárias
Nenhuma
Cadeias binárias
Nenhuma
Valor escalonado 
Nenhuma
Valor escalonado 
Vetores reais
Valor escalonado 
da função 
Vetores reais
Desvio parão e 
Valor escalonado 
da função 
objetivo
Vetores reais
Desvio parão e 
covariantes
Valor escalonado 
da função 
objetivo
Operador
secundário
Desvio parão e 
covariantes
Operador
secundário
Desvio parão e 
covariantes
Valor da função 
Operador
secundário
Vetores reais
Desvio parão e 
covariantes
Valor da função 
Principal
operador
Vetores reais
Desvio padrão e 
Valor da função 
objetivo
Principal
operador
Vetores reais
Desvio padrão e 
coeficiente de cor-
Valor da função 
objetivo
Principal
operador
Probabilística
Vetores reais
Desvio padrão e 
coefi ciente de cor-
Principal
operador
Probabilística
Desvio padrão e 
coefi ciente de cor-
relação
Valor (escalonado) 
Principal
operador
Diferentes 
importante para
Probabilística
Desvio padrão e 
coefi ciente de cor-
relação
Valor (escalonado) 
da função objetivo
operador
Diferentes 
variações,
importante para
a autoadaptação
Probabilística
Árvores
coefi ciente de cor-
Valor (escalonado) 
da função objetivo
Diferentes 
variações,
importante para
a autoadaptação
Árvores
Valor (escalonado) 
da função objetivo
Único operador
variações,
importante para
a autoadaptação
Determinística
Árvores
Nenhuma
Valor (escalonado) 
da função objetivo
Único operador
importante para
a autoadaptação
Determinística
Nenhuma
da função objetivo
Valor escalonado 
Único operador
a autoadaptação
Determinística
Nenhuma
Valor escalonado 
Único operador
Determinística
Valor escalonado 
da função
Único operador
Nenhuma
Valor escalonado 
da função
objetivo
Nenhuma
Valor escalonado 
da função
objetivo
Um dos
operadores
Probabilística
Um dos
operadores
Probabilística
Um dos
operadores
Probabilística
operadores
Um dos
operadores
Um dos
operadoresoperadores
Probabilística
operadores
ProbabilísticaProbabilísticaProbabilística
QUADRO 1. CARACTERÍSTICAS PRINCIPAIS DOS ALGORITMOS EVOLUTIVOS
Fonte: BACK, 1996. (Adaptado). 
 MACHINE LEARNING 115
SER_DATSCI_MACH_UNID4_V1.indd 115 30/10/2019 16:24:29
Aplicações de computação evolutiva podem ser empregadas em uma va-
riedade de áreas, desde Ciências Naturais e Engenharia até Biologia e Ciência 
da Computação. De acordo com Back (1994), elas podem ser subdivididas em 
cinco grandes áreas não exaustivas e não mutuamente exclusivas, tais como: 
planejamento, projeto (design), simulação, controle e classificação.
 MACHINE LEARNING 116
SER_DATSCI_MACH_UNID4_V1.indd 116 30/10/2019 16:24:29
Sintetizando
Como foi possível observar, os conceitos do método bayesiano não são uti-
lizados apenas em estudos que envolvem Ciência Estatística. O método já se 
expandiu para áreas como a da saúde e até do entretenimento, além de ter se 
tornado muito importante para o Machine Learning. O processo de aprendiza-
gem bayesiana pode ser dividido em duas partes, aprendizagem de estrutura 
e aprendizagem dos parâmetros numéricos e podem ser aprendidas pelo mé-
todo especialista ou indutivo.
Também nos aprofundamos na técnica das árvores de decisão, que são mo-
delos estatísticos que servem para classificação e previsão de dados e apresen-
ta algoritmos de aprendizagem que são reconhecidos como uma das principais 
metodologias de aprendizagem supervisionada. A técnica vem se mostrando 
muito útil para atividades de mineração de dados, mas é comumente utilizada 
em diversas áreas como diagnóstico médico, sistemas de piloto automático de 
aeronaves, entre outras. 
Entre as vantagens da utilização dessa ferramenta, podemos destacar algu-
mas como a sua fácil visualização gráfica, tornando fácil entender quais são os 
problemas analisados; rapidez para identificar as variáveis mais importantes e 
a menor necessidade de limpeza de dados. Já entre as desvantagens estão a 
dificuldade de sobreajuste e de trabalhar com variáveis contínuas. 
Por fim, também estudamos a computação evolutiva, uma das ramificações 
que formam a área de inteligência computacional (IC). Ela trata dos algoritmos 
evolutivos e busca desenvolver metodologias com o objetivo de empregar pro-
cessos seletivos e evolutivos para a resolução de problemas. A computação 
evolutiva se destaca por apresentar a vantagem de conseguir solucionar pro-
blemas a partir de uma simples descrição matemática daquilo que se quer ver 
presente na solução, não sendo necessária uma indicação explícita dos passos 
até o resultado.
As metodologias referentes aos algoritmos evolutivos foram desenvolvidas 
de maneira independente umas das outras, sendo as principais: al-
goritmo genéticos (AG), programação evolutiva (PE), estratégias 
evolutivas (EE) e programação genética (PG).
 MACHINE LEARNING 117
SER_DATSCI_MACH_UNID4_V1.indd 117 30/10/2019 16:24:29
Referências bibliográficas
ANALYTICS VIDHYA. A Complete Tutorial on Tree Based Modeling from 
Scratch (in R & Python). 2016. Disponível em: <https://www.analyticsvidh-
ya.com/blog/2016/04/complete-tutorial-tree-based-modeling-scratch-in-py-
thon/>. Acesso em: 06 jul. 2019.
BÄCK, T. Evolutionary Algorithms in Theory and Practice. Oxford: Oxford 
University Press, 1996.
FOGEL, L. J.; OWENS, A. J.; WALSH, M. J. Artificial Intelligence through Simula-
ted Evolution. New Jersey: John Wiley, 1966.
GAMA, J. A. Functional trees. Machine Learning, v. 55, p. 219-250, 2004.
INTRODUÇÃO ao Algoritmo Naïve Bayes. Postado por Jones Granatyr (8min. 
59s.). Disponível em: <https://www.youtube.com/watch?v=npl1uz8CMMY>. 
Acesso em: 09 jul. 2019.
INTRODUÇÃO as redes neurais convolucionais. Postado por Jones Granatyr. 
(13min. 16s.). Disponível em: <https://www.youtube.com/watch?v=7dsDHb-
6qKYI>. Acesso em: 10 jul. 2019.
GROSSE, R. Bayesian Machine Learning. Metacademy. 2013. Disponível em: 
<https://metacademy.org/roadmaps/rgrosse/bayesian_machine_learning/
edit>. Acesso em: 07 jul. 2019.
HOLLAND, J. H. Adaptation in Natural and Artificial Systems. Michigan: The 
University of Michigan Press, 1962. 
HRUSCHKA, E. R. Imputação bayesiana no contexto da mineração de dados. Progra-
ma de Engenharia Civil. Disponível em: <http://www.coc.ufrj.br/pt/teses-de-dou-
torado/147-2003/942-estevam-rafael-hruschka-junior>. Acesso em: 07 jul. 2019.
KOZA, J. R. Genetic Programming: on the Programming of Computers by 
Means of Natural Selection. Cambridge: MIT Press, 1992.
BRIEGA, R. E. L. Introducción a la inferencia Bayesiana con Python. Raul E. Lopez 
Briega. 2017. Disponível em: <https://relopezbriega.github.io/blog/2017/05/21/
introduccion-a-la-inferencia-bayesiana-con-python/>. Acesso em: 07 jul. 2019.
MARQUES, R. L.; DUTRA, I. Redes bayesianas: o que são, para que servem, al-
goritmos e exemplos de aplicações. Programa de Engenharia de Sistemas e 
Computação. 2008. Disponível em: <www.cos.ufrj.br/˜ines-/courses/cos740/
leila/cos740/Bayesianas.pdf>. Acesso em: 07 jul. 2019.
 MACHINE LEARNING 118
SER_DATSCI_MACH_UNID4_V1.indd 118 30/10/2019 16:24:29
MITCHELL, T. M. Machine Learning. New York: McGraw Hill, 1997.
NAVAUX, P. O.; SHUBEITA, F. M. Computação evolutiva e lógica fuzzy. Instituto 
de Informática UFRGS. 2003. 
PARDO, T. A.; NUNES, M. G. Aprendizado bayesiano aplicado ao processamento 
de línguas naturais. Núcleo Interinstitucional de Linguística Computacio-
nal. Disponível em: <http://conteudo.icmc.usp.br/pessoas/taspardo/NILCTR-
0225-PardoNunes.pdf>. Acesso em: 06 jul. 2019.
RECHENBERG, I. Evolutionsstrategie: Optimierung Technischer Systeme nach 
Prinzipien der Biologischen Evolution. Stuttgart: Frommann-Holzboog Verlag, 
1973.
SCHWEFEL, H. P. Evolutionsstrategie und Numerische Optimierung. Tese de 
doutorado – Technische Universität Berlin, Berlim, 1975.
SOUZA, A. L. Redes bayesianas: uma introdução aplicada a credit scoring. In: 
Simpósio Nacional de Probabilidade e Estatística (SINAPE), 19., 2010, São Pedro. 
Anais... São Pedro: SINAPE, 2010. Disponível em: <http://www.ime.unicamp.br/
sinape/sites/default/files/Anderson%20L.%20Souza%20-%20Redes%20Baye-
sianas-%20vSINAPE%20final_0.pdf>. Acesso em: 06 jul. 2019.
VASCONCELOS, E. C. Árvores de decisão aplicadas ao problema da separa-
ção da estrela/galáxia. 2011. 72 f. Dissertação de mestrado – Instituto Nacio-
nal de Pesquisas Espaciais, 2011. Disponível em: <http://mtc-m16d.sid.inpe.br/
col/sid.inpe.br/mtc-m19/2011/06.10.18.36/doc/publicacao.pdf>. Acesso em: 06 
jul. 2019.
 MACHINE LEARNING 119
SER_DATSCI_MACH_UNID4_V1.indd 119 30/10/2019 16:24:30

Outros materiais