Buscar

10-racio-casos-logica-difusa-redes-neurais-ia-alg-gene

Prévia do material em texto

Raciocínio Baseado em 
Casos, Lógica Difusa (fuzzy), 
Redes Neurais Artificiais e 
Algoritmos Genéricos
 
SST
Carvalho, Sidartha Azevedo Lobo de
Raciocínio Baseado em Casos, Lógica Difusa (fuzzy), 
Redes Neurais Artificiais e Algoritmos Genéricos / Sidar-
tha Azevedo Lobo de Carvalho
Ano: 2020
nº de p. : 11
Copyright © 2020. Delinea Tecnologia Educacional. Todos os direitos reservados.
Raciocínio Baseado em Casos, 
Lógica Difusa (fuzzy), Redes Neurais 
Artificiais e Algoritmos Genéricos
3
Apresentação
Em nosso estudo compreenderemos as técnicas baseados em casos, também 
conhecidos como sistemas especialistas. Veremos a técnica da lógica difusa, 
que utiliza de lógica com valores não absolutos, e a técnica de redes neurais, cuja 
modelagem computacional consegue mapear os requisitos computacionais em 
concordância com a organização cerebral dos animais, tentando modelar sua 
estrutura e comunicação entre seus componentes. Por último veremos a técnica dos 
algoritmos genéticos, que se utiliza de modelos genéticos para resolver problemas 
em diversos ramos da Computação, Biologia, Química e otimizações de forma geral.
Raciocínio baseado em casos
Uma das técnicas é o raciocínio baseado em casos: o conhecimento dos 
especialistas é armazenado em um sistema como diversos casos, ou seja, é como 
se cada decisão acertada ou não de um especialista fosse um caso para o sistema. 
Esse banco de dados serve de base para problemas semelhantes. Para o usuário do 
sistema identificar seu problema e definir alguns parâmetros, ele deve consultar o 
banco de dados do sistema e verificar se já não houve casos similares no passado; 
se sim, o sistema deve também conter a solução aplicada para resolver o problema. 
Essa solução pode ser replicada ou melhorada para ser incorporada como um novo 
caso no banco de dados.
Além disso, é possível anexar diversos outros artefatos, como fotos, vídeos, 
descrições detalhadas do problema etc. Toda informação que for relevante para o 
caso deve ser armazenada. Esse tipo de sistema é bastante comum na área médica, 
que utiliza diversos casos semelhantes para diagnosticar uma doença. Cabe ao 
médico identificar os parâmetros e compará-los no sistema.
Com o avanço da tecnologia, esses sistemas médicos estão cada vez mais 
automatizados, sendo menos necessário o conhecimento do médico. Por restrições 
do corpo humano, nenhum médico consegue armazenar todo o conhecimento 
que um sistema de informação tem a capacidade de armazenar. Por exemplo, 
há sistemas especialistas para o diagnóstico de tumores a partir de imagens: 
4
os sistemas são treinados com diversas fotos e as características da foto que 
podem representar um câncer. Imagine um sistema que armazena o conhecimento 
de milhões de médicos por todo o mundo: ele será cada vez mais certeiro no 
diagnóstico. Atualmente, é necessário o parecer médico para esse diagnóstico, 
usando o sistema como auxiliar. A figura a seguir ilustra um exemplo de uso da 
técnica de raciocínio baseado em casos.
Exemplo de um sistema especialista utilizando raciocínio baseado em casos.
Fonte: Laudon e Laudon (2015, p. 381).
Segundo a descrição de Laudon e Laudon (2015) ilustrada na figura anterior, o 
primeiro passo é a descrição do problema pelo usuário do sistema. Na sequência, o 
sistema procura, no banco de dados do sistema, casos semelhantes ao descrito pelo 
5
usuário. No terceiro passo, o sistema refina as opções fazendo perguntas ao usuário 
para reduzir a quantidade de opções possíveis. No quarto passo, o sistema encontra 
o caso mais semelhante ao descrito e recupera as informações relativas a esse 
caso, inclusive sua solução. 
No quinto passo, o sistema adapta a solução resgatada para ser mais semelhante 
ao problema descrito e avalia se foi uma modificação bem-sucedida; se não, o 
procedimento é repetido até uma solução viável. Por fim, o sistema armazena a 
solução modificada e incorpora mais conhecimento.
As etapas de representação do conhecimento e otimização de soluções são temas 
de pesquisa, havendo diversos outros problemas dentro dessas vertentes.
Lógica difusa e redes neurais
• Lógica Difusa
Outra categoria importante refere-se às técnicas que fazem uso de Lógica Difusa. 
Esse conjunto de técnicas é caracterizado principalmente pelo uso de intervalos de 
valores em lugar de valores absolutos, como fazem as técnicas vistas anteriormente. 
Por exemplo, para um sistema que usa Lógica Difusa, se a temperatura ambiente 
estiver em 20 ou 35 graus Celsius significa a mesma coisa: o sistema pode 
estar representado para aceitar qualquer valor dentro desse intervalo como uma 
temperatura agradável.
• Redes Neurais
Outra categoria de técnica utilizada é a que se vale das redes neurais, também 
chamadas de Redes Neurais Artificiais. Essa técnica tenta mapear o modelo do cérebro 
humano para o código de máquina, simulando a forma de aprender do cérebro no 
computador. Ela é utilizada para resolver problemas complexos e não compreendidos 
em sua totalidade por nós, tendo como insumo a grande quantidade de dados. As redes 
neurais relacionam muitas informações (na ordem de milhões de casos) e identificam 
relações entre esses dados, procurando conhecimento útil para a organização.
A aprendizagem de máquina é um ramo de técnicas mais genérico que as redes 
neurais, sendo esta última técnica uma categoria dentro da aprendizagem de 
máquina. A aprendizagem é dividida conforme mostra o quadro que segue.
6
Tipos de aprendizado.
Aprendizado Supervisionado
Consiste em um conjunto de dados para treino contendo entradas e saídas desejadas. É 
necessário conhecer previamente o domínio do problema, suas entradas e saídas.
Aprendizado por Reforço
É utilizada uma função de custo para auxiliar um agente inteligente a aprender com tentativa e 
erro, estratégia muito utilizada quando não se conhece o domínio do problema modelado.
Aprendizado Não-Supervisionado
Difere dos demais tipos por não precisar de um conjunto bem definido de entradas, saídas, 
relações (como no supervisionado) e reforço, e por exigir a modelagem de dados não estruturada. 
Os algoritmos pertencentes a essa classe são utilizados para descobrir padrões de forma 
automática, sem precisar de exemplificação.
Fonte: Elaborado pelo autor (2020).
As redes neurais fazem uso intenso do hardware do computador para realizar as 
computações necessárias, utilizando muita memória e processamento. As redes 
neurais artificiais representam um conceito abstrato de modelagem computacional 
que consegue mapear os requisitos computacionais em concordância com a 
organização cerebral dos animais, tentando modelar sua estrutura e comunicação 
entre seus componentes. As redes neurais são utilizadas para realizar aprendizagem 
de máquina e reconhecimento de padrões, campo de estudo de áreas como 
Computação, Estatística e Matemática, principalmente. 
As principais vantagens das redes neurais são apresentadas a seguir.
Vantagens das redes neurais.
Aprendizagem
Capacidade de aprender a partir dos dados. Há duas fases principais: a de aprendizagem ou 
treinamento e a de uso da rede neural para aplicação do conhecimento aprendido. A partir de 
um conjunto de entradas, a rede neural informa uma saída, convertendo o conhecimento nela 
incorporado para uma resposta ao usuário.
Auto-organização
A rede neural cria uma representação própria do conhecimento adquirido dos dados, 
representados por uma matriz de características e valores associados.
Tolerância a falhas
Mesmo que a rede neural esteja danificada, há redundância dos dados, permitindo que ela 
funcione mesmo de forma parcial.
7
Flexibilidade
Mesmo que haja dados de qualidade ruim, a rede neural consegue se adaptar e descartar dados 
ruidosos, preservando os relevantes.
Fonte: Elaborado pelo autor (2020).
Os principais tipos de redes neurais são: Perceptron, com uma camada e com 
multicamadas, Redes da Teoria da Ressonância Adaptativa (Adaptive Resonance 
Theory – ART) e Redes de Hopfield.
Você consegueidentificar a relação entre a técnica baseada em 
casos e os parâmetros de entrada de uma rede neural? Consegue 
perceber que os dados de entrada se parecem com os casos? Você 
consegue identificar as diferenças e semelhanças entre eles?
Reflita
A figura a seguir ilustra a modelagem de um problema com uma rede neural simples. 
Exemplo de modelagem utilizando uma rede neural artificial.
Fonte: Laudon e Laudon (2015, p. 382).
8
Podemos perceber nessa modelagem que a rede neural é dividida em três camadas 
principais: camada de entrada, camada oculta e camada de saída. Geralmente 
a camada oculta se transforma em várias outras camadas, dependendo da 
complexidade do problema. A camada de entrada é representada por diversas 
características do ambiente, como a idade de uma pessoa, renda, histórico de 
compras, frequência de compras e valor médio da compra. Essas características são 
convertidas em números antes de serem passadas para a camada de entrada da 
rede neural. 
Na sequência, os dados são relacionados na camada oculta, gerando diversas 
relações entre essas características. Por exemplo, uma relação possível é que, 
quanto maior a idade, maior é o valor da compra. Além disso, pode haver restrições: 
o valor da compra vai subindo com a idade até os 70 anos; depois, o valor começa a 
reduzir. Essas e diversas outras relações são encontradas pela rede neural de forma 
automatizada, a partir somente dos dados de entrada.
Na camada de saída da rede neural temos o resultado que será passado para o 
utilizador da rede neural. No nosso exemplo, a saída refere-se ao fato de a compra 
realizada ser válida ou fraudulenta.
Algortimo genético
Como último exemplo de técnica, vamos falar dos algoritmos genéticos. Esse tipo 
de algoritmo é bastante utilizado para resolver problemas em diversos ramos da 
Computação, Biologia, Química e otimizações de forma geral.
Os algoritmos genéticos são aplicados principalmente para encontrar a melhor 
solução para determinado problema. Após realizar o exame de diversas possíveis 
soluções, é escolhida uma que é a melhor dentre todas. A isso, chamamos de 
“otimização da solução”. O nome “genético” surgiu da inspiração para criar essa 
categoria de algoritmos, vinda da Biologia Evolucionária, usando os conceitos de 
herança, mutação, seleção e cruzamento (recombinação dos genes/dados). 
O algoritmo genético representa as informações de forma binária, utilizando 
sequências de 0 e 1. Tanto o problema quanto as possíveis soluções são convertidos 
para representações binárias; somente assim os algoritmos podem ser genéticos 
a ponto de servir para os diversos tipos de problema. Essa é uma padronização 
necessária. 
9
A partir dessa representação é possível aplicar operações de recombinação entre 
os elementos, formando novas soluções e avaliando sua efetividade. É comum que 
haja soluções que não são viáveis, mas elas são descartadas por apresentarem uma 
pontuação baixa para resolver o problema.
A figura a seguir ilustra uma modelagem utilizando algoritmo genético. 
Exemplo de modelagem utilizando algoritmo genético.
Fonte: Laudon e Laudon (2015, p. 383).
Podemos observar na figura que uma população de indivíduos é utilizada como 
entrada para o algoritmo, podendo ser especificada de forma aleatória ou por 
heurísticas (para otimizar as iterações). 
A cada iteração uma nova solução é gerada e testada para o problema. Sempre que 
surgir uma solução melhor, ela é selecionada, e continuam as iterações. Após repetir 
milhares ou milhões de vezes, chega-se a uma solução ótima, que tem a melhor 
pontuação dentre todas. Essa solução é a escolhida para ser devolvida ao usuário 
como a melhor solução.
10
Fechamento
Vimos que para resolver diversos problemas do mundo real são utilizadas técnicas 
computacionais, como o raciocínio baseado em casos, lógica difusa, redes neurais 
e algoritmos genéticos. Na técnica baseado em dados históricos, é utilizado o 
conhecimento de especialistas e as relações entre os casos similares. Na técnica 
de lógica difusa, vimos que a decisão não é mais lógica, ou seja, não booleana, 
trabalhando em valores não absolutos. Na sequência, vimos a técnica de redes 
neurais, que trabalha com um mapeamento do modelo computacional equivalente às 
redes neurais dos humanos. Por fim, compreendemos os algoritmos genéticos, que 
se utilizam de modelos computacionais baseados na genética, em que as possíveis 
soluções são convertidas para representações binárias e por interações que geram 
soluções ótimas.
11
Referências
LAUDON, K. C.; LAUDON, J. P. Sistemas de informação gerenciais. São Paulo: 
Pearson, 2015. 
STAIR, R. M. Princípios de sistemas de informação. São Paulo: Cengage Learning, 
2016.

Continue navegando