Buscar

Aprendizagem de Máquinas



Continue navegando


Prévia do material em texto

Unidade III
Aprendizagem de Máquinas 
Inteligência 
Artificial
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
ALAN DE OLIVEIRA SANTANA
AUTORIA
Alan de Oliveira Santana
Olá. Sou Alan de Oliveira Santana, possuo graduação em Ciência da 
Computação – Universidade do Estado do Rio Grande do Norte – e Mestre 
em Sistemas da Computação – Universidade Federal do Rio Grande do 
Norte. Atualmente sou professor conteudista, elaborador de cadernos 
de questões e doutorando em Ciências da Computação. Como cientista, 
atuo no desenvolvimento e avaliação de técnicas de desenvolvimento de 
sistemas com ênfase na educação.
Desse modo, fui convidado pela Editora Telesapiens a integrar seu 
elenco de autores independentes. Estou muito satisfeito com o convite 
e a possibilidade de auxiliar em seu desenvolvimento intelectual e 
profissional. Bons estudos!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento 
de uma nova 
competência;
DEFINIÇÃO:
houver necessidade 
de apresentar um 
novo conceito;
NOTA:
quando necessárias 
observações ou 
complementações 
para o seu 
conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas 
e links para 
aprofundamento do 
seu conhecimento;
REFLITA:
se houver a 
necessidade de 
chamar a atenção 
sobre algo a ser 
refletido ou discutido;
ACESSE: 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
fazer um resumo 
acumulativo das 
últimas abordagens;
ATIVIDADES: 
quando alguma 
atividade de 
autoaprendizagem 
for aplicada;
TESTANDO:
quando uma 
competência for 
concluída e questões 
forem explicadas;
SUMÁRIO
Aprendizagem supervisionada: como os sistemas digitais aprendem .... 10
Como os sistemas digitais aprendem .............................................................................. 10
Aprendizado supervisionado .................................................................................................. 15
Lógica indutiva ............................................................................................ 19
Lógica indutiva, retomando o raciocínio ........................................................................ 19
Algoritmos de primeira ordem supervisionados ..................................................... 21
k-nearest neighbors (k-nn) ....................................................................................23
Árvore de decisão ........................................................................................................25
Considerações sobre os algoritmos supervisionados ......................27
Aprendizagem por modelos probabilísticos ..................................28
Algoritmos não supervisionados ........................................................................................ 30
Expectation-Maximization (EM) .........................................................................33
k-means ..............................................................................................................................34
Considerações sobre os algoritmos não supervisionados .......... 36
Aprendizagem por reforço ...................................................................... 37
Retomando alguns fundamentos da aprendizagem indutiva e 
dedutiva..................................................................................................................................................37
Fase de pré-processamento............................................................................... 38
Fase de processamento ......................................................................................... 39
Fase de pós-processamento .............................................................................. 40
A aprendizagem por reforço em agentes inteligentes ........................................ 41
Os dois tipos de aprendizagem por reforço .............................................44
7
UNIDADE
03
Inteligência Artificial
8
INTRODUÇÃO
Aprender é uma característica ímpar na sobrevivência de muitos 
organismos, porém, o ser humano a tem como primordial para a formação 
de tudo que nossa espécie construiu, tanto bom, como, infelizmente, ruim. 
Está habilidade permite que as experiências possam ser armazenadas 
de forma a podermos acessá-las quando necessário. O aprendizado 
biológico pode acontecer tanto a nível consciente, como inconsciente, 
além de alguns destes conhecimentos serem passados hereditariamente 
para os descendentes, como a imunidade a algumas doenças.
De forma semelhante, a aprendizagem em agentes inteligentes, 
pode ser de vital importância para a melhor performance dos sistemas seja 
alcançada, aplicadas a mais diversa gama de problemas computacionais. 
Os processos de aprendizagem nos computadores seguem três 
estratégias principais, a aprendizagem indutiva, dedutiva e por reforço, 
sendo cada uma aplicada a uma gama de variações na forma como os 
dados estão disponíveis aos sistemas.
Desta forma, o objetivo desta unidade será apresentar os conceitos 
ligados a aprendizagem em agentes inteligentes, especificamente ao 
tratar sobre como os dados disponíveis impactam na estratégia de 
aprendizagem, bem como, nos paradigmas que as lógicas de aprendizado 
utilizam para a criação de modelos eficientes de aprendizagem. Estas 
prontas? Então vamos lá!
Inteligência Artificial
9
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 3. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Entender como se dá o aprendizado em sistemas inteligentes. 
2. Compreender o conceito de aprendizado supervisionado. 
3. Discutir as abordagens da lógica indutiva. 
4. Identificar outros tipos de aprendizagem de máquina. 
Então? Preparado para adquirir conhecimento sobre um assunto 
fascinante e inovador como esse? Vamos lá!
Inteligência Artificial
10
Aprendizagem supervisionada: como os 
sistemas digitais aprendem
OBJETIVO:
Aprender é uma habilidade ímpar para que organismos 
possam otimizar suas chances de sobrevivência. Por sua vez, 
sistemas digitais que procuram simular as características 
ligados ao aprendizado, o fazem por motivos específicos 
de suas aplicações, geralmente, procurando otimizar 
seus resultados positivos. Assim, este capítulo procurará 
apresentar como sistemas inteligentes implementam e 
se comportam ao serem dotados de capacidades de 
memorização, lembrança e previsões futuras. Bons estudos!
Como os sistemas digitais aprendem
O aprendizado é um tema complexo tratado por diversas áreas, 
como a psicologia, neurociência, pedagogia, inteligência artificial, entre 
outras. Esta interdisciplinaridade sobre o aprendizado, permite que a 
contribuição e achados relevantes para todas as áreas, mesmo que estas 
não venham a ter ligação direta nos seus objetivos de estudo sobre o ato 
de aprender.
Como já vimos na unidade 1 deste material, a neurociência cognitiva 
apresenta a teoria do cérebro trino, onde o cérebro é formado por três 
camadas distintas, o chamado cérebro reptiliano, estrutura evolutivamente 
mais antiga e ligada as reações espontâneas e automatizadas. O sistema 
límbico, onde são tratadas as emoções e comportamentos sociais. Por 
fim, o Neocórtex, o qual, é responsável por processos complexos como 
recordar, fazer reflexões e tomar decisões (WAGNER; LUO, 2020). Vide o 
esquema do cérebro trino na Figura 1.
Inteligência Artificial
11
VOCÊ SABIA?
O Neocórtex compõe cerca de80% do cérebro humano 
e é uma das partes mais recentes da evolução cerebral 
nos mamíferos, o que inclui os seres humanos. O estudo 
desta parte do cérebro contribuiu bastante para o 
desenvolvimento da IA, especificamente nos processos de 
tomada de decisão e simulação de aprendizagem.
O Neocórtex, é responsável por alguns processos cognitivos ligados 
ao aprendizado, como a percepção de eventos cotidianos como: ver que 
ao se jogar um objeto para cima, em condições frequentes, o objeto 
fatidicamente cairá, algo simples, mas que por ocorrer com frequência 
nos permite, mesmo sem conhecer os processos físicos por trás do 
evento, perceber que se no futuro um objeto for lançado para cima, este 
consequentemente cairá.
Figura 1 - Modelo da teoria do cérebro trino
Fonte: Autor (2020).
Inteligência Artificial
12
Segundo o ganhador do Prêmio Nobel, Herbert Simon (1975), o 
ato de aprender em seu conceito, mudou durante a história humana, 
deixando de estar ligado apenas a lembrança e repetição de dados para 
a habilidade de acessar estes dados e usá-los de forma mais genérica, 
como o exemplo do lançamento de um objeto citado acima.
Da mesma forma, a computação procura dotar alguns sistemas 
com a capacidade de perceber seu ambiente, capturar e registrar os 
estímulos, acessar estes dados e consequentemente, tomar decisões e 
prever estados futuros.
NOTA:
As habilidades e características das IAs que implementam 
processos de aprendizagem podem ser diferentes dos citados 
quanto a aplicação, porém, estas características em geral são 
os principais presentes em sistemas capazes de aprender.
Existem diversas maneiras de implementar sistemas capazes de 
simular a aprendizagem, porém, antes de citarmos algumas características 
comuns nestes sistemas, precisamos definir o que vem a ser a capacidade 
de aprender.
DEFINIÇÃO:
Segundo o dicionário Houaiss da Língua Portuguesa 
(2009), aprender é: aprender a partir de experiências; 
instruir-se; adquirir habilidade prática (em); vir a ter melhor 
compreensão de algo.
Com base na definição acima, Russell (2013) cita que a aprendizagem 
em sistemas digitais precisa ser baseada em quatro fatores, tratados nesta 
unidade em forma de perguntas, sendo eles:
 • Quais comportamentos o sistema precisa melhorar para ser mais 
efetivo?
 • Qual o conhecimento prévio que o sistema possui para ser usado 
no processo de aprendizagem?
Inteligência Artificial
13
 • Qual ou quais modelos são aplicados para representar os dados e 
componentes no sistema?
 • E Qual ou quais respostas estão disponíveis nos processos de 
aprendizagem?
Perceba que as unidades anteriores nos permitiram compreender 
como os dados e componentes podem ser representados nos sistemas 
digitais, especificamente através de modelos e processos ligados a 
tomada de decisão.
Os modelos de representação da lógica propositiva e da lógica 
de primeira ordem, permitem que o conhecimento seja representado e 
aplicado em modelos específicos, como por exemplo, os modelos das 
redes baysianas e do modelo oculto de Markov, os quais, são pertencentes 
a lógica de primeira ordem.
REFLITA:
Nas lógicas apresentadas nas unidades 1 e 2, podemos 
perceber que os modelos eram capazes de representar 
conhecimentos e seus fluxos com base em entradas. 
Mesmo quando os sistemas não eram capazes de prever 
completamente as respostas possíveis, os tipos esperados 
de respostas eram traçados através de estratégias 
específicas, buscando os prever, assim, podemos dizer 
que estes modelos seguiam padrões de resposta 
específicos dentro de suas limitações. Desta forma, reflita 
sobre os sistemas apresentados que implementam lógica 
propositiva e de primeira ordem e as quatro perguntas 
feitas acima e busque perceber se estes modelos atendem 
ou não os quatro fatores?
A representação do conhecimento prévia nos sistemas digitais, em 
geral, são cadeias sequenciais de dados numéricos discretos, que podem 
ser chamados de representação fatorada (SALGADO, RINCÓN e OLIVEIRA, 
2017). Esta representação fatorada significa que os dados de entrada 
podem ser valores e atributos em forma de um vetor (lista), onde por sua 
vez, as saídas podem ser valores numéricos contínuos ou discretos, como 
citado por Russell (2013). Existem duas formas principais de dotar a IA com 
Inteligência Artificial
14
a capacidade de aprender, são elas a aprendizagem indutiva e dedutiva. 
O Quadro 1 apresenta uma visão geral das duas aprendizagens.
Quadro 1 – Aprendizagem indutiva e dedutiva
Aprendizagem indutiva Aprendizagem dedutiva
“[...] os métodos de aprendizagem 
indutiva como aqueles em 
que em que as proposições 
são introduzidas através de 
observações específi cas, casos 
de estudo ou problemas, a 
partir dos quais o estudante 
é estimulado a inferir regras e 
teorias. Tratam-se, portanto de 
modalidades de aprendizagem 
por descoberta” (FILHO, LIMA e 
TAROUCO, 2013, apud FELDER e 
PRINCE, 2006).
Capacidade de “passar de uma 
regra geral conhecida a uma 
nova regra logicamente derivada, 
porém útil, por permitir um 
processamento mais efi ciente” 
(RUSSELL, 2013).
Fonte: Autor (2020)
As duas aprendizagens citadas se baseiam especificamente no 
conhecimento prévio da IA, porém, existem outras formas (métodos) 
de aprendizados baseados nas respostas do sistema e que aplicam as 
duas aprendizagens citadas. Um destes métodos é o aprendizado é a 
aprendizagem por feedback (aprendizagem por resposta), o qual, possui 
três subtipos principais de aprendizagens, a aprendizagem supervisionada 
(tratada neste capítulo a partir da sessão 1.2) e não supervisionada (capítulo 
3) e aprendizagem por reforço (o qual, será apresentada no capítulo 4 
desta unidade).
ACESSE:
Clique aqui para saber mais sobre como dotar um 
computador ou outro tipo de sistema digital com a 
capacidade de aprender.
Inteligência Artificial
https://www.youtube.com/watch?v=mhe5e2B9bL8
15
A seguir, iremos tratar sobre o aprendizado supervisionado de 
forma geral, uma vez que o capítulo 2 irá aprofundar o aprendizado 
supervisionado através da apresentação de alguns algoritmos além das 
redes bayesianas já apresentadas.
Aprendizado supervisionado
Pensemos um agente baseado na lógica de primeira ordem 
que pode receber um conjunto de dados quaisquer, inclusive dados 
não numéricos. Se tomarmos por base que os dados de entrada são 
combinações completamente ou parcialmente desconhecidas, podemos 
deduzir que os possíveis estados de saída também o serão.
Para solucionar o problema da previsão das possíveis saídas, na 
unidade 2 deste material utilizamos algoritmos para o tratamento das 
incertezas, como as redes bayesianas.
Para solucionar o problema da previsão, os programadores 
inserem modelos que calculam os possíveis estados das entradas 
combinatoriamente, permitindo que o modelo faça uma previsão 
estatística ou temporal das possíveis saídas mais prováveis de serem 
obtidas.
Perceba que os modelos gerados para solucionar a predição, 
seriam complexos de serem inseridos manualmente por um programador, 
por isso, estes mesmos modelos aplicam estratégias onde o espectro 
de conhecimento sobre as entradas é inserido de forma relativamente 
simples, citando por exemplo o conjunto de variáveis e seus respectivos 
valores possíveis, muitas vezes impedindo que outros valores fora do 
espectro definido sejam possíveis de serem inseridos nestas variáveis.
Porém, perceba que os métodos de tratamento de incerteza 
citados nas unidades anteriores, não aplicam aprendizado, uma vez que já 
possuem modelos fixos que não mudam durante a execução do sistema.
Por sua vez, as redes bayesianas são capazes através de seus 
sensores, percebe os estímulos externos, agrupar em conjuntos de 
entradas, ou observações, e procurar padrões nestes conjuntos, alterando 
assim os modelos de previsão de saídas.
Inteligência Artificial
16
Esta sequência permite que a rede se adapte a diferentes conjuntosde dados sem precisar diretamente da intervenção de um programador 
para mudar os modelos de tratamento das entradas e das possíveis saídas.
Todavia, este tipo de tratamento de incertezas possui uma 
característica específica. O conjunto de saídas possível sempre é 
conhecido com base nas possíveis entradas esperadas. 
DEFINIÇÃO:
Assim, podemos dizer que a aprendizagem supervisionada 
ocorre quando um conjunto de entradas incertas permite a 
previsão de uma saída certa, ou seja, uma resposta desejada.
Neste sentido, podemos dizer que a aprendizagem supervisionada 
é um paradigma, ou seja, um modelo geral de algo, no caso, de 
aprendizagem indutiva.
A indutividade se dá ao criar predições baseadas em dados 
particulares que apesar de esperados, não podem ser previstos.
Um conceito comum no aprendizado em IA são os conjuntos 
de teste e de treinamento para geração dos modelos baseados na 
indutividade, o qual, é aplicado nas redes bayesianas.
Para a criação dos modelos de predição das saídas, as redes 
bayesianas realizam um conjunto de etapas para treinar as redes.
Primeiramente, é preciso preparar os dados de acordo com os tipos 
que o algoritmo é capaz de tratar, está etapa é exclusiva para cada tipo 
de algoritmo supervisionado. Por exemplo, as redes bayesianas devem 
receber valores variando entre 0 e 1, como por exemplo 0,2 ou 0,05, 
porém, outros algoritmos podem receber entradas com dados diversos, 
inclusive não numéricos como textos.
Uma vez que os dados sejam preparados, estes devem ser 
agrupados e inseridos as possíveis saídas para cada combinação de 
entradas, por exemplo, se for dado um conjunto de temperaturas, nível 
de humidade do ar e período do ano, o resultado é um possível estado de 
Inteligência Artificial
17
chuva ou não para cada combinação. Perceba que estes dados de saída 
devem ser conhecidos, geralmente, obtidos de observações anteriores.
Uma vez que os dados estão organizados e tratados, eles são 
divididos em dois grupos. Um grupo chamado de teste e outro de 
treinamento. A proporção de elementos em cada grupo é variável e 
cabe ao programador aplicar variações nestas proporções em pró de 
encontrar o melhor modelo possível, especificamente pelo fato de 
treinar exaustivamente uma rede, pode gerar um problema de viciar os 
resultados possíveis, algo que não é desejado, por sua vez, treinar as 
redes com poucos dados pode gerar uma capacidade baixa de predição, 
o que também não é aceitável para a maior parte dos problemas.
Desta forma, as redes ou outros algoritmos supervisionados são 
treinados com um conjunto de dados e em seguida, os conjuntos restantes 
são usados para fazer o teste, ou seja, se o sistema é capaz de prever os 
resultados com base no treinamento. O Quadro 2 apresenta um exemplo 
simples de conjuntos de dados para serem aplicados a uma rede bayesiana.
Quadro 2 – Exemplo de entradas e saídas
Temperatura Umidade Dia do ano Chuva?
27,4° 35% 132 Sim
24,7° 12% 187 Não
25,9° 56% 284 Sim
32,4° 65% 361 Não
26,9° 34% 127 Sim
23,9° 8% 190 Não
25,5° 51% 256 Não
31,9° 63% 359 Não
... ... ... ...
27,3° 37% 135 Sim
21,5° 5% 201 Não
23,8° 41% 300 Não
31,7° 75% 360 Sim
Fonte: Autor (2020)
Inteligência Artificial
18
Uma vez que o sistema tenha sido treinado, ele poderá aplicar 
o modelo criado como base de conhecimento e tomada de decisões, 
atualizando através de novos treinamentos sempre que preciso ou 
quando os dados de entrada sofrerem alguma alteração ou os resultados 
deixarem de ser eficientes.
REFLITA:
REFLITA um pouco sobre os dados apresentados no 
Quadro 2 e veja se você é capaz de perceber algum padrão. 
Aproveite também para tentar prever se no dia atual da 
reflexão, com base na temperatura local e umidade, 
segundo os dados apresentados, sua região deveria estar 
chovendo ou não?
Desta forma, concluímos este capítulo introdutório ao tratamento 
dos dados e aprendizagem em sistemas computacionais.
RESUMINDO:
Neste capítulo tratamos de forma geral sobre como os 
sistemas inteligentes aprendem, retomando os conteúdos 
já abordados em outras unidades, como o tratamento a 
incertezas e o uso das lógicas propositiva e de primeira 
ordem para criação de modelos de decisão. Em seguida, 
tratamos sobre diferentes estratégias de aprendizado, 
sendo duas principais citadas, o aprendizado indutivo e o 
dedutivo, o qual, o primeiro está presente no paradigma da 
aprendizagem supervisionada. Assim, aprofundamos um 
pouco sobre como sistemas supervisionados preparam 
os dados e realizam a criação dinâmica de modelos de 
predição com base em treinamento e testes, o preparando 
assim para a apresentação de conceitos adicionais e alguns 
algoritmos da aprendizagem supervisionadas no capítulo 
posterior (capítulo 2).
Inteligência Artificial
19
Lógica indutiva
OBJETIVO:
Este capítulo abordará conceitos mais concretos sobre 
a aplicação da aprendizagem supervisionada, bem 
como, conceitos abstratos sobre alguns algoritmos 
supervisionados. Bons estudos!
Lógica indutiva, retomando o raciocínio
O aprendizado indutivo, parte do princípio que é possível criar 
hipóteses baseadas em uma amostra de dados qualquer, procurando 
criar o melhor modelo possível para representar um conjunto de saídas 
esperadas possíveis.
No Capítulo 1, abordamos uma metodologia de aplicação do 
aprendizado indutivo através do paradigma supervisionado, onde um 
conjunto de dados deveria ser preparado para ser treinado e testado, 
a fim de criar modelos prontos para os dados futuros, necessitando da 
intervenção dos desenvolvedores para perceber quando seria preciso 
refazer ou reforçar o treinamento para adaptação dos modelos a novos 
tipos de dados ou respostas inadequadas do sistema.
Este conceito citado é chamado de estratégia não incremental, 
ou seja, a hipótese mais eficaz é gerada especificamente para os dados 
específicos de um dado tipo ou conjunto de tipos. 
Porém, sistemas inteligentes também são capazes de fazer 
alterações nos modelos em tempo de execução, realizando cálculos para 
ajustar os modelos de predição com base em cada nova entrada. Esta 
estratégia é chamada de incremental.
A importância no entendimento de cada uma das estratégias se dá 
pelo fato que cada problema para o qual a IA será aplicada, irá requisitar 
uma estratégia diferente, por exemplo, um mercado online onde o perfil 
dos consumidores constantemente se altera devido fatores complexos, 
necessita que o sistema digital se adapte constante a essas mudanças, 
Inteligência Artificial
20
algo que geraria alto custo se necessita-se da constante interferência dos 
desenvolvedores para ajuste dos modelos.
REFLITA:
O exemplo acima, deixa claro uma aplicação onde a 
performance é afetada pela necessidade de interferência e 
ajustes nos modelos de predição, porém, procure refletir sobre 
ações simples do cotidiano e que se repetem constantemente, 
como o horário das refeições ou rotina escolar. Procure refletir 
sobre os padrões que você constrói a cada dia e busque definir 
se estes padrões podem ser definidos através da estratégia 
incremental ou não incremental?
Perceba que estas estratégias estão diretamente vinculadas a 
quantidade de dados disponível em um intervalo de tempo, como no 
exemplo do perfil de consumo. É preciso uma quantidade de observações 
mínimas para tornar bem definido uma nova tendência.
Ademais, a aplicação de modelos fixos ou variáveis baseados no 
aprendizado supervisionado, possui forte relação com as estratégias de 
tratamento de dados advindo da lógica de primeira ordem, pois, permitem 
a criação de modelos complexos de tratamento de dados certos ou 
incertos, em diferentes formatos, algo que a lógica proposicional não 
permite por só receber entradas numéricas.
A combinação entre a lógica de primeira ordem com os conceitos 
de aprendizagem indutiva, são chamados na Inteligência Artificial de 
Lógica Indutiva.
Segundo Russell (2013), a lógica indutiva ganhou espaçonas 
pesquisas e desenvolvimento de sistemas inteligentes devido a três 
fatores, sendo eles:
 • A lógica indutiva permite aos desenvolvedores aplicar uma 
abordagem rigorosa quanto o tratamento de dados gerais;
 • A existências de algoritmos capazes de aplicar técnicas de indução 
sobre a lógica de primeira ordem, permitindo que sistemas Inteligentes 
aprendam sobre domínios de dados que muitas vezes não estão 
Inteligência Artificial
21
presentes em algoritmos baseados em atributos, uma vez que a lógica 
de primeira ordem permite descrever relacionamentos sobre dados 
diversos.
 • Por fim, a lógica indutiva permite a criação de modelos mentais, 
teóricos e dimensionais, capazes de serem expressos e lidos com 
pouco esforço, especificamente pelo fato da lógica indutiva nos 
permitir através de um fluxo bem definido, passar por fase de treino, 
experimentação, geração dos modelos hipotéticos, avaliação dos 
modelos e conclusão sobre refutar ou aceitá-lo como melhor para 
um dado problema a ser resolvido.
Algoritmos de primeira ordem 
supervisionados
Esta sessão abordará alguns algoritmos supervisionados mais 
utilizados pela comunidade científica e pela indústria de desenvolvimento 
de sistemas inteligentes, procurando dar uma visão superficial de seus 
funcionamentos, porém, explorando suas aplicações e principais conceitos.
SAIBA MAIS:
Uma área profissional que aplica estes conhecimentos é 
a ciência de dados, onde os analistas de dados procuram 
aplicar algoritmos específicos para o tratamento de 
dados em geral, sendo uma profissão ligada a IA com 
alta demanda, especificamente, a partir da expansão e 
acessibilidade da internet e o uso massivo dos mercados 
globais através de meios digitais. Clique aqui para saber um 
pouco mais sobre esta profissão.
Uma observação importante sobre os algoritmos a serem 
apresentados é o fato destes estarem ligados a um fluxo bem definido 
de processos, mesmo que alguns sofrem leves alterações, divido em três 
grandes etapas e sub rotinas de execução.
O primeiro passo após a aquisição dos dados, é a fase de pré-
processamento, fase está onde os dados serão preparados para se 
Inteligência Artificial
https://exame.com/carreira/cientista-de-dados-a-profissao-do-futuro-continua-em-alta
22
adequarem aos algoritmos. Está etapa também permite que dados de 
tipos diversos sejam tratados de forma eficiente nos algoritmos, como por 
exemplo as redes bayesianas, que precisam de entradas numéricas com 
valores variando de 0 a 1, como já citado em vários momentos.
Existem muitas técnicas de tratamento de dados ligados a 
preparação destes, como a redução das amostras, dos atributos ou de 
outras características dos dados, como por exemplo, a desratização feita 
para o tratamento dos dados pelos algoritmos de Bayes.
Um exemplo clássico deste pré-processamento é a discretização 
de imagens. Em geral, cada pixel de uma imagem é constituído da 
combinação entre três tipos de cores (R=Red, G=Green e B=Blue). Os 
valores para cada variável em geral então entre 0 e 255, onde por sua vez, 
a desratização faz que a variação ocorra entre 0 e 1, com o valor 0 sendo 
representado pelo 0 discreteado e o valor 255 pelo 1 discretizado, com os 
demais valores variando entre o intervalo binário citado.
Neste sentido, também podemos citar alguns conceitos importantes 
na representação dos dados, que, geralmente estão apresentados em 
forma de tabelas multidimensionais.
Geralmente as tabelas citadas possuem um cabeçalho descritivo ou 
conceitual, presente ou não na tabela, onde cada coluna representa um 
atributo (característica) que compõem um objeto, chamado de instância.
Como pode ser visto no Quadro 2 apresentado no capítulo anterior, 
cada verificação estava apresentada em uma linha, com cada coluna 
representando um dado específico e ao final, a saída observada, o qual, é 
usada para os modelos de predição através de diferentes estratégias que 
passáramos a ver a seguir.
As sessões abaixo descrevem alguns dos algoritmos mais usados 
na IA.
Inteligência Artificial
23
k-nearest neighbors (k-nn)
O primeiro algoritmo supervisionado que iremos tratar nesta unidade 
será o k-nn. Algoritmo este caracterizado por verificar a similaridade entre 
vizinhos representados em uma estrutura de grafo.
O funcionamento do algoritmo é relativamente simples em sua 
forma conceitual.
DEFINIÇÃO:
Dado um conjunto de elementos conhecidos através 
da etapa de treinamento, qualquer novo elemento 
desconhecido poderá ser classificado de acordo com seus 
vizinhos mais próximos, sendo o valor K a quantidade de 
vizinhos a ser comparados (MUCHERINO; PAPAJORGJI; 
PARDALOS, 2009).
Procurando evitar a apresentação de cálculos complexos, 
vamos exemplificar através do uso de dados de pixels como o citado 
anteriormente, onde a combinação entre as cores Vermelho, Verde e 
Azul, geram cores específicas. Para isto, vamos analisar o Quadro 3 e 
os valores de entrada para treinamento para percepção da cor amarela. 
Antes, perceba que alguns valores não serão alterados para reduzir as 
possibilidades de combinação e assim permitir uma visão um pouco mais 
didática do problema.
Inteligência Artificial
24
Quadro 3 – Exemplo de dados de treinamento para o k-nn
Instância R G B Resultante
1 255 255 0 Amarelo
2 153 204 50 Verde
3 217 217 25 Amarelo
4 140 120 83 Marrom
5 89 89 171 Roxo
6 127 255 0 Verde
N ... ... ... ...
n+1 ... ... ... ...
Fonte: Adaptado de Shibolete (2020)
Perceba no quadro acima, que os valores de R e G aproximados 
entre si e com o valor de B tendendo a zero, a cor resultante é uma 
variação do amarelo. Todavia, se o valor de B for ligeiramente menor que 
R e G, a cor tende a marrom e se o inverso ocorrer, B ligeiramente maior 
que R e G, a cor passa a tender para Roxo. 
Assim, dada uma cor qualquer, o algoritmo k-nn procurará aproximar 
seus atributos a cada um grupo de vizinhos. Por exemplo, se a entrada de 
R for igual a 200 e o valor de K for igual a 2, podemos dizer que o atributo 
está mais próximo das instâncias 3 e 2 respectivamente. 
Se o valor de G também for 200, seguindo o exemplo acima, os 
atributos vizinhos seriam os das instâncias 2 e 3.
Por fim, se a entrada de B for igual a 25, perceba que existiram ao 
menos 4 elementos concorrendo a vizinho, sendo o atributo da instância 
3 o mais próximo e os das instâncias 1, 2 e 6 concorrentes a segunda vaga.
O exemplo acima é interessante, pois demonstra a necessidade 
de tratamento para possíveis candidatos a elemento aproximado, sendo 
a estratégia definida como o valor mais alto ou mais baixo, bem como, 
podendo ser decidido através da ordem ascendente ou descendente de 
ocorrência das instâncias, cabendo aos desenvolvedores escolher qual a 
melhor estratégia a ser aplicada.
Inteligência Artificial
25
Por fim, perceba que a combinação dos vizinhos aproximados para 
cada atributo, irá apresentar uma probabilidade por aproximação qual 
a cor resultante da entrada, o qual, no exemplo dado se aproxima da 
instância 3, sendo a entrada categorizada como amarelo devido o modelo 
apresentado.
REFLITA:
Note que o exemplo acima não deixa claro a predição de 
outras cores resultantes das combinações. Além disto, 
também evidência que as entradas são números, mas a saída 
é o nome de uma cor, algo que podemos verificar no mundo 
real e comparar, além de ser possível entender visualmente o 
modelo e suas regras, sendo está uma das vantagens citadas 
na aplicação da lógica indutiva. Todavia, e se as combinações 
entre os atributos forem de uma cor que o conjunto de 
treinamento não foi capaz de prever, o sistema seria capaz de 
apresentar a cor correta no mundo real ou uma variação entre 
as cores possíveis apresentadas no Quadro 3?
O k-nn, como citado, é um algoritmo bastante usado na IA, e possui 
aplicações diversas, como a coloração de mapas e de subespaços 
(BAVKAR; IYER; DEOSARKAR, 2019), tratamento e reconhecimento depadrões em imagens, muitas vezes usados para reconhecimento de 
problemas dessaúde (BALLERINI ET AL., 2013), entre outros.
Árvore de decisão
Para a computação, uma árvore é uma estrutura hierárquica 
constituída de elementos em camadas, onde cada camada pode ser 
entendida como uma geração de elementos filhos dos elementos da 
camada anterior, salvo quando o primeiro elemento é o nó de origem. 
Cada elemento pode estar ligados a zero ou muitos elementos de 
camadas inferiores, mas um nó filho nunca poderá ter dois ou mais pais, 
bem como, elementos em camadas inferiores não podem não ter um pai. 
A Figura 2 apresenta um esquema simples de uma árvore simples.
Inteligência Artificial
26
Figura 2 – Árvores
R
O I
G O
O
M
A
Ç
Ã
Fonte: Autor (2020)
Perceba que a Figura acima é uma estrutura de árvore, o qual, sua 
raiz, ponto de início, se dá a partir do elemento A na primeira camada, 
a segunda camada é formada pelos elementos M e Ç, seguindo esta 
dinâmica sucessivamente para cada camada inferior até a camada mais 
profunda com o elemento O sendo seu representante.
Baseado nestas estruturadas de dados, as árvores de decisão são 
algoritmos que objetivam classificar e criar modelos capazes de prever o 
valor de uma variável qualquer, aprendendo regras simples de decisão 
que inferem dos recursos de dados fornecidos (STEFANO ET AL., 2020).
Por exemplos, podemos tratar a Figura 1 como um modelo para 
reconhecimento de palavras, sendo possível identificar as palavras AMOR, 
AMIGO e AÇÃO. Assim, as entradas esperadas serão cadeias de caracteres 
com o objetivo de perceber as palavras descritas no modelo.
Todavia, as árvores de decisão são estruturas robustas e complexas, 
podendo ser aplicadas a problemas também mais complexos, com cada 
nó sendo um atributo a ser verificado.
Neste sentido, problemas como o apresentado no Quadro 3 na 
sessão sobre o k-nn, também podem ser usados como modelos para 
a construção de árvores de decisão, onde cada nó, seria ou um valor 
específico para R, G ou B, ou um intervalo probabilístico, visto que, 
o próprio algoritmo deve ser capaz de decidir qual a melhor forma de 
representar as possibilidades de combinações e estados.
Inteligência Artificial
27
Esta atualização e organização da estrutura do modelo da árvore 
se dá através de um processo chamado poda, ou seja, remoção de 
nós redundantes ou com baixa possibilidade de ser acessado, assim, 
reduzindo o custo do processamento de busca na árvore.
Assim, perceba que cada problema a ser resolvido, em geral, pode-
o-ser utilizando os algoritmos citados e outros, porém, os resultados 
podem ser melhores em um frente aos demais, cabendo ao analista de 
dados procurar qual o melhor algoritmo e configuração a ser aplicada 
sobre os dados na criação dos modelos mais eficientes.
Considerações sobre os algoritmos supervisionados
A sessão 2.2 procurou dar uma visão introdutória e direta sobre 
alguns importantes algoritmos de aprendizagem supervisionadas, sendo 
assim apresentado o k-nn e a árvore de decisão. Porém, o Bayes também 
é um algoritmo supervisionado bastante usado e não foi detalhado nestas 
sessões devido já ter sido citado e explorado no decorrer deste material. 
Outro algoritmo bastante utilizado e relevante são as redes neurais, 
porém, estas serão abordadas na Unidade 4 ligadas ao entendimento de 
modelos complexos de tratamento de dados, como a linguagem natural.
RESUMINDO:
Chegamos ao fim de mais um capítulo, o qual, tratou sobre 
a lógica indutiva e alguns algoritmos supervisionados. Para 
fundamentar o caminho do aprendizado sobre os sistemas 
supervisionados, fizemos uma introdução geral sobre 
como os sistemas digitais aprendem e o que vem a ser o 
aprendizado. Em seguida foi apresentado de forma simples, 
mas objetiva, alguns algoritmos supervisionados, sendo eles 
especificamente o k-nn e a árvore de decisão, concluindo 
assim o capítulo com uma consideração geral sobre os 
algoritmos supervisionados. Desta forma, esperamos que 
estes conhecimentos o auxiliem no entendimento geral 
sobre como se dá a aprendizagem supervisionada em 
agentes inteligentes que aplicam a lógica de primeira ordem.
Inteligência Artificial
28
Aprendizagem por modelos probabilísticos
OBJETIVO:
Nas unidades anteriores estudamos como os agentes 
inteligentes tratam a incerteza, todavia, os modelos 
criados em geram gerados através de um conjunto e 
saídas esperadas pelos desenvolvedores. Porém, existem 
situações em que as saídas não podem ser completamente 
preditas, uma vez que as entradas não permitem essa 
completa sondagem das saídas possíveis. Neste sentido, 
este capítulo irá tratar sobre a lógica dedutiva e o paradigma 
não supervisionado, bem como, exemplificações de 
algoritmos e conceitos ligados a aprendizagem não 
supervisionada. Vamos lá!
Um agente inteligente computacional é uma entidade digital que 
procura simular aspectos reais presentes em agentes biológicos. Neste 
sentido, já traçamos características ligadas a percepção, o mantimento de 
informações na memória, como se dá o acesso a memória, como é feito 
os processos de tomada de decisão através de modelos, expandimos os 
modelos numéricos para modelos complexos com tipos diversos e nesta 
unidade traçamos os aspectos da aprendizagem, onde até o momento, 
nos aprofundamos na chamada aprendizagem supervisionada, ou seja, 
quando existe um certo controle indutivo das saídas esperadas.
Todavia, em muitos problemas além de não ser possível pré-
definir as saídas, podemos querer encontrar possíveis padrões de forma 
computadorizadas, deixando que os agentes identifiquem as possíveis 
saídas (chamadas de classes).
Neste sentido, a lógica dedutiva procura encontrar padrões em 
bases de dados compostas de atributos e instâncias, da mesma forma 
que os modelos de treinamento e teste da lógica indutiva. Neste sentido, 
os dados são tratados como evidências ligadas a hipóteses a serem 
encontradas (GONÇALVES; SANTANA, 2020).
Desta forma, podemos definir também que a forma de inferir sobre 
os dados de entrada são meios probabilísticos, uma vez que, similar 
Inteligência Artificial
29
ao tratamento das incertezas em agentes que tomam decisões sobre 
modelos estáticos em ambientes parcialmente ou não observáveis, o uso 
da probabilidade nos auxiliará a criar algoritmos e modelos capazes de 
estatisticamente classificar os dados em grupos chamados de cluster.
Neste sentido, podemos retomar as redes bayesianas, uma vez que 
essas redes são criadas a partir de probabilidades para cada hipótese 
com base no tipo e diversidade dos dados de forma combinada, ou seja, 
as redes são formadas pela combinação de todas as hipóteses.
Porém, perceba que as variáveis tratadas nas redes bayesianas, são 
variáveis conhecidas, o que por sua vez, nos permitir induzir prováveis 
resultados esperados. Perceba que este conceito trata os problemas 
apresentando soluções definidas, o qual, são usadas nas etapas de 
treinamento e teste para validar se os algoritmos são capazes de dado 
uma cadeia de dados quaisquer, mas, similares ao treinados, apresentar 
boa qualidade na classificação dessas entradas.
Todavia, se ocorrerem mudanças bruscas nos dados de entrada 
que venham a afetar a qualidade dos acertos nas classificações, é preciso 
intervir nos sistemas através de novos treinamentos e testes a procura do 
melhor modelo para representar os dados. 
Perceba que se um problema qualquer for afetado constantemente 
pelos dados de entrada, o número de intervenções e o aumento da 
probabilidade de o algoritmo usado deixar de ser eficiente para o 
problema, torna-se um problema adicional.
Neste sentido, podemos procurar deixar os algoritmos identificarem 
as prováveis combinações com base em regras estabelecidas.
Inteligência Artificial
30
REFLITA:
O Quadro 3 apresentado no capítulo 2, apresentou um 
problema de classificação esperada, onde as entradas 
poderiam ser classificadascomo amarelo, verde, marrom e 
roxo (a existência de mais classes de cores ficou oculta no 
Quadro, porém, trataremos como se apenas estas cores 
fossem as classes disponíveis para a classificação). Porém, 
imagine que nós não sejamos capazes de prever todas 
as combinações de cores, assim, seria interessante que o 
agente fosse capaz de classificar as instâncias com base 
classes que ele mesmo foi capaz de identificar, cabendo 
posteriormente ao programador ou usuário do sistema em 
uma fase de pós processamento, verificar se as clusters 
(classes) criadas representam cores reais e similares, como 
por exemplo, o azul marinho e o azul escuro, uma vez que 
ambos estão presentes no espectro da cor azul.
Neste sentido, a lógica dedutiva e seus algoritmos não 
supervisionados, permitem a criação de modelos capazes de perceber as 
classes com base na relação entre os atributos de cada instância.
A seguir iremos aprofundar sobre os modelos e algoritmos não 
supervisionados através da conceitualização destes e de exemplos práticos.
Algoritmos não supervisionados
Assim como os algoritmos supervisionados, existem um número 
diverso de algoritmos não supervisionados, seguindo estratégias distintas 
com base na aprendizagem dedutiva.
Os algoritmos possuem em comum a características de os dados 
utilizados para criação dos modelos não possuírem rótulos, sendo 
inseridos apenas com as instâncias e os atributos caracterizadores, ou 
seja, sem a presença de um atributo classe.
Mais uma vez, semelhante aos algoritmos supervisionados, antes 
de serem inseridos os dados para treinamento e testes, é preciso fazer 
Inteligência Artificial
31
uma etapa de pré-processamento, tornando os dados prontos para os 
processos de geração de hipóteses e “clusterizações” dos objetos.
Entre os principais algoritmos não supervisionados estão o 
Expectation-Maximization (EM) e k-means. Cada algoritmo citado possui 
uma estratégia própria e uma forma de avaliar as hipóteses.
Antes de apresentar os algoritmos propriamente, vamos traçar um 
problema geral para ser usado com exemplo em cada um.
Exemplo: Uma empresa de telefonia móvel está procurando 
entender o perfil de uso de seus clientes com planos pré-pagos a fim 
de criar um conjunto de pacotes de serviços em pró de fidelizar estes 
clientes no serviço pós-pago.
Este exemplo apresentado acima possui uma importante 
característica para a aprendizagem não supervisionada, uma vez que, 
as entradas dos dados não são plenamente conhecidas, bem como, as 
possíveis combinações entre os serviços, o que por sua vez, faz com que 
as classes sejam ocultas a empresa.
A fim de exemplificar possíveis entradas, vamos descrever no 
Quadro 4, abaixo, algumas instâncias de entrada para ser usada como 
conjunto de testes e treinamento, simulando a base de dados de serviços 
usados pelos clientes pré-pagos.
Inteligência Artificial
32
Quadro 4 – Dados de uso de serviços de clientes pré-pagos
Cliente
Ligações 
local
Ligação 
interurbana
Redes so-
ciais
Internet
1 5% 0% 94% 1%
2 14% 24% 61% 1%
3 12% 2% 21% 65%
4 73% 0% 27% 0%
5 1% 0% 76% 23%
6 59% 10% 21% 10%
7 4% 0% 15% 81%
8 74% 21% 4% 1%
9 34% 6% 29% 31%
10 90% 10% 0% 0%
N ... ... ... ...
n+1 ... ... ... ...
Fonte: Autor (2020).
Note que cada valor acima presente no Quadro 4, apresentam o 
percentual de consumo em cada serviço utilizado em um período de trinta 
dias. Perceba também que os dados, mesmo em pouca quantidade, podem 
demostrar tendências de serviços mais e menos usados, algo que nos 
tentaria a criar classes de pacotes de serviços para estes clientes, porém, 
lembre-se que uma empresa de comunicação móvel, em geral, possui 
números elevadíssimos de clientes em simultâneo, algo que não permite em 
tempo hábil ou de forma eficiente, que uma ou mais pessoas possam avaliar 
os dados e indicar os melhores planos para cativar estes clientes.
Em exemplos como o acima, o uso dos algoritmos não supervisionados 
para procurar padrões de combinação entre os atributos, mostram-se 
como uma ótima solução, reduzindo custos e aumentando a assertividade 
na criação das campanhas promocionais de pacotes de serviços.
Inteligência Artificial
33
Expectation-Maximization (EM)
Segundo Russell (2013), o algoritmo EM procura criar deduções 
esporádicas com base nos dados, para em seguida começar a fazer 
cálculos probabilísticos para avaliar a relação entre cada ponto e cada 
elemento da base de treino, realizando adaptações entre todos o conjunto 
de dados em relação a um componente. Ou seja, o algoritmo realiza 
deduções probabilísticas em relação a cada variável de cada atributo, 
preenchendo os dados durante cada dedução.
Com base no exposto, o objetivo do algoritmo é procurar o maior nível 
de semelhança entre as funções, o qual, é feito a cada passo de interação.
O algoritmo EM pode ser entendido como dividido em três passos, 
sendo o primeiro passo realizado apenas no início da execução, ocorrendo 
a distribuição aleatória dos atributos para cada elementos. Os seguintes 
passos são:
Etapa de expectativa (E): Verificar a probabilidade de para um dado I 
pertencer a um elemento X. Esta probabilidade pode ser entendida como 
um peso, ou um valor de aproximação da verdade, ou seja, uma hipótese 
dos valores esperados.
Etapa de maximização (M): Este passo é dividido em três sub-passos 
sequenciais ligados ao cálculo da média das hipóteses, da covariância 
entre os dados e entre os pesos dos componentes. Neste sentido, o 
objetivo da etapa é encontrar valores para os dados que maximizem sua 
probabilidade estatística de pertence ao elemento.
Perceba que a etapa E nos permite ter um valor mensurável, onde 
podemos ver se a probabilidade geral entre as hipóteses e como está 
progride no tempo. 
Por sua vez, a etapa M é responsável pelos ajustes gerais nos pesos, 
melhorando a qualidade das hipóteses a cada nova interação. Assim, 
podemos usar a diferença entre o melhoramento anterior e o atual como 
parâmetro de parada para o algoritmo, encerrando sua execução.
Perceba que a taxa de melhoramento é um importante parâmetro 
para o algoritmo, uma vez que, se este valor for definido com um intervalo 
Inteligência Artificial
34
muito grande entre duas observações, pode-se não chegar a solução 
ótima, da mesma forma, se for definido um valor muito baixo como 
parâmetro, o sistema irá realizar laços de processamento que na prática, 
não geraram grandes melhorias gerais.
Outra característica importante do algoritmo é a citação de até quantos 
clusters serão criados definido pela letra K. É bem verdade que o algoritmo 
é capaz de definir esta quantidade, porém, o programador pode inserir um 
valor específico para a criação e categorização dos elementos nos clusters.
O funcionamento do algoritmo possui uma vantagem especial para 
conjunto de dados incompletos, algo plausível no mundo real, como por 
exemplo, alguns documentos de identidade que não possuem o nome 
do pai registrado, ou formulários com campos opcionais, uma vez que o 
algoritmo preenche estes campos e procura as melhores combinações 
para cada cluster.
Passo-a-passo: Os dados apresentados no Quadro 4 seriam, para 
cada instância, primeiramente a distribuição aleatorizada de acordo com o 
intervalo de valores presentes em cada atributos. Em seguida seria feito o 
cálculo de aproximação entre as hipóteses aleatórias geradas e os valores 
esperados, gerando um valor probabilístico de aproximação. Em seguida, 
é feito os cálculos de aproximação entre os valores esperados e os valores 
ajustados, permitindo assim a percepção de melhoria temporal da hipótese 
geral. Por fim, a empresa de comunicação mobile pode definir um valor para 
K, ou deixar que o algoritmo indique quantos clusters foram identificados, 
auxiliando na tomada de decisão da criação dos pacotes de serviços.
 k-means
O algoritmo k-means procura realizar um processo de aproximação 
entre os diferentes clusterscom base na aproximação euclidiana dos 
atributos de cada elemento (KRISHNA; MURTY, 1999).
Antes de aprofundarmos na apresentação do k-means, é preciso 
citar o que vem a ser a distância euclidiana.
Segundo Ribeiro, Orbolato e Melo, (2020), a distância euclidiana 
é um algoritmo baseado no teorema de Pitágoras, ou seja, aplicado 
Inteligência Artificial
35
a representação multidimensional, onde um conjunto qualquer de 
elementos estão distribuídos em seu espaço. Assim, a distância euclidiana 
entre dois pontos, é dada pela raiz quadrada do somatório entre todas as 
diferenças ao quadrado entre as coordenadas dos pontos no ambiente.
Por exemplo, se o ambiente for unidimensional, como uma linha, a 
distância entre o ponto A(a) e B(b) será dada por:
(a-b)2
Por usa vez, se a distância for aplicada em um plano bidimensional 
com A (ax, ay) e B (bx, by), a fórmula será:
(ax-bx)2 + (ay-by)2
Assim, para o k-means, cada instância é um ponto e seus atributos 
são suas coordenadas, realizando os cálculos baseados na aproximação 
pela distância euclidiana para vincular a proximidade entre cada elemento 
e consequentemente, a quantidade de clusters. 
A similaridade entre os atributos, será dado pela média entre uma 
nova entrada e o centroide (centro geométrico entre todos os pontos de 
uma forma geométrica) dos clusters.
Semelhante ao EM, k-means também permite a definição de um 
valor K para limitar a quantidade de clusters a serem criados.
Por fim, podemos citar como o k-means trataria o problema para os 
dados do Quadro 4.
Passo-a-passo: O algoritmo k-means ao receber os dados presentes 
no Quadro 4, irá começar a fazer os cálculos de distância euclidiana entre 
todos os atributos. Por fim, cada instância possuirá um valor específico 
advindo da aproximação entre seus atributos e de outros elementos. 
Assim, se for definido um valor de K ligado a quantidade esperada 
de pacotes de serviços, o algoritmo irá distribuir os elementos nos clusters 
de acordo com a média de seus atributos em relação ao centroide do 
próprio cluster.
Inteligência Artificial
36
Considerações sobre os algoritmos não supervisionados
Além dos algoritmos apresentados, o algoritmo Hierárquico (H), 
também é frequentemente apresentado na literatura como um bom 
exemplar da lógica dedutiva, todavia, existem muitos outros exemplares, 
além dos processos de pós processamento que serão tratados no capítulo 4 
desta unidade, o qual, servem para validar a qualidade dos modelos criados.
RESUMINDO:
Este capítulo procurou dar uma visão conceitual da lógica 
dedutiva. Para isso, os conceitos sobre algoritmos não 
supervisionados e da aprendizagem dedutiva foram 
apresentados, citando por exemplo a não presença de 
classes definindo as possibilidades das saídas, substituídas 
pelo conceito de cluster, ou seja, de elementos dentro de 
um conjunto que os vincula por características de relação 
e proximidade. Em seguida, apresentamos dois algoritmos 
não supervisionados, conceituando-os e exemplificando 
suas funções através de um exemplo comum. Assim, 
concluímos mais esta etapa no entendimento sobre como 
agentes inteligentes aprendem através da lógica dedutiva 
e do paradigma não supervisionado.
Inteligência Artificial
37
Aprendizagem por reforço
OBJETIVO:
Os objetivos da aprendizagem computacional é tornar 
os sistemas capazes de encontrar soluções ótimas para 
problemas diversos através da criação de modelos. Neste 
sentido, para uma gama de problemas computacionais, 
a quantidade de probabilidades para se formar uma base 
de dados suficiente para treinar a base é impossível de 
ser adquirida em tempo hábil, o que torna o aprendizado 
sequencial uma solução viável Desta forma, este capítulo 
irá retomar alguns conceitos de aprendizagem para enfim, 
explorar o aprendizado por reforço. Vamos lá!
Retomando alguns fundamentos da 
aprendizagem indutiva e dedutiva
Até aqui, vimos os conceitos e exemplos de agentes que aplicam 
as lógicas indutiva e dedutiva, especificamente ao ser demonstrado suas 
funções básicas e problemas gerais o qual são aplicados, bem como, a 
funcionalidade de alguns algoritmos.
Todavia, não exploramos superficialmente o fluxo de aplicação 
das lógicas citadas, especificamente citando um pouco sobre o pré-
processamento no tratamento dos dados, a fase de treinamento e testes 
dos sistemas, e foi citado a existência de uma fase de pós-processamento, 
onde validados os resultados, fazendo também algum tratamento caso 
necessário e posteriormente inserindo a aplicação que usará as saídas.
Neste sentido, esta sessão abordará de forma um pouco mais 
profunda as etapas do ciclo de vida dos algoritmos indutivos e dedutivos, 
especificamente para fundamentar a forma como o aprendizado por 
reforço se destaca das duas metodologias citadas anteriormente.
Inteligência Artificial
38
Fase de pré-processamento
A fase chamada de pré-processamento engloba toda e qualquer 
ação anterior a fase de treinamento, testes e validação dos modelos 
algorítmicos.
Nesta etapa, diversas estratégias podem ser aplicadas procurando 
tornar os dados adaptados as entradas esperadas pelos algoritmos. 
Como por exemplo as soluções que aplicam Bayes e seus modelos 
probabilísticos discretos. Assim, qualquer entrada deverá ser discreteada 
para valores entre 1 e 0, e caso a entrada seja textual, será preciso realizar 
algum procedimento de adaptação destes textos para rótulos numéricos. 
Da mesma forma, existem algoritmos que trabalham melhor com rótulos 
textuais em lugar de números para as classes ou em menor frequência, 
para os atributos.
Além deste exposto, alguns algoritmos trabalham melhor com 
dados com muitas instâncias ou definem um valor médio de atributos 
para uma dada quantidade de instâncias. Assim, se uma base de dados 
possui poucos ou muitos atributos, técnicas de adaptação deverão ser 
criadas, bem como, redução ou simulação de novas instâncias na base.
Outro ponto importante ligado ao tratamento prévio dos dados, é a 
verificação e remoção de dados discrepantes e fora do eixo central dos 
dados. Por exemplo, imagine uma sequência de números formadas por 
uma lista de dez valores, sendo eles [1, 1, 2, 3, 5, 5, 5, 9, 9, 355].
Perceba que um valor específico possui diferença elevada dos 
demais, sendo ele o valor 355. Note que, se for feita uma média de todos 
os valores, sua resultante será um valor discrepante da média entre os 
valores removendo o 155. Este tipo de número discrepante e que cria 
ou puxa elementos para uma classe ou cluster que dificulta a esperada 
correta categorização dos elementos, é chamado de outlier.
Inteligência Artificial
39
REFLITA:
Façamos uma breve reflexão sobre como os dados 
apresentados nos exemplos anteriores estavam 
apresentados. Será que neles existiam valores considerados 
outliers?
Assim, perceba que o tratamento dos dados não é apenas um 
processo complexo, mas, necessário, visto que, a coleta de dados nem 
sempre pode ser executada de forma altamente controlada, bem como, 
a necessidade de ajustes do problema a modelos específicos, o qual, 
possuem necessidades de formato de dados dizentes, de certa forma, 
obriga este tratamento prévio.
Fase de processamento
A fase de processamento, é de fato a fase onde os algoritmos são 
aplicados. Cada solução implementará um conjunto de regras para o 
tratamento dos dados em pró de encontrar a melhor solução via modelo 
para um dado problema.
Como já citado, os problemas são variáveis, assim, cada 
solução poderá ser boa para um problema dentro de um espectro de 
possibilidades específicas, todavia, ao se alterar este espectro dentro de 
um mesmo problema, as soluções antes válidas, podem deixar de ser 
ótimas quando comparadas com outras que não apresentavam bons 
resultados comparativos sobre o espectro anterior.
Como citado, existem vários tipos de problemas quando estamos 
tratando o aprendizado em agentes inteligentes. De forma geral,podemos 
definir a existência de três estratégias principais baseadas na forma como 
os dados de treinamento são apresentados aos sistemas. 
A primeira forma foi apresentada nos algoritmos supervisionados, 
especificamente em problemas onde é conhecido a quantidade de 
classes que agruparão os elementos a ser analisados posteriormente, 
cabendo aos desenvolvedores rotular cada instância dos dados de 
Inteligência Artificial
40
treinamento com uma classe dentro do espectro de variável das classes 
definidas.
A segunda forma, também já estudada nesta unidade, foram os 
algoritmos não supervisionados, seu termo vem do fato de não serem 
definidas as classes prévias, usando os conceitos de cluster, ou seja, de 
conjuntos de elementos com características próximas definidas pelos 
algoritmos dedutivos.
Por fim, a terceira forma de aprendizado é chamada de por reforço 
e como o nome cita, a experiência continuada permitirá o agente 
criar modelos de conhecimento incremental, geralmente aplicados 
a ambientes onde não se é possível inserir grupos de treinamento e 
testes prévios antes da execução, sendo esta estratégia de aprendizado 
apresentada a partir da sessão 4.2 desta unidade.
Fase de pós-processamento
A fase de pós processamento pode estar vinculada a algumas 
tarefas, sendo duas principais delas a validação dos resultados e um novo 
ajuste dos dados para a aplicação que os utilizará.
Os algoritmos supervisionados, uma vez que possuem as bases 
originais para comparação com os resultados, são plenamente capazes 
de avaliar a qualidade através da comparação entre os dados de 
saída com os dados originais e suas classes. Todavia, os modelos não 
supervisionados não possuem classes pré-definidas, assim, existem 
soluções algorítmicas para procurar validar a qualidade do algoritmo para 
a base de dados utilizada.
Entre estes processos, podemos citar os usos de índices de 
validação, sendo dois dos mais conhecidos o índice o Davies-Bouldin (DB) 
e silhouette (RAJ; MINZ, 2020).
O índice DB é procura estimar a dispersão entre os dados, estimando 
através de cálculos a similaridade entre cada cluster (WANG ET AL., 2006). 
Ou seja, ao se calcular a diferença entre os clusters, somos capazes de 
Inteligência Artificial
41
visualizar a dispersão geral entre eles, sendo este valor de dispersão 
usado como critério de qualidade.
Por sua vez, o silloutte procura verificar o quão próximo um 
ponto qualquer está de seu cluster, variando o valor da aproximação no 
intervalo de 1, muito próximo a 0, muito distante. Assim, a média total da 
aproximação de todos os pontos em relação a todos os demais pontos de 
seu clusters é o fator de verificação da qualidade geral do modelo, sendo 
o valor 1 significando que os clusteres possuem boa representação de 
seus elementos (AHMED et al., 2019).
Atenção. É importante citar que os índices acima são aplicados nos 
algoritmos não supervisionados.
NOTA:
É bem verdade que existem outras motivações que levam 
a necessidade de pró processamento, porém, em geral 
estas são as principais dentro do ciclo de aprendizado.
Por fim, a preparação dos dados de saída dos algoritmos muitas 
vezes é alterada após o processamento, uma vez que cada algoritmo, 
caso não tenham sido adaptados ao problema, geram um tipo específico 
de resposta, cabendo aos desenvolvedores das aplicações que usaram 
as respostas dos agentes, fazer este tratamento.
A aprendizagem por reforço em agentes 
inteligentes
A aprendizagem por reforço na computação segue algumas 
bases nos estudos sobre como os seres vivos realizam processos de 
aprendizagem. Por exemplo, quando um recém nascido começa a 
aprender a falar segundo as regras e símbolos de uma língua, ele está 
explorando um campo desconhecido para ele, percebendo, associando 
e replicando os sons que outros membros do grupo falam.
Note que neste processo, um falante fluente, geralmente, irá 
corrigir os erros na fala, bem como, irá exaltar a criança por seus acertos. 
Inteligência Artificial
42
Assim, podemos dizer que existem conjuntos de recompensas e punições 
durante a exploração da fala, sendo algumas punições a dificuldade no 
entendimento de quem está escutando, bem como, recompensas como 
o entendimento do contexto e parabenização pelo sucesso.
Alguns problemas computacionais são semelhantes, não sendo à 
gente recém criado capaz de perceber a relação direta e imediata de suas 
ações em relação a estarem certas ou erradas.
São diversas as áreas da computação que utilizam os agentes com 
aprendizagem por reforço, como os jogos digitais.
Alguns jogos, os inimigos procuram compreender os padrões dos 
jogadores para gerar uma dificuldade dinâmica aos jogadores.
Por exemplo, digamos que em um jogo de luta, o jogador executa 
um conjunto de ações de ataque e defesa específicos, podemos citar 
neste exemplo que cada jogador possui sua própria identidade na 
movimentação e ações dos personagens, cabendo ao agente que 
controla o inimigo, avaliar constantemente estes padrões e procurar traçar 
estratégias de adaptação e superação sobre estes padrões percebidos.
Note que no exemplo acima, o agente precisa estar constantemente 
avaliando como o jogador está jogando, registrando as principais 
características das ações executadas tanto pelo jogador humano, como pela 
IA usando um sistema de recompensa sobre estas combinações de ações. 
Por exemplo, se o agente inteligente atacar quando o jogador e este estiver 
longe ou defendendo, o fato de não ter causado dano poderá ser usado 
como parâmetro de punição, sendo ações que geram dano as recompensas. 
Por sua vez, se o jogador ataca e a IA não é capaz de defender, 
ocasionando a perda de vida, está é uma ação punitiva, onde o contrário, 
o agente realizou uma ação que defendeu e impediu a perca de vida, é 
uma recompensa.
Assim, cada combinação de ações irá sendo registrada com a 
informação de recompensa ou punição, permitindo que o agente execute 
ações segundo sua base de aprendizagem.
Inteligência Artificial
43
Perceba duas características fundamentais desta base de 
conhecimento construída, sendo elas:
 • Primeiramente a base manterá ações com base nas recompensas e 
punições, algo que será atualizado caso a ação ocorra novamente 
e gere um resultado diferente.
 • A outra característica é que o agente precisa ter conhecimento 
prévio de como seu mundo funciona, ou seja, quais as ações 
possíveis de serem executadas.
Dentro da primeira característica citada acima, note que, se uma 
mesma combinação for executada sete vezes e as seis primeiras forem 
recompensas com apenas a última sendo uma punição, o agente 
entenderá que esta combinação não é ideal, procurando executar outra 
em seu lugar. Todavia, perceba que a taxa de acerto foi de 6 para 7, só 
que, o agente está tomando decisão em cima de uma taxa 1 para 7. Para 
evitar este problema, existe um conceito chamado de pesos.
Os pesos aplicados nas estratégias de aprendizado e tomada 
de decisões são estruturas que permitem aos agentes avaliar se uma 
hipótese é ainda válida, mesmo que em algum momento seu resultado 
seja negativo para a aplicação. 
O assunto do uso de pesos é de vital importâncias para alguns 
sistemas, como por exemplo, o agente citado para jogos de luta. Por sua 
vez, outros sistemas sensíveis a erros, podem usar os pesos para evitar, 
evitar, caso uma hipótese apresente resultado negativo, sua execução ou 
gere um alerta para intervenção humana, de outros agentes, ou de suas 
próprias estruturas de balanceamento e ajustes de modelos.
Desta forma, podemos entender os pesos como uma forma de 
aplicação da teoria da utilidade, uma vez que a variação do valor dos 
pesos pode ser compara com um conjunto de crenças e emoções na 
tomada de decisão de um sistema, como no exemplo do agente no 
jogo citado anteriormente, se ele registrar um conjunto de combinações 
diferentes para uma mesma ação sua ou do jogador,o agente poderá 
avaliar qual das combinações para um mesmo caso é a melhor para ser 
Inteligência Artificial
44
aplicada, cabendo a uma estrutura propositiva ou probabilística a decisão 
de qual hipótese usar.
Os dois tipos de aprendizagem por reforço
Como vimos, o agente precisa estar constantemente avaliando as 
mudanças no ambiente e em outros agentes para poder atualizar sua 
base de conhecimentos e, conseguintemente, escolher a melhor ação a 
ser aplicada.
Desta forma, ele está constantemente atuando, seja de forma 
passiva, ou ativa no ambiente.
Agir passivamente no ambiente significa que o agente possui uma 
base de conhecimento sobre como fazer as ações, precisando aprender 
quando fazer, ou seja, a utilidade da ação. Está abordagem foi destacada 
como uma característica ao avaliar o agente no jogo de luta apresentado 
anteriormente. Desta forma, a explicação geral dada neste exemplo, 
também exemplifica como funciona a aprendizagem passiva.
Todavia, alguns agentes não sabem o que fazer, conseguintemente 
como fazer, precisando aprender durante a execução da aplicação. 
Esta habilidade de aprendizagem é chamada de ativa e é um processo 
complexo, onde o agente precisa explorar o ambiente e executar as 
ações possíveis.
Por exemplo. Um aluno de um carro possui um aparelho que é 
capaz de executar muitas ações, como: acelerar, freia, fazer curvas, levar 
passageiros ou cargas, entre muitas outras. Todavia, ao ter o primeiro 
contato com o veículo, este aluno irá se ambientar nas possibilidades de 
ações, ou seja, aprender como fazer certas ações. Porém, a experiência 
por consecutivas execuções e leituras, o tornará apto a fazer as ações nos 
momentos devidos, como passar a marcha apenas quando a embreagem 
estiver pressionada, aprendendo também o controle para ir soltando-a.
Inteligência Artificial
45
RESUMINDO:
Desta forma, nós concluímos o estudo de como os 
sistemas inteligentes aprendem. Nesta unidade vimos que 
um agente é capaz de simular o aprendizado biológico 
através de três estratégias, a aprendizagem indutiva, 
dedutiva e por reforço. A aprendizagem indutiva procura 
aplicar modelos lógicos baseados em classes, ou seja, 
rótulos que classificam as instâncias de acordo com 
suas características (atributos com valores variáveis). Em 
seguida, vimos a lógica dedutiva, o qual, procura deduzir as 
classes, chamadas de clusters de agrupamento com base 
na aproximação entre os elementos. Por fim, procuramos 
apresentar os conceitos da aprendizagem por reforço, ou 
seja, a aprendizagem onde os agentes não conhecem as 
entradas possíveis para se construir as hipóteses. Assim, 
esperamos que este conteúdo tenha contribuído para seu 
entendimento geral da IA, e que possa servir de base para 
aplicações futuras que você venha a desenvolver.
Inteligência Artificial
46
REFERÊNCIAS
AHMED, N. et al. Forecasting river sediment deposition through 
satellite image driven unsupervised machine learning techniques. Remote 
Sensing Applications: Society and Environment, v. 13, p. 435-444, 2019. 
BALLERINI, L. et al. A color and texture based hierarchical K-NN 
approach to the classification of non-melanoma skin lesions. Color Medical 
Image Analysis. Springer, Dordrecht, p. 63-86. 2013.
BAVKAR, S. IYER, B. DEOSARKAR, S. Detection of alcoholism: an 
EEG hybrid features and ensemble subspace K-NN based approach. 
International Conference on Distributed Computing and Internet 
Technology. Springer, Cham, p. 161-168. 2019.
CONTENT, Branded Abril. Cientista de dados: a profissão do futuro 
continua em alta. Exame, 2019. Disponível em:<https://exame.com/
carreira/cientista-de-dados-a-profissao-do-futuro-continua-em-alta> 
Acesso em: 08 de jun. 2020.
KRISHNA, K. MURTY, M. N. Genetic K-means algorithm. IEEE 
Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), v. 
29, n. 3, p. 433-439, 1999.
FILHO, A. B. C. LIMA, J. V. TAROUCO, L. M. R. Objetos de Aprendizagem 
Indutiva: Um Estudo de Caso. Conferencias LACLO, v. 4, n. 1, 2013.
GONÇALVES, B. S. SANTANA, J. R. Uma análise do desempenho 
dos estados nordestinos na política de ciência, tecnologia e inovação 
entre 2000 e 2015. Revista Gestão & Tecnologia, v. 20, n. 1, p. 215-232, 2020.
MUCHERINO, A. PAPAJORGJI, P. J. PARDALOS, P.M. k-Nearest 
Neighbor Classification. Data Mining in Agriculture. Springer Optimization 
and Its Applications, vol 34. Springer, New York, NY, 2009.
RAJ, A. MINZ, S. Game theory based pixel approximation for remote 
sensing imagery. Applied Soft Computing, p. 106-365, 2020.
Inteligência Artificial
47
RIBEIRO, B. G. G. ORBOLATO, D. R. S. MELO, E. V. Identificação das 
áreas de pesquisa no IFTM usando técnica de agrupamento. Revista 
Brasileira de Iniciação Científica, v. 7, n. 1, p. 149-165, 2020.
RUSSELL, S. Inteligência artificial. 3. ed. Rio de Janeiro: Editora 
Elsevier, 2013.
SALGADO, M. A. j. RINCÓN, J. P. A. OLIVEIRA, M. P. Caminho 
Alternativo Para Estudar Equação Quadrática E Suas Raízes. Seminário 
Nacional de Histórias e Investigações de/em Aulas de Matemática, n. 6. 
2017.
STEFANO, E. et al. Decision Trees for the Prediction of Outcome of 
Soccer Games-Historical Data Analysis. Brazilian Journal of Development, 
v. 6, n. 1, p. 4719-4732, 2020.
TABELAS DE CORES RGB. Shibolete. Disponível em: <http://
shibolete.tripod.com/RGB.html> Acesso em: 05 de junho. 2020.
WAGNER, M. J. LUO, L. Neocortex–Cerebellum Circuits for Cognitive 
Processing. Trends in Neurosciences, v. 43, n. 1, p. 42-54, 2020.
WANG, G et al. Classification of surface EMG signals using optimal 
wavelet packet method based on Davies-Bouldin criterion. Medical and 
Biological Engineering and Computing, v. 44, n. 10, p. 865-872, 2006. 
Inteligência Artificial