Buscar

APOSTILA - INTELIGÊNIA ARTIFIIAL E APRENDIZADO DE MAQUINA - UNIDADE 4 (ANHEMBI MORUMBI UAM) CURTA SE LHE AJUDOU! ;D

Prévia do material em texto

INTELIGÊNCIA ARTIFICIAL EINTELIGÊNCIA ARTIFICIAL E
APRENDIZADO DE MÁQUINAAPRENDIZADO DE MÁQUINA
PROCESSAMENTO DAPROCESSAMENTO DA
LINGUAGEM NATURAL ELINGUAGEM NATURAL E
ALGORITMOS EVOLUTIVOSALGORITMOS EVOLUTIVOS
Autor: Me. Jackson Luis Schirigatti
Revisor : Rene Marcel ino Abr i t ta Te ixe ira
IN IC IAR
introdução
Introdução
Um dos grandes desa�os da Inteligência Arti�cial na atualidade é replicar o
processamento da linguagem natural e o comportamento humano. Veremos
em nosso estudo que a comunicação entre máquinas e humanos é complexa,
mas está evoluindo através da contribuição com outras áreas da Inteligência
Arti�cial, como a mineração de dados, visão computacional, automação
inteligente e sistemas tutores. Veremos também que é possível modelar
problemas através da vida arti�cial. A partir dos algoritmos evolutivos,
especi�camente dos algoritmos genéticos, baseados na teoria da evolução
das espécies, iremos compreender esta modelagem. Finalmente, em um
tópico avançado, nos aprofundaremos no aprendizado máquina indutivo,
mostrando uma visão ampla de tarefas preditivas e descritivas.
O processamento de Linguagem Natural (PLN) para alguns autores é um
conceito e para outros é uma área da Inteligência Arti�cial. Para Morais et al.
(2018, p. 17), “é um conceito de Inteligência Arti�cial que permite a análise de
textos”. Para Mataric (2014, p. 361), “é o campo que estuda a compreensão da
língua escrita e falada. Uma parte da Inteligência Arti�cial”.
Coppin (2013, p. 497) explica a diferença entre a linguagem natural e formal. A
linguagem natural é aquela usada para a comunicação entre humanos e
máquinas e cujas sentenças podem ser ambíguas, ou seja, possui mais de um
signi�cado ou um signi�cado duvidoso. Já a linguagem formal, como as
linguagens de programação Java, Prolog, C++, não podem ter sentenças que
expressem ambiguidade, devem ter apenas uma interpretação.
Em síntese, podemos conceituar que a PLN é um campo da Inteligência
Arti�cial que estuda a língua natural, escrita e falada, objetivando a
comunicação efetiva entre humanos e computadores.
Processamento deProcessamento de
Linguagem NaturalLinguagem Natural
A Figura 4.1 ilustra um robô se comunicando por telefone, uma visão passada
do futuro presente. O que ocorre hoje seria exatamente deste modo, ou
quase isto. De uma maneira ainda não tão comum, as máquinas mecânicas
inteligentes, ou robôs que interagem diretamente com humanos, aparecem
em diversas situações de ambiente controlados, como serviços de hotel,
restaurantes, fábricas automobilísticas, transporte de cargas etc.
Outra forma mais comum de comunicação entre máquinas e humanos seria
através de sistemas que realizam a ligação e efetuam a comunicação através
do reconhecimento de voz ou compreensão da fala. É realizada, portanto,
uma comunicação compreensível entre programas robôs e os humanos. Este
exemplo é trivial nos dias de hoje. Empresas �nanceiras e de marketing, por
exemplo, implantam programas robôs que realizam todo o processo de
Figura 4.1 - Robô realizando uma comunicação por telefone. Atualmente,
estas ocorrem através de programas robôs 
Fonte:  Валерий Качаев / 123RF.
comunicação com clientes inadimplentes, avisando e orientando sobre seus
débitos, ou também se comunicando com potenciais clientes adimplentes,
oferecendo produtos e serviços.
Vimos que os conceitos PLN estão ligados à comunicação efetiva entre
máquinas e humanos. Contudo, nesta área da IA não é tão simples como
parece, veremos agora os avanços tecnológicos e problemas que ocorrem no
processamento de linguagem natural, bem como algumas técnicas utilizadas.
Visão Geral dos Problemas e Técnicas
O processamento da linguagem natural é um campo de aplicação amplo da
Inteligência Arti�cial, e de forma híbrida pode trazer grandes benefícios para o
homem. Contudo, a forma que as máquinas compreendem os humanos pode
ser complexa, mas não tão distante do que parece. A comunicação é algo
complexo que não se estende somente à fala, mas sim à escrita, gestos,
movimentos e outros fatores que veremos a seguir.
Para Mataric (2014, p. 340):
a robótica está se afastando da fábrica e do laboratório, está se
apropriando cada vez mais dos ambientes e costumes cotidianos
dos seres humanos, exigindo o desenvolvimento de robôs capazes
de interagir com as pessoas de uma forma natural. [...] [Os robôs
precisam também interagir socialmente] Quando você pensa em
interação social, [...] pensa em dois tipos de sinais: expressões
faciais e linguagem. [...] Felizmente rostos e linguagens não são as
únicas maneiras de interagir socialmente. [...] [É necessário incluir]
o processamento de informação humana, que consiste em uma
variedade de sinais complexos.
Este processamento de informação, como comenta Mataric (2014), necessita
de sinais complexos antes mesmo da realização do processamento da
linguagem natural. E são eles:
A fala (nuance do ritmo, nível de volume, tom);
A proxêmica (uso social do espaço), como distância física, quantidade
de movimento e direção em que um ser está do emissor ou receptor.
São informações sociais, como por exemplo a temperatura corporal e
os batimentos cardíacos;
A visão computacional (percepção e compreensão das imagens). O
olhar social é outro sinal importante antes da realização do
processamento da linguagem, compreendendo, assim, a expressão
facial.
O processamento da linguagem natural tem feito grandes progressos na IA.
Dentro da robótica, a comunicação entre humanos tem tido grandes avanços
através da linguagem escrita, falada e de movimentos. Na escrita se deve à
visão computacional pelo reconhecimento de padrões das imagens e pelos
motores de inferência (aprendizagem) pela mineração de dados. Contudo, as
máquinas precisam de um alto poder de processamento para o
reconhecimento de padrões, diferente de nós humanos, que reconhecemos
instantaneamente objetos em uma imagem. Quanto a falada, já existem
humanoides que conversam com humanos e aprendem com as conversas
realizadas.
reflita
Re�ita
Vimos que as máquinas inteligentes podem reconhecer
objetos em imagens através de sensores que realizam a
aquisição da mesma, técnicas de mineração de dados e de
algoritmos de reconhecimento de padrões. Mas por que o
cérebro humano tem a capacidade instantânea de reconhecer
padrões mais rápido que uma máquina?
Fonte: Elaborado pelo autor.
Para compreendermos melhor os avanços e problemas relacionados ao
convívio social entre máquinas, veremos como as áreas de robótica de
serviços, robótica assistiva e tutores inteligentes se integram ao
processamento da linguagem natural e a automação do comportamento
humano.
Robótica de Serviços e Assistiva
Na área da robótica de serviços já existem robôs que imitam
comportamentos humanos relacionados aos movimentos, como abrir portas,
correr, saltar, e outros com aparência humana. Por exemplo, os robôs
humanoides realizam tarefas dos humanos, como realizar serviços em um
restaurante, atender os clientes fazendo pedidos sugerindo opções e
preferências baseadas em seus per�s enquanto os pedidos já estão sendo
enviados para a cozinha, levar os pratos prontos e retirar os sujos e até
mesmo lavá-los.
A Figura 4.2 ilustra o robô humanoide Asimo, que imita movimentos humanos
e reconhece pessoas, sendo uma inovação relacionada à mobilidade e
trabalhos em equipe. O humanoide Asimo consegue realizar a manutenção
de uma conversa entre humanos por voz e sinais de linguagem.
Figura 4.2 - Robô humanoide Asimo 
Fonte: Coward_lion / 123RF.
A robótica assistiva, para Mataric (2014, p. 342), refere-se a “sistemas de robôs
capazes de ajudar pessoas com necessidades especiais, como indivíduos
convalescendo de uma doença, ou precisando de reabilitação após um
acidente ou trauma, ou aprendendo, ou treinados em ambientes especiais
[...]”.
Dentre os robôs assistivos, a Figura 4.3 abaixo ilustra a humanoide Sophia. Foi
projetada para conversação, entrevistas, assistência ao clientee educação.
Utiliza um software de Inteligência Arti�cial que aprende com cada conversa
realizada e projeta mais de 60 expressões faciais, personi�cando a
inteligência. Atualmente, é o humanoide com melhor interação já existente.
Esta humanoide conecta à internet para a busca constante de informações
para a sua base de conhecimento.
Outra área de IA que pode integrar-se à robótica, à PLN, ao aprendizado
máquina e à visão computacional é a dos tutores inteligentes. Veremos agora
como estes sistemas inteligentes trabalham.
Tutores Inteligentes
Através da Inteligência Arti�cial é possível ensinar os sistemas inteligentes a
trabalhar, pensar e raciocinar, e, mais ainda, ensinam a ensinar. Como
exemplo são os aplicativos tutores que forçam o aprendizado do vocabulário
Figura 4.3 - Robô humanoide Sophia 
Fonte: Anton Gvozdikov  / 123RF.
e apoio ao aprendizado de várias ciências através da inteligência do Watson
da IBM.
Rui (2018, p. 100) comenta que:
O IBM Watson é um sistema cognitivo que possibilita uma nova
parceria entre pessoas e máquinas. No trabalho e na educação,
inúmeras startups estão desenvolvendo chatbots (assistentes
inteligentes), algoritmos de computador projetados para simular a
conversação humana, responder questões de rotina laboral e
personalizar experiências de aprendizagem.
Os tutores auxiliam alunos nos seus estudos através de perguntas e o
direcionam para a resposta certa, perguntando de outra maneira ou através
de dicas. Watson irá adaptar para cada aluno um melhor ensino aprendizado
através de técnicas diferenciadas. A Figura 4.4 ilustra um robô tutor que
recebe informações pela linguagem natural. Gera, processa e avalia hipóteses.
Explica e orienta as perguntas e dúvidas, adapta-se e aprende.
Para Hurwitz, Nugent, Halper e Kaufman (2016), o IBM Watson inicia
utilizando o processamento da linguagem natural, através de um conjunto de
anotadores de dados, extraindo informações como sintomas, idade,
Figura 4.4 - Tutor inteligente utilizado para aprender e ensinar 
Fonte: Microone  / 123RF.
localização, dentre outras. Ou seja, ele entende a linguagem natural. Após
esse procedimento, ele gera e avalia hipóteses a partir de evidências através
de um modelo estatístico genérico. Quando uma evidência se torna alta, ele
gera potenciais respostas às possíveis perguntas do humano. O Watson
aprende com as respostas. Entretanto, ele não utiliza regras para realizar as
inferências, mas sim a estatística (estimação), ou seja, o sistema tutor da IBM
é probabilístico e gera um modelo estatístico de pontuação de con�ança e de
aperfeiçoamento constante.
Vimos que os sistemas tutores se utilizam da mineração de dados através de
estatística, criando um modelo preditivo por estimação. Agora veremos como
as máquinas inteligentes podem realizar o processamento da linguagem
natural através da classi�cação de textos, utilizando tanto modelos preditivos
discretos (classi�cação) ou contínuos (estimação).
Classi�icação de Textos
No campo da mineração de dados e do processamento de linguagem natural
escrita, Castro e Ferrari (2016) comentam que a classi�cação de textos tem
como objetivo rotular um documento de acordo com suas características ou
por sentimentos. A análise de sentimento na mineração de dados rotula
opiniões e sentimentos contidos no texto, ou seja, se a opinião dada no texto
é positiva, negativa ou neutra.
Lembrando que a mineração de dados é constituída por diversas atividades
de análise e de descobrimento do conhecimento em uma base de dados
relacional ou pré-preparada. Estas atividades, também chamadas de
funcionalidades, iniciam com a preparação da base e com a análise descritiva
(área de investigação dos dados – procura de fatos relevantes através de uma
abordagem visual). Após são realizadas diversas outras funcionalidades como
a análise de grupos (clustering), classi�cação (predição discreta) e estimação
(predição contínua).
Nas tarefas de predição é utilizado um modelo para avaliar a classe de um
objeto não rotulado ou para estimar um valor de um ou mais atributos de
dados objeto. Para Castro e Ferrari (2016, p. 156), o uso dos modelos
preditivos é muito intenso na automação de processo de tomada de decisão,
como na classi�cação de objetos, controle de qualidade de processos, entre
outros. Sempre que houver um conjunto de objetos que possam ser
rotulados (como na análise descritiva ou na clusterização) e usados para
treinar um modelo de forma supervisionada, é possível projetar um modelo
preditivo.
Um exemplo de predição discreta e predição contínua é dada pelo objeto de
aprendizagem abaixo, de acordo com Castro e Ferrari (2016):
Predição discreta (classi�cação): um exemplo prático de seu uso é o
caso de uma �nanceira de cartão de crédito que irá realizar a
concessão ou não de crédito. Esta tarefa é realizada através de
árvores de decisão ou por regras de classi�cação.
Predição contínua (estimação): um exemplo prático de seu uso é
quando uma �nanceira de cartão de crédito que realizará a
concessão de crédito necessita saber o quanto de limite de crédito
deverá conceder. O valor da concessão é relativo ao per�l do
solicitante. Esta tarefa de análise do per�l por estimação é realizada
através de algoritmos de redes neurais arti�ciais.
Tanto a predição discreta como a contínua possuem o mesmo objetivo de
encontrar um modelo de predição satisfatório, que irá demonstrar uma
capacidade de generalização (aprendizagem). Em um momento anterior do
nosso estudo, já visualizamos o conceito e exemplo do processo de
classi�cação (predição discreta) através do algoritmo árvore de decisão. A
predição contínua possui muitas características da predição discreta
(classi�cação), contudo tem como esforço a predição de valores contínuos de
uma variável (estimação), a qual é do tipo aprendizagem supervisionada ou
paradigma de aprendizagem.
Para Castro e Ferrari (2016, p. 200):
[...] à tarefa de predizer um valor contínuo de uma variável dá-se o
nome de estimação, a qual também é do tipo aprendizagem
supervisionada e, portanto, requer pares entrada-saída desejada
para a construção do estimador e possui muitas características e
processo em comum, como a classi�cação. Este processo
equivalente se refere à preparação da base de dados, à separação
dos dados em treinamento e teste, à de�nição de critérios de
parada do algoritmo e ao treinamento e testes.
Por exemplo, os aplicativos de celulares e páginas web possuem chats de
conversação entre humanos e bots assistentes. O bots ou tutores assistentes
ajudam o usuário na compra ou venda de um produto, orientações
�nanceiras, explicações sobre serviços, dentre outros.
A Figura 4.5 ilustra um exemplo de sistema tutor inteligente usando
classi�cação de textos. O usuário acessa um aplicativo ou chat de
conversação com uma máquina inteligente. O texto inserido pelo usuário é
tratado e classi�cado por técnicas de mineração de dados (classi�cação ou
estimação). Após são sugeridas informações de uma base de conhecimento
treinada. Caso a pergunta não esteja rotulada, a base do sistema pode ser
ajustada através de redes neurais.
Vimos como a linguagem de processamento natural se integra com as demais
tecnologias de Inteligência Arti�cial, como a robótica, visão computacional,
tutores inteligentes e com as técnicas de mineração de dados.
Figura 4.5 - Tutor inteligente utilizado para aprender e ensinar 
Fonte: Paisan Homhuan  / 123RF.
Compreenderemos agora os algoritmos evolutivos (AE) inspirados na
evolução biológica.
praticar
Vamos Praticar
Mataric (2014) comenta que o processamento de informação entre máquinas e
humanos necessita de sinais complexos antes mesmo da realização do
processamento da linguagem natural, como, por exemplo, a fala, a proxêmica e a
visão computacional.
Contudo, avanços na IA estão acontecendo na atualidade com relação ao
processamento da linguagem natural. Com relação a este contexto, é possível
a�rmar que:
a) Os robôs estão se tornandocada vez mais automatizados do que
inteligentes.
b) Os robôs estão se aperfeiçoando somente nos laboratórios e indústrias.
c) Os robôs estão se tornando mais inteligentes.
d) Os sistemas bots ou robôs da web ou tutores inteligentes têm, de um
modo geral, uma maior facilidade com a fala do que a escrita.
e) Atualmente, as máquinas e humanos estão conversando comumente de
maneira pessoal, através de diálogos e conversas no dia a dia.
Os algoritmos evolutivos ou populacionais são algoritmos de busca cujo
método modelam a vida arti�cial e sua evolução a partir do comportamento
de sistemas vivos. “São baseados em uma gama de mecanismos da evolução
biológica e [...] [servem] para originar os conceitos [...] [de] algoritmos
genéticos e da programação genética” (PONTES, 2011, p. 45).
Coppin (2013) comenta que as técnicas de Inteligência Arti�cial podem
modelar a vida arti�cial e fornecer maneiras em que os sistemas podem se
adaptar, ou seja, evoluir a condições de mudanças. E, da mesma forma que a
Inteligência Arti�cial modela a forma com que o cérebro humano funciona, a
vida arti�cial, através de técnicas e algoritmos, também modela o
funcionamento da vida.
Para compreendermos como estes algoritmos modelam os processos
biológicos evolutivos, veremos agora o conceito da teoria da evolução e dos
algoritmos genéticos.
Algoritmos EvolutivosAlgoritmos Evolutivos
Paralelo: Teoria da Evolução e Algoritmos
Genéticos
Para compreendermos o processo de evolução biológica para o processo de
evolução arti�cial, é necessário compreender os conceitos de comportamento
emergente, seleção cumulativa e evolução das espécies.
A vida arti�cial se baseia em um conceito denominado comportamento
emergente . O comportamento emergente signi�ca que os “indivíduos bem
sucedidos” sobrevivem e se reproduzem. Se isto é verdade, então estes
indivíduos passarão sua estrutura genética para suas proles. Se este princípio
é possível, é também possível construir métodos em computadores a partir
deste.
Um conceito também importante é o da seleção cumulativa das espécies.
Coppin (2013, p. XIX) explica que:
a seleção cumulativa signi�ca que a cada etapa as entidades
existentes ou itens de dados “reproduzem-se” para formar novas
entidades. Em vez de cada etapa ser baseada em regras simples
que de�nam como um estado irá mudar para o próximo, o
próximo estado será baseado nas melhores características do
estado anterior e, em geral, será um aprimoramento do estado
anterior.
Charles Robert Darwin (1809-1882), ilustrado na Figura 4.6, naturalista,
biólogo e geólogo inglês, formulou a teoria da evolução das espécies. Nesta
teoria, apresenta o conceito de seleção natural, cujo processo seleciona os
indivíduos que se reproduzirão, e estes, por conseguirem se reproduzir, são
os mais aptos e bem adaptados ao ambiente onde vivem. Também foi o
primeiro a observar o fenômeno de coevolução, ou seja, quando a evolução
de duas ou mais espécies é entrelaçada através da seleção cumulativa.
Para Coppin (2013, p. XIX), “coevolução é um elemento essencial para
processos evolucionários biológicos e também pode ser vantajosa para
algoritmos genéticos e outros processos que envolvem evolução arti�cial”. 
Figura 4.6 - Charles Robert Darwin (1809-1882) 
Fonte: Patrick Guenette / 123RF.
Silva et al . (2019, p. 220) comentam que o algoritmo genético “é uma das
técnicas utilizadas pela Inteligência Arti�cial para encontrar soluções aos
problemas que envolvem busca e otimização, bem como faz parte dos
algoritmos evolutivos que se inspiram na teoria da evolução [...]”. Os
algoritmos genéticos utilizam conceitos da teoria da evolução, como mutação,
seleção natural, hereditariedade e recombinação ou coevolução (responsável
pela mistura entre os genes).
Na técnica evolutiva genética arti�cial, utiliza-se a representação dos
cromossomos na forma de cadeia de bits. A Figura 4.7 ilustra os
cromossomos biológicos de uma célula. Cada bit da cadeia é considerado um
gene, ou seja, uma parte da estrutura do DNA do cromossomo (partes
coloridas do cromossomo ilustradas na �gura 4.5). Para Coppin (2013, p. 335),
“cada gene do cromossomo representa uma faceta da composição genética
daquele indivíduo”, ou seja, pode representar alguma característica do
indivíduo. Arti�cialmente, seria como representar a solução de um
determinado problema na forma binária.
Figura 4.7 - Cromossomos 
Fonte:  Milosh Kojadinovich / 123RF.
“Já um conjunto de cromossomos [Figura 4.5] forma uma população, na qual
cada uma delas representa um indivíduo, sendo uma solução completa ou
uma classi�cação” (SILVA et al ., 2019, p.220).
Um algoritmo genético de Inteligência Arti�cial funciona como um algoritmo
de busca, em que um conjunto de cromossomos (população) é selecionado e
signi�ca uma determinada solução. À medida que essa população sofre uma
mutação ou coevolução (recombinação), gera-se uma nova população que
servirá de entrada para um novo algoritmo.
A estrutura do algoritmo genético, segundo Coppin (2013), seria dada pelos
seguintes passos:
1. O método inicia com uma população aleatória de cromossomos, mas com
uma quantidade já determinada. Esta população é considerada a primeira
geração. Um cromossomo seria dado pela sequência binária, por exemplo,
dois cromossomos (uma população):
X1 = 110100110001001 e
X2 = 010101000111101.
A Figura 4.8 ilustra a cadeia de DNA de um cromossomo, que é um conjunto
ou sequência de bits, em que cada bit (0 ou 1) é um gene, ou seja, a unidade
fundamental da hereditariedade. Em computação, representa a unidade
fundamental de registro de informação.
Figura 4.8 - DNA binário 
Fonte: Ktsdesign / 123RF.
2. Realizar a aptidão de cada cromossomo, caso não atenda a um critério de
parada do algoritmo. O critério pode ser um número limite de gerações, ou
quando um nível de aptidão alto é encontrado, ou ainda quando a solução foi
encontrada.
A aptidão pode ser uma função objetivo ou de otimização. É uma métrica ou
medida de aptidão em que o genótipo (informação genética) atende
determinado critério. Por exemplo, a métrica de classi�cação de números de
um algoritmo seria a quantidade de números classi�cados corretamente.
3. Selecionar o cromossomo de aptidão calculada.
4. Aplicar cruzamento e mutação gerando uma nova população (evolução).
4.1 Como exemplo de cruzamento, divide-se o cromossomo em duas partes,
sendo este o processo mais comum, podendo ser dividido em mais partes.
Por exemplo, escolhe-se um ponto de cruzamento qualquer entre o sétimo e
oitavo gene.
X1 = 1101001 : 10001001
X2 = 0101010 : 00111101
4.2 Realiza-se o cruzamento (recombinação), imitação do processo biológico
de reprodução, gerando uma nova população:
X3 = 110100100111101
X4 = 010101010001001
A mutação seria a reversão de um bit (gene) no cromossomo, que deve ser de
probabilidade baixa, isto devido às mutações em uma população ocorrem
para proporcionar uma maior diversidade genética.
5. Retornar à etapa 2.
Portanto, podemos resumir as etapas do algoritmo genético: na etapa 1,
temos a seleção dos cromossomos de uma população; na etapa 2, é realizado
o cálculo de aptidão; na etapa 3 e 4, é realizada a reprodução através do
cruzamento e mutação, gerando assim uma nova população. A etapa 5
retorna à etapa 2 para avaliar as aptidões. Os melhores indivíduos serão
selecionados e estes conseguirão se reproduzir, consequência do conceito da
seleção cumulativa e do comportamento emergente da teoria da evolução.
Agora vamos realizar um exemplo de aplicação do algoritmo genético através
das 5 etapas apresentadas, de maneira simples para o seu entendimento:
Digamos que precisamos resolver um problema de uma função com
o objetivo de encontrar a maximização de uma função do tipo f(x) = x
〖^2〗+1 , dados os valores 10, 100, 40, 20.
Passo 1: gerar uma população aleatória de cromossomos ,
iniciamos com seis cromossomos, sendo esta a primeira geração:
CR1 = 1000, CR2 = 0010, CR3 = 1111, CR4 = 0001
Passo 2:realizar a aptidão de cada cromossomo .   Para isso é
realizada uma conversão binária para decimal (no Excel você poderá
utilizar à fórmula = BINDEC (valor binário), e na sequência calcular a
função f(x) = x〖^2〗+1 que gera números inteiros. A aptidão estará
com um valor entre 2 e 226, em que 2 será o menos apto e 226 o
mais apto. A Tabela 4.1 ilustra os cromossomos, genes (cadeia de
bits), a conversão para valor inteiro, a aplicação da função objetivo e
a taxa de aptidão.
Tabela 4.1 - Cálculos de aptidão 
Fonte: Adaptado de Coppin (2013, p. 340).
O terceiro passo é realizar a seleção do cromossomo de aptidão calculada
, neste caso o CR1 e CR3 que possuem maiores aptidões.
O quarto passo é aplicar cruzamento , gerando uma nova população
(evolução): 
CR1= 10 | 00 e 
CR3 = 11 | 11 
Gerando assim os cromossomos 
CR5 e CR6: 
CR5 = 1011 
CR6 = 1100
Após a divisão cromossômica, retorna-se ao passo 2, incluindo os novos
cromossomos CR5 e CR6 e retirando o cromossomo de menor aptidão, no
caso do primeiro ciclo, o CR4.
cromossomos genes valor inteiro f(x)
taxa de
aptidão
CR1 1000 8 65 28,76%
CR2 0010 2 5 2,21%
CR3 1111 15 226 100%
CR4 0001 1 2 0,88%
praticar
Vamos Praticar
Na técnica evolutiva genética arti�cial, utiliza-se a representação dos cromossomos
na forma de cadeia de bits. Já os cromossomos na forma biológica são sequências
de DNA que carregam as características do ser humano. Neste sentido,  marque a
alternativa correta que representa biologicamente cada bit da cadeia de bits:
a) Uma célula.
b) Um gene.
c) Uma cadeia de DNA.
d) Cromossomo.
e) Uma mutação.
Vejamos agora um laboratório relativo aos algoritmos evolutivos ilustrando
alguns cruzamentos genéticos que o algoritmo pode realizar.
Vimos anteriormente que um cruzamento de um ponto único divide um
cromossomo (sequência de bits) em duas partes, sendo esta, segundo Coppin
(2013), a forma mais comum. Contudo, é possível haver duas ou mais
posições divididas do cromossomo, como ilustra a Tabela 4.2. O gene
sombreado é do pai 1, já o gene não sombreado é do pai 2. Dois pontos são
selecionados para a divisão cromossômica. A seção do meio do cromossomo
é trocada. 
Algoritmos Evolutivos -Algoritmos Evolutivos -
Cruzamentos deCruzamentos de
CromossomosCromossomos
genes do pai 1 após cruzamento
10 0110 001 10 1100 001
01 1100 110 01 0110 110
genes do pai 2
Tabela 4.2 - Diagrama do cruzamento entre cromossomos em dois pontos 
Fonte:  Coppin (2013, p. 337).
Vejamos agora um exemplo, adaptado de Coppin (2013), de modelagem
aplicada ao método do algoritmo genético para encontrar o valor máximo de
uma função.
Laboratório: Modelagem de um exemplo de
Ferramentas
Para demonstrar de maneira simples o uso dos algoritmos genéticos, vamos
adaptar um exemplo de Coppin (2013, p. 339-342) para encontrar o valor
máximo de uma função seno. Para lembrarmos de uma curva seno, a Figura
4.9 ilustra a função contínua f(x) = sen(x), para valores de x = 0, /2, , 3 /2
e 2 .
π π π
Em nosso exemplo, teremos valores para x na faixa de 1 a 15, onde cada
cromossomo representa um valor de x. A Figura 4.10 ilustra um grá�co
descontínuo da função seno com os valores de 1 a 15.
Figura 4.10 - Grá�co descontínuo da função seno de valores de 1 a 15 
Fonte:  Coppin (2013, p. 339).
O primeiro passo é gerar uma população aleatória de cromossomos.
Iniciamos com seis cromossomos, sendo esta a primeira geração: CR1 = 1001,
CR2 = 0011, CR3 = 1010, CR4 = 0101, CR5 = 0100, CR6 = 0001.
O segundo passo é calcular a aptidão dos cromossomos. Para isso é realizada
uma conversão binária para decimal e na sequência calcular a função f(x) para
inteiros. A aptidão estará entre um valor entre 0 e 100, onde 0 será o menos
Figura 4.9 - Curva contínua da função seno. 
Fonte: Patrick Guenette / 123RF.
apto e 100 o mais apto. A função f(x) = sen(x) gera números entre 1 e -1, como
ilustrado no grá�co da Figura 4.10. Assim, estabelecemos critérios em que f(x)
= 1 será 100 para os mais aptos e f(x) = -1 será 0 para os menos aptos. Para o
meio termo da aptidão, será o termo f(x) = 0 dado pelo valor 50. A função de
aptidão ou função objetivo é dada por f(x) = 50 (f(x) + 1), substituindo por f(x) =
sen(x) temos que f(x) = 50 (sen (x) + 1). A Tabela 4.3 apresenta os cálculos de
aptidão para a primeira geração da população aleatória informada.
cromossomos genes
valor
inteiro
f(x)
aptidão
f’(x)
taxa de
aptidão
CR1 1001 9 0,41 70,61 46,3%
CR2 0011 3 0,14 57,06 37,4%
CR3 1010 10 -0,53 22,80 14,9%
CR4 0101 5 -0,96 2,05 1,34%
CR5 0100 4 -0,75 12,15 7,97%
CR6 0001 1 0,84 92,07 60,37%
Tabela 4.3 - Cálculos de aptidão 
Fonte: Adaptado de Coppin (2013, p. 340).
É possível observar nos cálculos de aptidão da Tabela 4.3, onde as taxas de
aptidão dos cinco cromossomos são dadas pela taxa de CR1 = 46,3%, CR2 =
37,4%, CR3 = 14,9%, CR4 = 1,34% e CR5 = 7,97% e CR6 = 60,37%, em que os de
maior aptidão seriam os cromossomos CR6, CR1 e CR2 da primeira geração,
sendo então selecionados para a reprodução. Portanto, os cromossomos CR4
e CR5 são os que terão menos chances de se reproduzir.
No terceiro passo é necessário realizarmos a seleção dos cromossomos para
a próxima geração. Para isso, deve-se gerar um número aleatório (seleção de
um pai) entre 0 a 100. O número aleatório seria o número 66,7, ou seja, será
selecionado o cromossomo CR1 - que se aproxima desse valor de aptidão
70,61 (próximo para mais). Este será o primeiro pai a realizar a reprodução. O
segundo valor aleatório será o parceiro do CR1, cujo valor gerado é 56,8, ou
seja, será selecionado o cromossomo CR2 de aptidão 57,6 - que se aproxima
deste valor (próximo para mais).
No quarto passo é necessário realizar as combinações necessárias para a
reprodução (cruzamento) e geração da prole. Para isso, realiza-se a divisão de
maneira aleatória dos cromossomos CR1 e CR2 e posteriormente realiza-se o
cruzamento dos mesmos, gerando os cromossomos CR6 e CR7, como mostra
a divisão e cruzamento genético-binário abaixo. As extremidades da esquerda
do cromossomo dividido são trocadas entre os cromossomos pela
extremidade da direita.
CR1 = 10 | 01 e 
CR2 = 00 | 11 
Cruzando e gerando os cromossomos CR6 e CR7: 
CR6 = 1011 
CR7 = 0001
Assim, são realizados os mesmos procedimentos para os demais
cromossomos (seleção de maneira aleatória, divisão de maneira aleatória e
cruzamento genético). No nosso exemplo, o cromossomo CR4 tem poucas
chances de reproduzir e não participa da seleção, que depende da faixa
aleatória de números a serem gerados.
praticar
Vamos Praticar
Um algoritmo genético é um modelo de evolução de vida arti�cial, inspirado na
evolução das espécies biológicas. A reprodução arti�cial, assim como a biológica, se
utiliza dos cromossomos mais aptos. Após realizado o cálculo de aptidão, o próximo
passo do algoritmo seria realizar:
a) A divisão do cromossomo.
b) A mutação do cromossomo.
c) Combinação de genes.
d) Uma coevolução da espécie.
e) A seleção do cromossomo mais apto.
Veremos agora um tópico avançado relacionado ao aprofundamento do
aprendizado máquina indutivo, mostrando uma visão ampla de tarefas
preditivas e descritivas, bem como a supervisão e não-supervisão destes
aprendizados. Através deste laboratório você poderá compreender melhor
como é possível realizar um back-end (suporte) após um processamento da
linguagem natural nas bases de dados através da mineração de dados.
O aprendizado máquina tem sido amplamente utilizado em diversas tarefas
que podem ser organizadas em diferentes critérios, um deles refere-se ao
“paradigma de aprendizado”, paradigma este que irá liderar a tarefa. De
acordo com os critérios, as tarefas de aprendizado podem ser preditivas ou
descritivas.
As tarefas preditivas estão relacionadas à hipótese por indução, cujo objetivo
é encontrar uma função (modelo ou hipótese) que, a partir de dados de
treinamento, possa ser utilizada para prever um rótulo ou valor que
caracterize um exemplocom base nos valores de entrada.
Os algoritmos utilizados em modelos preditivos seguem o paradigma de
aprendizado supervisionado. O termo supervisionado vem da simulação de
um supervisor externo. Já em tarefas de descrição, o objetivo é explorar ou
descrever um conjunto de dados. Os algoritmos dessa tarefa descritiva não
utilizam o atributo saída, por isso seguem o paradigma de aprendizado não-
supervisionado. Nas tarefas descritivas de agrupamento de dados, tem o
objetivo de encontrar objetos semelhantes ao do conjunto de dados ou
Tópico AvançadosTópico Avançados
encontrar regras de associação que relacionam um grupo de atributos a outro
grupo de atributos.
No aprendizado supervisionado temos a classi�cação, denominada de
predição discreta, e a regressão, denominada de predição contínua. Já o
aprendizado não-supervisionado é dividido em agrupamento (dados
agrupados por similaridade), associação (encontra-se padrões frequentes
entre os atributos de um conjunto de dados) e sumarização (descoberta de
descrição simples e compacta para um conjunto de dados).
Castro e Ferrari (2016, p. 200) comentam que “a tarefa de classi�cação pode
ser vista como um caso particular da estimação, no qual a saída é discreta
(discretização). Assim todos os algoritmos de estimação podem ser usados na
classi�cação, mas a recíproca não é verdadeira”.
Veremos agora os paradigmas de aprendizado de regressão e associação,
especi�camente do paradigma de aprendizado supervisionado-preditivo por
regressão e do aprendizado não supervisionado-descritivo por associação.
Técnicas Avançados de IA
Dentro das técnicas de mineração de dados existem dois conceitos
importantes para as tarefas de aprendizagem indutiva de uma base de dados,
a regressão (estimação) e associação. Veremos detalhes sobre estas técnicas.
Regressão ou Estimação
Um conceito importante na estimação contínua é o da regressão e redes
neurais. Castro e Ferrari (2016) comentam que tal conceituação é direcionada
nos modelos conexionistas, ou seja, os algoritmos relacionados às redes
neurais, funções (regressão linear) e probabilísticos.
A regressão é uma modelagem : A regressão modela a relação
entre uma ou mais variáveis de resposta (variáveis de saída) e os
preditores (variáveis de controles). Estima uma função a partir de
pares de entrada-saída. Se há mais de uma variável de resposta, a
regressão é chamada de multivariada. A regressão linear tem como
objetivo estimar um valor de uma variável y que de início não foi
possível realizar, dado um conjunto de valores de uma variável x.
A regressão é um modelo estatístico : Os modelos de regressão
linear são métodos estatísticos capazes de modelar a relação entre
uma variável dependente e uma ou mais variáveis independentes. O
modelo é uma regressão linear simples, caso haja uma única variável
independente. A técnica de regressão determina a intensidade de
correlação entre as variáveis dos seus dados. É utilizada para prever
valores futuros a partir de dados históricos, supondo uma relação de
causa e efeito entre as variáveis. A regressão linear resulta em uma
concentração próxima a uma reta.
A regressão pode ser não-linear (polinomial) : A relação entre as
variáveis dependentes e independentes pode ser não linear e tem a
forma de um polinômio, ou seja, não está concentrada próximo de
uma reta.
O processo de estimação ou regressão é similar à classi�cação, contudo, é
utilizado quando o registro ou variável da base analisada é identi�cada por
um valor numérico (medidas métricas) e não por um valor categórico
(medidas não-métricas).
As medidas métricas (quantitativas) estão relacionadas à mensuração de
razão/proporção e de intervalo. Já as medidas não métricas estão
relacionadas aos valores nominais (rotulagem) e ordinais (categorias que
podem ser ordenadas).
A variável qualitativa ou categórica (não métricas) está relacionada a um
número de categorias mutuamente exclusivas, ou seja, se pertence a uma
categoria, não irá pertencer a outra categoria. Um exemplo seria um
segmento de clientes que utiliza determinado produto, cuja classe seria
“utiliza o produto” e outra de “não utiliza produto”. Este é o caso da análise
discreta e dos agrupamentos (rotulagem e classi�cações ordenadas).
Exemplos destes seriam agrupamentos nominais, como sexo, religião,
pro�ssão etc. E os agrupamentos ordinais como categorias que podem ser:
carreiras que envolvem titulação, posto ou hierarquia.
Já as variáveis quantitativas ou métricas são representadas por números,
como, por exemplo: quantidade de clientes, veículos, salário etc. Podem ser
divididas em Discretas (predição discreta, classi�cação) e Contínuas (predição
contínua, estimação).   Na Figura 4.11 abaixo é possível observar a
classi�cação e características das variáveis quantitativas e qualitativas na
mineração de dados.
Figura 4.11 - Variáveis quantitativas e qualitativas na mineração de dados 
Fonte: Elaborada pelo autor.
Dentro ainda das variáveis quantitativas, a variável contínua usada nas
predições contínuas (estimação) assume valores in�nitos dentro de um
intervalo in�nito. Um exemplo seria uma determinada pontuação dos
candidatos em um concurso, de maneira quase in�nita, dentro de um
intervalo �nito, nesse caso, uma pontuação máxima de 100 pontos.
Com relação às variáveis qualitativas, um exemplo deste tipo de variável seria
a criação de rótulos usados na identi�cação do per�l de investidores. Vimos
também sobre a análise de grupos, que correspondem às variáveis ordinais,
em que os dados são distribuídos em categorias mutuamente exclusivas. Um
exemplo seria a aplicação de questionários de satisfação de um determinado
produto ou serviço.
Exempli�cando as variáveis discretas e contínuas, temos:
variáveis discretas : só podem assumir um número �nito de
diferentes valores dentro de um intervalo �nito. Um exemplo de
variável discreta é o número de funcionários de um setor,
departamento ou de toda uma empresa, ou o número de sócios de
um clube de campo etc.
variáveis contínuas : podem assumir um número in�nito de
diferentes valores dentro de um intervalo �nito. Exemplos de
variáveis contínuas podem ser o preço de produtos e serviços, o peso
das pessoas ou de produtos etc.
Portanto, temos que a estimação é uma predição contínua que se utiliza de
variáveis contínuas (valores in�nitos em um intervalo �nito), com o objetivo de
encontrar um modelo de predição satisfatório e que irá demonstrar uma
capacidade de generalização (aprendizagem). Esta aprendizagem é
denominada “aprendizagem indutiva supervisionada por regressão”.
Lembrando que a aprendizagem supervisionada é tarefa de divisão em
agrupamento (dados agrupados por similaridade).
Um exemplo típico do uso da técnica de mineração de dados por regressão
(estimação) seria encontrar relações entre duas variáveis, ou seja, realizar
uma determinada predição de uma das variáveis a partir de outra. Por
exemplo, em uma base de dados existem informações de acadêmicos de uma
faculdade a respeito de suas alturas e pesos. Contudo, algumas informações
estão incompletas ou equivocadas em uma base relacionadas, como, por
exemplo, o peso e altura dos acadêmicos. É possível os algoritmos de
estimação predizerem o peso a partir de uma determinada altura, ou vice-
versa. Em um grá�co de pesos x alturas, teríamos no eixo y os pesos (kg) e no
eixo x as alturas (cm), como ilustra o grá�co da Figura 4.12 (diagrama de
dispersão).
Figura 4.12 - Grá�co de Pesos e Altura de acadêmicos de uma faculdade. 
Fonte: Elaborada pelo autor.
É possível a partir dos dados da base referente ao grá�co 4.13 determinar por
predição os pesos ou as alturas que não foram identi�cadas por falta de
informação ou ajustes de dados. Isto é possível pois a relação entre as
variáveis é linear e um resumo dos dados pode ser representado através de
uma reta que passa entre os pontos, ajustando-os. Isto é feito através da
regressão linear. A regressão linear é uma equação que permite,a partir de
valores de determinadas variáveis, estimar o valor esperado. A partir da reta
traçada é possível encontrar tal equação. No exemplo, a reta que estima
valores é dada pela equação:
, onde é a variável independente ou variável de previsão
(pesos), é a variável dependente (alturas), é a variável intercepto ou
interseção da linha no eixo y (reta laranja na Figura 4.12), e é a inclinação da
reta.
y  = a  +  bx y
x a 
b
saiba mais
Saiba mais
Para saber mais sobre a aplicação da
regressão linear, acesse o link do artigo “A
aplicação do método de regressão linear
simples na demanda de produtos sazonais:
um estudo de caso.
Acesso em: 30 jan. 2020.
Fonte: Medeiros e Bianchi (2009, p. 35-53)
ACESSAR
Associação
Vimos que a estimação é uma aprendizagem indutiva supervisionada por
regressão. Contudo, a associação também é uma aprendizagem indutiva mas
“não supervisionada”. A mineração de dados por associação tem como
objetivo encontrar relações entre os atributos de um objeto. Estes seriam as
suas características ou propriedades, como a cor, forma, valor, tamanho etc.
Na mineração de dados por associação, é entendível que os objetos estão nas
linhas e os atributos estão nas colunas de uma tabela.
As bases de dados transacionais são ricas em atributos de um objeto e estão
vinculadas às transações realizadas por algum processo ou atividade
(registros de dados). O exemplo abaixo (Tabela 4.4) ilustra uma classe de
funcionário com seus atributos (nome, endereço, departamento, atividade).
Cada registro é uma transação de dados não rotulada, mas já organizada em
uma tabela ou classe de objetos. A tabela abaixo apresenta os objetos e
registros (conjunto de transações) pertencentes à classe “funcionário”.
https://www.ime.usp.br/~salles/fatec/estatistica/trabalho/A%20aplica%C3%A7%C3%A3o%20do%20m%C3%A9todo%20da%20regress%C3%A3o%20linear%20simples%20na%20demanda%20de%20produtossazonais:%20um%20estudo%20de%20caso.pdf
Contudo, é possível realizar relações entre os atributos de uma determinada
classe com atributos de outra classe, denominada de “regras de associação”.
Tabela 4.4 – Tabela de dados dos funcionários de uma empresa 
Fonte: Elaborada pelo autor.
Para Castro e Ferrari (2016, p. 234):
A mineração de regras de associação é uma técnica usada na
construção de relações sob a forma de regras entre itens de uma
base de dados transacional. Diferentemente do agrupamento, que
busca relações de similaridade entre objetos, as regras de
associação buscam relações entre os atributos dos objetos, ou seja,
os itens que compõem a base. O objetivo é encontrar regras fortes
de acordo com alguma medida do grau de interesse da regra.
FUNCIONÁRIO
Cod_Func Nome Endereço Cod_Dep Cod_atividade
1 01
Jose da
Silva
Rua 10 D1 101
2 02
Paulo de
Andrade
Rua dos
Estados
D2 100
3 03
João P.
Siqueira
Rua
Maceió
D1 101
4 10
Ricardo
Alcântara
Rua sem
Número
D2 101
5 11
Euzébio
Queiroz
Rua 2 D2 100
Importante compreendermos o conceito de transação. Vimos que uma
“transação” pode ser um conjunto de registros armazenados (itens). A
transação é uma execução temporária de um ou mais inputs, processamento
ou outputs de dados, ou seja, entrada, processamento e saída de dados. Aqui,
compreenderemos que uma transação é um conjunto de itens que foram
processados e gravados. Contudo, em uma transação podem ser gravados
nenhum, um ou diversos dados (itens) em uma tabela de dados.
Já uma regra de associação é dada por X→Y (X relacionado a Y), na qual X e Y
são conjuntos de itens, ou seja, duas transações X e Y.
Para Castro e Ferrari (2016, p. 235):
o signi�cado intuitivo de uma regra de associação é que as
transações em uma base de dados que contém X também contém
Y. Assim as regras de associação podem ser vistas como padrões
descritivos que representam a probabilidade de que um conjunto
de itens apareça em uma transação, dado que outro conjunto está
presente.
Devido a estas características de relação entre as classe e transações das
bases transacionais, elas são também chamadas de bases de dados
relacionais.
Vejamos agora exemplos de ferramentas e cenários de aplicação da
mineração de dados por regras de associação e regressão.
Ferramentas de Cenários de Aplicação
Abaixo elencamos exemplos, ferramentas e vantagens da busca por “regras
de associação” em uma base transacional relacional.
Extração do comportamento de clientes : Os dados em uma base
de dados transacionais quando relacionados possuem um valor para
os negócios. E, quando extraídos e relacionados, é possível analisar o
comportamento de compras de um cliente. A partir desta análise é
possível desenvolver promoções, marketing, fortalecimento por
�delização e diversas outras ações.
Vendas casadas : As vendas casadas são exemplos de relações que
podem ser encontradas em uma base de dados. Por exemplo, na
descoberta por regras de associação em uma base transacional, em
uma tabela de pedidos de venda ou de notas �scais, se tem
encontrado que quem compra camisas sociais possivelmente
comprará também uma gravata, ou quem compra leite, compra pão.
Para Castro e Ferrari (2016, p. 236), “as regras de associação não são
diferentes das regras de classi�cação, exceto pelo fato que elas podem
predizer qualquer atributo, não apenas a classe. Esta característica lhes dá a
liberdade de predizer combinações de atributos também”.
Vejamos agora o processo de mineração de dados relacionado à busca por
“regras de associação”, que é denominada de mineração de regras de
associação, representado na Figura 4.13 abaixo.
Em um processo de mineração de regras de associação, o processo de
preparação da base de dados transacional-relacional, além das atividades
comuns de preparação, como limpeza, integração, redução, transformação, e
discretização, pode também necessitar de uma transformação em uma base
binária (0 e 1).
Há uma segunda etapa, denominada de geração do conjunto de itens
frequentes, que são, segundo Castro e Ferrari (2016, p. 240), “aqueles que
satisfazem algum critério mínimo de frequência, por exemplo, itens que
aparecem ao menos em determinado número de transações”. É nesta etapa
que é realizada a construção de regras de associação.
Na terceira etapa, é realizada a mineração das regras de associação
utilizando-se apenas os itens frequentes da base, através de inúmeras
combinações possíveis dos itens frequentes.
Na última etapa, a de avaliação, as regras de associação são avaliadas e se
foram utilizadas no primeiro conjunto de critérios de avaliação (primeiro ciclo
do processo de mineração) são satisfatórias.
Antes de vermos sobre os algoritmos de mineração de regras de associação, é
necessário compreender dois conceitos centrais em mineração: suporte e
con�ança.
O primeiro conceito se refere ao suporte, ou também denominado de
cobertura de uma regra de associação, “é o número de transações para as
quais ela faz a predição correta. Também pode ser entendida com a utilidade
de uma regra” (CASTRO; FERRARI, 2016, p. 236).
Figura 4.13 - Processo de mineração de dados 
Fonte: Adaptado de Castro e Ferrari (2016, p. 157).
O segundo conceito se refere à con�ança ou acurácia de uma regra. Segundo
Castro e Ferrari (2016, p. 236), “é o número de transações que ela prediz
corretamente, proporcionalmente às transações para as quais ela se aplica.
Também pode ser entendida como a certeza de uma dada regra”.
Um dos métodos mais conhecidos para a mineração de regras de associação
é o método Apriori, que utiliza a técnica “busca em profundidade”. Nesta
técnica os itens candidatos “não frequentes” são eliminados (passo 1).
Posteriormente, toda a base de dados é rastreada e a partir dos conjuntos de
itens frequentes são geradas regras (passo 2).
O Apriori, no signi�cado da palavra, faz referência a um princípio anterior à
experiência, ou “aquilo que pode vir antes”. Em nosso estudo é um nome
dado a um algoritmo clássico de Mineração de Regras de Associação. Outros
algoritmos, tais como o GSP,DHP, Partition, DIC, Eclat, MaxEclat, Clique e
MaxClique, foram inspirados no funcionamento do Apriori (GOLDSCHMIDT;
PASSOS, 2015). Podemos então imaginar que o Apriori faz referência a um
princípio (regras de associação), antes da experiência (dados transacionais,
transações).
O Apriori utiliza um algoritmo de geração de conjunto de itens candidatos do
algoritmo, cuja regra é de�nida como: se um conjunto de itens é frequente,
então todos os seus subitens também são frequentes. E o inverso também é
verdadeiro para os itens “não frequentes”. Assim, os subgrafos (divisão de um
nó de uma árvore) contendo este conjunto “não frequentes” de itens poderão
ser podados.
Um exemplo de aplicação do algoritmo Apriori é dado por uma lista de itens
de produtos vendidos, como mostra a Tabela 4.5 abaixo. Essa lista contém as
transações de vendas (1001, 2001, etc.), que também podem ser
denominadas de pedido de venda, que contêm os itens da venda (itens do
pedido) e o código do produto vendido.
Tabela 4.5 - Tabela de vendas de produtos 
Fonte: Elaborada pelo autor.
Executando o processo de mineração por regras de associação (Tabela 4.5),
posteriormente se criam as regras de associação em que X e Y armazenam os
códigos dos produtos de valor inteiro e não nulo. Cria-se uma variável
frequência X e frequência Y, onde são armazenadas as frequências de X com
relação ao total de vendas e frequência de X com relação a Y.
Após, é executado o algoritmo, em que um possível resultado seria dado pela
Tabela 4.6:
Tabela de vendas
Transação (pedido) Código do produto
1001 200
1001 400
1001 500
2001 100
2001 300
2001 400
2001 500
... ...
Tabela 4.6 – Resultado das regras de associação 
Fonte: Elaborada pelo autor.
Conclui-se que foi vendido 20% do produto de código 200 do total das vendas,
contudo, toda vez que se vende o produto de código 200, vende-se o produto
de código 400, ou seja, 100% (20/20).
Conclui-se também que foi vendido 50% do produto de código 400 do total
das vendas, contudo, toda vez que se vende o produto de código 400, vende-
se o produto de código 500, ou seja, 60% (30/50).
Além disso, conclui-se que foi vendido 50% do produto de código 500 do total
das vendas, contudo, toda vez que se vende o produto de código 500, vende-
se o produto de código 300, ou seja, 60% (30/50).
A regra da associação dos conjuntos de itens (transações)   X está para o
conjunto de itens Y, ou seja, X relacionada a Y (X→Y).
É possível agora acrescentar o processo de mineração de regras de
associação, no diagrama da Figura 4.12, gerando o diagrama da Figura 4.14
abaixo.
É possível observar no diagrama da Figura 4.14 que a mineração por “regras
de associação” se enquadra nas variáveis do tipo quantitativa discreta, pois
estas tarefas estão relacionadas com a frequência das relações entre os
atributos dos objetos, ou itens de uma transação. É utiliza como base da
Produto
X
Produto
Y
Frequência
de X
Frequência de X com
relação a Y
200 400 20 20
400 500 50 30
500 300 50 30
predição a caracterização dos atributos dos itens de uma transação e estes
são relacionados com outros itens da transação.
Portanto, as regras de associação são consideradas padrões descritivos,
representando as probabilidades que aparecem em uma transação, dado que
outro conjunto está presente (CASTRO; FERRARI, 2016). Contudo, a mineração
por regras de associação possui as mesmas regras da classi�cação, mas
predizem algo sobre as relações (predição discreta).
Na mineração por classi�cação são utilizadas regras determinadas para
encontrar a descoberta de conhecimento, já na associação são relacionadas
as características de atributos das transações para encontrar regras de
associação, que predizem algum conhecimento da base de dados.
Uma aplicação bem acentuada da mineração de regras de associação é a
descoberta de conhecimento na Web. A Web é atualmente a maior fonte de
informação digital disponível e de quantidade de informação armazenada nas
bases de dados transacionais. Com o aumento das transações comerciais na
Web (e-commerce) e o desenvolvimento de tecnologia da “web Semântica” e
agentes da informação, estimulou-se o desenvolvimento de ferramentas
automáticas para a obtenção de informação, principalmente com relação às
técnicas de mineração de dados, especi�camente denominada de mineração
de dados na Web.
A mineração na Web pode estar relacionada a formas diferentes de
mineração, tais como: a mineração do uso na Web, mineração do conteúdo
Figura 4.14 - Diagrama referente às diversas minerações de dados
enquadradas em variáveis quantitativas e qualitativas. 
Fonte: Adaptado de Castro e Ferrari (2016, p. 157).
da Web e mineração da estrutura da Web. Vejamos estes três conceitos.
Mineração do conteúdo Web: O conteúdo minerado na Web abrange
as ferramentas que afetam a recuperação inteligente de
informações, como os algoritmos de busca (buscadores), garantindo
uma mineração da informação desejada mais e�ciente.   Estas
ferramentas podem fazer uso de agentes inteligentes ou do uso de
conceitos baseados em banco de dados.
Mineração do uso Web: Está relacionada com a descoberta
automática de padrões de acesso dos usuários que disponibilizam
informações na rede de computadores. Através do tráfego ou da
forma de utilização pelo visitante, durante as inúmeras ações no sítio
eletrônico é possível identi�car o comportamento dos usuários.
Mineração da Estrutura da Web: Como toda página Web possui uma
estrutura de hipertextos (links entre documentos e páginas web),
esta tarefa de mineração está relacionada aos vínculos de hipertexto
que liga os documentos ou páginas web em qualquer lugar do
mundo.
Vimos que a tarefa de mineração de regras de associação é primordial para
encontrarmos relações entre as transações que ocorrem diariamente nas
bases transacionais, como em transações de compras, vendas, �nanceiras,
produtivas e outras. Podemos chegar à conclusão que a mineração de dados
é um amplo campo da busca na descoberta do conhecimento (KDD –
knowledge discovery in databases ), tanto nas áreas de predição discreta,
contínua, análise discreta e agrupamento.
praticar
Vamos Praticar
A mineração de dados é uma técnica de busca de padrões conhecidos e
desconhecidos. Conhecidos pois já foram classi�cados, e quando a mineração
classi�ca novos padrões, há aprendizagem.  Existem várias técnicas para obter
aprendizagem, como a de predição ou regras de associação. Exemplos de aplicação
da técnica de mineração de dados de predição ou regras de associação seriam:
a) Pontuação de concursos públicos.
b) Rótulos utilizados para identi�car o per�l de investidores.
c) Extração do comportamento de clientes de uma base de dados.
d) Questionários de satisfação.
e) Números de candidatos inscritos em um concurso.
indicações
Material
Complementar
FILME
Nome : Ex_Machina
Ano : 2015
Comentário : O �lme levanta diversas questões éticas
sobre o uso da tecnologia inteligente através de uma
trama entre uma humanoide chamada Ada, um
programador (Caleb) e o diretor (Nathan) de uma
empresa de motor de busca. O �lme foca também no
teste de Turing com o personagem Caleb junto ao robô,
e trata também sobre o uso de expressões corporais de
usuários utilizadas no humanoide Ada.
Para conhecer mais sobre o �lme, assista ao seu trailer
o�cial legendado disponível.
Acesso em: 30 jan.2020.
TRA ILER
LIVRO
Nome do livro : Introdução à Robótica
Editora : Editora Unesp
Autor :  Maja J. Mataric
Comentário : uma ótima leitura complementar sobre a
robótica aplicada, ou seja, o uso da automação e
controle até a aprendizagem máquina a partir dos
algoritmos de mineração aplicados na robótica de
serviços, humanoides assistivos, robôs tutores, robótica
espacial e outras aplicações.
conclusão
Conclusão
Chegamos ao �nal de nosso estudo e compreendemos que as técnicas da IA
de processamento da linguagem natural, algoritmos genéticos e dos
paradigmas de aprendizado indutivo estãotendo grandes avanços a partir de
suas integrações. Os robôs já estão tendo capacidades de se comunicar, ou
seja, receber informações humanas, processar a linguagem natural, e falar
como humanos, bem como se expressar de maneira humana. Os algoritmos
genéticos aprendem através do conceito da evolução das espécies biológicas
e trazem à vida arti�cial uma inspiração da vida biológica para a resolução de
problemas. Já a aprendizagem indutiva, através das técnicas de regressão e
associação, aprimora o aprendizado através de relações e métodos
estatísticos em bases de dados.
referências
Referências
Bibliográ�cas
CASTRO, L. N.; FERRARI, D. G. Introdução à Mineração de Dados . São Paulo:
Saraiva, 2016.
COPPIN, B. Inteligência Arti�cial . Rio de Janeiro: LTC, 2013.
FAVA, R. Trabalho, educação e inteligência arti�cial : a era do indivíduo.
Porto Alegre: Penso, 2018.
GOLDSCHMIDT, R.; PASSOS, E. Data Mining . São Paulo: Elsevier, 2015.
HURWITZ, J.; NUGENT, A.; HALPER, F.; KAUFMAN, M. Big Data para leigos . Rio
de Janeiro: Alta Books, 2016.
MATARIC, M. J. Introdução à robótica . 1. ed. São Paulo: Editora
Unesp/Blusher, 2014.
MEDEIROS, F. S. B.; BIANCHI, R. C. A aplicação do método regressão linear
simples na demanda de produtos sazonais: um estudo de caso. Revista
Disciplinarum Scientia : Ciências Sociais Aplicadas, v. 5, n.1, p.35-53, 2009.
MORAIS, I. S. et al . Introdução à Big Data e Internet das Coisas . Porto
Alegre: SAGAH, 2018.
PONTES, R. Inteligência Arti�cial nos Investimentos : adaptação,
aprendizado e otimização. Rio de Janeiro: Clube de Autores, 2011.
RUI, F. Trabalho, educação e inteligência arti�cial : a era do indivíduo
versátil. Porto Alegre: Penso, 2018.
SILVA, et. al . Inteligência Arti�cial . Porto Alegre: SAGH, 2019.

Continue navegando