Baixe o app para aproveitar ainda mais
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.
Compartilhar