Baixe o app para aproveitar ainda mais
Prévia do material em texto
WBA0869_v1.0 Introdução a inteligência Artificial Implementando a inteligência artificial A aprendizagem indutiva Bloco 1 Marcelo Henrique dos Santos A aprendizagem indutiva O Algoritmo de Aprendizagem Indutiva é um algoritmo de aprendizagem de máquina iterativo e indutivo usado para gerar um conjunto de uma regra de classificação, que produz regras da forma "IF-THEN", para um conjunto de exemplos, produzindo regras a cada iteração e anexando-as ao conjunto de regras. Fonte: ValeryBrozhinsky/iStock.com. Figura 1 – Representação dos códigos binários que são gerados a partir da compilação do programa A aprendizagem indutiva Ideia básica: • Existem basicamente dois métodos de extração de conhecimento: o de especialistas no domínio e com aprendizado de máquina. • Para uma grande quantidade de dados, os especialistas de domínio não são muito úteis e confiáveis. Logo, neste tema, veremos a abordagem de aprendizado de máquina. Figura 2 – Representação do processo de desenvolvimento Fonte: Andrey Suslov/iStock.com. A aprendizagem indutiva Ideia básica: • Para usar o aprendizado de máquina, podemos usar o seguinte método: replicar a lógica dos especialistas na forma de algoritmos, no entanto, esse trabalho é muito tedioso, demorado e caro. • Dessa forma, avançamos em direção aos algoritmos indutivos que por si só geram a estratégia para realizar uma tarefa e não precisam instruir separadamente em cada etapa. Figura 3 – Representação do processo de desenvolvimento Fonte: ThinkNeo/iStock.com. A aprendizagem indutiva Ideia básica: • A aprendizagem indutiva utiliza o método de produção de um conjunto geral de regras em vez de árvores de decisão. Requisitos gerais no início do algoritmo: • Liste os exemplos em uma tabela, em que cada linha corresponda a um exemplo e cada coluna contenha um valor de atributo. • Crie um conjunto de exemplos de treinamento, cada exemplo deve ser composto de atributos com n decisões possíveis. A aprendizagem indutiva Etapas no algoritmo: • Etapa 1: divida a tabela ‘T’, contendo m exemplos, em n subtabelas (t1, t2,… ..tn). Uma tabela para cada valor possível do atributo de classe. Em seguida, repita as etapas 2 a 8 para cada subtabela. • Etapa 2: inicialize a contagem de combinação de atributos ‘j’ = 1. Figura 4 – Representação da construção do fluxograma (algoritmo) Fonte: pseudodaemon/iStock.com. A aprendizagem indutiva Etapas no algoritmo: • Etapa 3: para a subtabela na qual o trabalho está em andamento, divida a lista de atributos em combinações distintas, cada combinação com atributos distintos ‘j’. • Etapa 4: para cada combinação de atributos, conte o número de ocorrências de valores de atributo que aparecem na mesma combinação de atributos em linhas não marcadas da subtabela em questão e, ao mesmo tempo, não aparece na mesma combinação de atributos de outra subtabela. A primeira combinação com o número máximo de ocorrências é chamada de combinação máxima ‘MAX’. A aprendizagem indutiva Etapas no algoritmo: • Etapa 5: se ‘MAX’ == nulo, aumente ‘j’ em 1 e vá para a Etapa 3. • Etapa 6: na subtabela em que está trabalhando, marque todas as linhas nas quais os valores de ‘MAX’ aparecem conforme classificado. Figura 5 – Representação da construção do fluxograma (algoritmo) Fonte: neyro2008/iStock.com. A aprendizagem indutiva Etapas no algoritmo: • Etapa 7: adicione uma regra (IF attribute = "XYZ" -> THEN decisão é SIM/NÃO) para R cujo lado esquerdo terá nomes de atributos de 'MAX‘, com seus valores separados por AND, e seu lado direito contém o valor do atributo de decisão associado à subtabela. Figura 6 – Representação da construção do fluxograma (algoritmo) Fonte: ulimi/iStock.com. A aprendizagem indutiva Etapas no algoritmo: • Etapa 8: se todas as linhas estiverem marcadas como classificadas, prossiga para processar outra subtabela e vá para a Etapa 2. Caso contrário, vá para a Etapa 4. Porém, se nenhuma subtabela estiver disponível, saia com o conjunto de regras obtido. Fonte: omyos/iStock.com. Figura 7 – Representação da construção do fluxograma (algoritmo) A aprendizagem indutiva Aprendizagem Indutiva ou Aprendizagem Supervisionada Todo aprendizado pode ser considerado como o aprendizado da representação de uma função. • Aprendizagem indutiva: o sistema tenta induzir uma "regra geral” de um conjunto de instâncias observadas. • Aprendizagem supervisionada: ao algoritmo de aprendizagem é dado um valor correto da função para entradas particulares, mudando sua representação da função para tentar combinar as informações fornecidas pelo feedback. Implementando a inteligência artificial A aprendizagem estatística e a aprendizagem por reforço Bloco 2 Marcelo Henrique dos Santos A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística • A aprendizagem estatística se refere a um vasto conjunto de ferramentas para a compreensão de dados. • Essas ferramentas podem ser classificadas como supervisionadas ou não supervisionadas. Figura 8 – Representação da aprendizagem estatística Fonte: lucadp/iStock.com. A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística Em termos gerais, o aprendizado estatístico supervisionado envolve a construção de um modelo estatístico para prever ou estimar uma saída com base em uma ou mais entradas. Os problemas dessa natureza ocorrem em campos diversos, como nos negócios, na medicina, na astrofísica e nas políticas públicas. Figura 9 – Representação gráfica da aprendizagem estatística Fonte: Vertigo3d/iStock.com. A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística Como na aprendizagem estatística não supervisionada, há entradas mas nenhuma saída de supervisão; no entanto, podemos aprender sobre relacionamentos e estruturas a partir de tais dados. Figura 10 – Representação da aprendizagem estatística Fonte: Vertigo3d/iStock.com. A aprendizagem estatística e a aprendizagem por reforço Uma breve histórico da aprendizagem estatística Muitos dos conceitos que fundamentam a aprendizagem estatística foram desenvolvidos há muito tempo. No início do século XIX, Legendre e Gauss publicaram artigos sobre o método de mínimos quadrados, que implementou a forma mais antiga do que agora é conhecido como regressão linear. A aprendizagem estatística e a aprendizagem por reforço Uma breve histórico da aprendizagem estatística • A primeira vez que abordagem foi aplicada com sucesso foi em problemas de astronomia. Nesse contexto, a regressão linear é usada para prever valores quantitativos, como o salário de um indivíduo; para prever valores qualitativos, como se um paciente sobrevive ou morre; ou se o mercado de ações aumenta ou diminui. • Na década de 1980, a tecnologia de computação finalmente melhorou e os métodos não lineares não eram mais proibitivos do ponto de vista computacional. A aprendizagem estatística e a aprendizagem por reforço Uma breve histórico da aprendizagem estatística • Em 1980, Breiman, Friedman, Olshen e Stone introduziram a classificação e os princípios de árvores de regressão, sendo os primeiros a demonstrar o poder de uma implementação prática detalhada de um método, incluindo a validação cruzada para a seleção de modelo. • Já em 1986, Hastie e Tibshirani cunharam o termo modelos aditivos generalizados para uma classe de extensões não lineares e, também, forneceram uma implementação prática de software. A aprendizagem estatística e a aprendizagem por reforço A aprendizagem por reforço • O aprendizado por reforço envolve aprender o que fazer – como mapear situações para ações - de modo a maximizar um sinal numérico de recompensa. • Nos casos mais interessantes e desafiadores, as ações podem afetar não apenas a recompensa imediata, mas, também, a próxima situação e, por meio dela, todas as recompensas subsequentes. A aprendizagemestatística e a aprendizagem por reforço A aprendizagem por reforço • Essas características – ser de circuito fechado de uma forma essencial, não ter instruções sobre quais ações tomar e quais as consequências das ações, incluindo sinais de recompensa, jogue por longos períodos de tempo – são as três características distintivas mais importantes dos problemas de aprendizagem por reforço. A aprendizagem estatística e a aprendizagem por reforço A aprendizagem por reforço • Uma definição objetiva sobre os princípios da aprendizagem por reforço é, simplesmente, capturar os aspectos mais importantes do problema real que um agente de aprendizagem enfrenta ao interagir com seu ambiente para atingir um objetivo. • Claramente, o agente deve ser capaz de analisar o estado do meio ambiente até certo ponto e deve ser capaz de realizar as ações que afetem o estado. • O agente também deve ter uma ou várias metas relacionadas ao estado do meio ambiente. A aprendizagem estatística e a aprendizagem por reforço A aprendizagem por reforço • Um dos desafios que surgem apenas na aprendizagem por reforço é o trade-off. • Para obter a recompensa, um agente de aprendizagem por reforço deve preferir as ações que já tentou no passado e armazenou as informações que foram eficazes na produção dessa recompensa. • O agente precisa explorar o que já sabe para obter a recompensa, mas, ele também precisa explorar outras possibilidades para localizar melhores seleções de ação no futuro. Implementando a inteligência artificial Redes neurais Bloco 3 Marcelo Henrique dos Santos Redes neurais • Uma rede neural é um conjunto interconectado de elementos de processamento simples, unidades ou nós, cuja a funcionalidade é vagamente baseada no neurônio animal. • O cérebro humano consiste em cerca de 100 bilhões de células nervosas ou neurônios. Os neurônios se comunicam via sinais elétricos, que, por sua vez, são impulsos de curta duração ou "picos". As conexões são mediadas por eletroquímicos (chamadas sinapses) que estão localizados nos ramos da célula denominada dendritos. Redes neurais • Os neurônios são integrados ou somados de alguma forma e, a grosso modo, se o sinal resultante exceder algum limite, o neurônio irá "disparar" ou gerar um impulso de voltagem em resposta. • Então, ele é transmitido a outros neurônios por meio de uma fibra ramificada conhecida como axônio. Figura 11 – Representação do cérebro e as redes neurais Fonte: wigglestick/iStock.com. Redes neurais • Ao determinar se um impulso deve ser produzido ou não, alguns sinais produzem um efeito inibitório e tendem a prevenir disparos. A capacidade de processamento distinta de cada neurônio deve residir no tipo - excitatório ou inibitório – e na força de suas conexões sinápticas com outros neurônios. Figura 12 – Representação do cérebro Fonte: Meeerkat/iStock.com. Redes neurais • É essa arquitetura e esse estilo de processamento que esperamos incorporar no sistema de redes neurais. • Uma Rede Neural Artificial é composta por um grande número de elementos de processamento interconectados chamados neurônios. • Ela é uma abordagem de aprendizado de máquina que modela o cérebro humano e consiste em vários neurônios artificiais. • Os neurônios nessa abordagem tendem a ter menos conexões do que neurônios biológicos. Redes neurais • Cada neurônio recebe uma série de entradas. • Uma função de ativação é aplicada a essas entradas, o que resulta na ativação do nível do neurônio (valor de saída do neurônio). • O conhecimento sobre a tarefa de aprendizagem é fornecido na forma de exemplos, esses são chamados de exemplos de treinamento. Figura 13 – Representação das redes neurais computacionais Fonte: djvstock/iStock.com. Redes neurais Uma Rede Neural Artificial é especificada por: • Modelo de neurônio: a unidade de processamento de informações. • Uma arquitetura: um conjunto de neurônios e links que conectam neurônios. • Um algoritmo de aprendizagem: usado para treinar os neurônios, modificando os pesos na ordem e gerando a modelagem da tarefa de aprendizagem específica (de forma correta nos exemplos de treinamento). Figura 14 – Representação do desenvolvimento de redes neurais computacionais Fonte: dani3315/iStock.com. Redes neurais • Redes neurais artificiais são sistemas que coletam informações em amostras de neurônios artificiais trazidos juntos como os neurônios no cérebro humano; eles são capazes de tomar decisões usando o que eles aprendem quando encontram os problemas. • Resumidamente, elas são estruturas de rede criadas conectando neurônios artificiais por meio de várias geometrias de conexão. • Depois de formar as estruturas de rede, as entradas visuais são classificadas para chegar a uma conclusão. Redes neurais Características de redes neurais artificiais: 1) Não linear: as redes neurais artificiais emergem da combinação de células não lineares e essa característica está espalhada por toda a rede. As redes neurais artificiais são as mais significativas ferramentas para resolver problemas não lineares complexos. 2) Tolerância a falhas: em redes artificiais, a tolerância a falhas é bastante alta. A razão pela qual as redes neurais possuem tolerância a falhas é que as informações são espalhadas pelo sistema de forma regular. Redes neurais Características de redes neurais artificiais: 3) Treinamento: as redes neurais são ajustadas com uma finalidade para modificar seus próprios valores e são capazes de se adaptar para a solução exata do problema. 4) Aprendizagem: para obter os dados necessários, os algoritmos são identificados ajustando a carga das redes neurais artificiais. Esse processo em que a carga é ajustada é chamado de aprendizagem. O processo de aprendizagem é o processo que define a relação entre as entradas e as saídas do sistema. Redes neurais Características de redes neurais artificiais: 5) Generalização: por meio da generalização, as redes neurais artificiais são capazes de criar a resposta desejada durante o processo de treinamento - em relação a amostras que nunca encontrou (depois de estudar e aprender sobre o problema). 6) Memória: em redes neurais artificiais, as cargas de conexão são os tipos de memória e a memória é distribuída pela criação de memórias locais. Os valores de carga das redes neurais artificiais representam as informações disponíveis na rede naquele momento. Teoria em Prática Bloco 4 Marcelo Henrique dos Santos Reflita sobre a seguinte situação As técnicas de aprendizado de máquina têm sido aplicadas com sucesso em vários problemas. A maioria desses aplicativos depende da aprendizagem baseada em atributos, exemplificada pela indução de árvores de decisão. Em termos gerais, a aprendizagem baseada em atributos também inclui tais abordagens de aprendizagem, como as redes neurais. Atualmente, grande parte da cultura de jogos exige mais realismo e maior credibilidade. Enquanto esses movimentos levaram os gráficos a serem muito mais realistas, também, precisamos ter em mente o comportamento de personagens de inteligência artificial no jogo. As Redes Neurais são estruturas de dados que mostraram potencial para aprender e interpretar o comportamento. Reflita sobre a seguinte situação Você, coordenador de uma equipe que está trabalhando no desenvolvimento de um novo jogo que aborda sobre os princípios da inteligência artificial, verifica quais recursos podem ser aplicados nos jogos para promover uma maior imersão dos jogadores. Por exemplo, como adicionar um pouco de aleatoriedade ao comportamento dos personagens do jogo, a partir da integração das redes neurais, tornando os agentes menos previsíveis. Figura 15 – Representação do desenvolvimento de games Fonte: Sladic/iStock.com. Norte para a resolução... • Os videogames não são apenas divertidos. • Eles fornecem uma plataforma para as redes neurais aprenderem a interagir com ambientesdinâmicos e resolver problemas complexos, assim como na vida real. • A partir do contexto dessa atividade, o seu objetivo é explorar o desempenho de vários algoritmos de aprendizado de máquina. • Para isso, você deverá observar as características comportamentais e sua adequação para diferentes tarefas de jogo. Figura 16 – Representação do processo de produção de jogos Fonte: Patrick Daxenbichler/iStock.com. Norte para a resolução... • Reconhecimento de voz, reconhecimento de escrita, reconhecimento de rosto são apenas algumas das muitas tarefas que nós, como humanos, somos capazes de resolver rapidamente, mas que representam um desafio cada vez maior para os programas de computador. • Assim, parece que somos capazes de realizar tarefas sem esforço que, em alguns casos, são impossíveis de resolver até mesmo por programas de computador sofisticados. Norte para a resolução... • Então, surge a seguinte pergunta: "Qual é a diferença entre os computadores e nós?". • Em suma, a estrutura biológica do cérebro humano forma uma enorme rede paralela de unidades de computação simples que foram treinadas para resolver esses problemas rapidamente. Essa rede, quando simulada em um computador, é chamada de rede neural artificial ou, abreviadamente, rede neural. Norte para a resolução... Redes Neurais para Computação • No nível mais simples, um único neurônio produz uma saída para um determinado conjunto de entradas e a saída é sempre a mesma para esse conjunto de entradas. Em matemática, isso é conhecido como função ou mapeamento. Para esse neurônio, a relação exata entre entradas e saídas é dada pelos pesos que afetam as entradas e pela função de decisão particular usada pelo neurônio. Figura 17 – Representação das Redes Neurais Fonte: wigglestick/iStock.com. Dica do(a) Professor(a) Bloco 5 Marcelo Henrique dos Santos Filme: AlphaGo (2017) • Um dos maiores avanços no campo da inteligência artificial foi transformado em documentário, intitulado AlphaGo. • Esse filme aborda sobre o desenvolvimento de um algoritmo que aprende como jogar o antigo jogo de tabuleiro chinês Go em um nível sobre-humano. O algoritmo é construído por uma equipe de pesquisadores em Londres que trabalha para um laboratório de IA chamado DeepMind, que, em 2014, foi adquirido pelo Google por £ 400 milhões. Artigo: Utilização de Técnicas de Aprendizado de Máquina para Acompanhamento de Fóruns Educacionais Os ambientes educacionais oferecem vários recursos que podem ser utilizados para auxiliar no processo ensino- aprendizagem, sendo um desses recursos o fórum. No entanto, muitas vezes, o uso de fóruns de discussão em plataformas educacionais on-line requer o acompanhamento de centenas ou, até mesmo, milhares de usuários. Devido a grande quantidade de postagens, é difícil para o professor ou tutor acompanhar os alunos. Para tentar contornar esse problema, buscando um acompanhamento eficiente, busca-se disponibilizar ferramentas computacionais que auxiliem o professor. Referências COPPIN, B. Inteligência artificial. Rio de Janeiro: LTC, 2015. GEEKS FOR GEEKS. Inductive Learning Algorithm. Geeks for Geeks, 15 out. 2019. Disponível em: https://www.geeksforgeeks.org/inductive-learning- algorithm/. Acesso em: 26 dez. 2020. McKINNEY, W. Python para análise de dados. São Paulo: Novatec, 2018. Referências ROLIM, V.; FERREIRA, R.; COSTA, E. Utilização de Técnicas de aprendizado de máquina para acompanhamento de fóruns educacionais. Revista Brasileira de Informática na Educação, [s. l.], v. 25, n. 3, 2017. Disponível em: https://www.researchgate.net/publication/320743305_ Utilizacao_de_Tecnicas_de_Aprendizado_de_Maquina_ para_Acompanhamento_de_Foruns_Educacionais. Acesso em: 2 fev. 2021. RUSSEL, S.; NORVIG, P. Inteligência artificial. 3. ed. Rio de Janeiro: Campus, 2013. Bons estudos! Introdução a inteligência Artificial Implementando a inteligência artificial A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva A aprendizagem indutiva Implementando a inteligência artificial A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço A aprendizagem estatística e a aprendizagem por reforço Implementando a inteligência artificial Redes neurais Redes neurais Redes neurais Redes neurais Redes neurais Redes neurais Redes neurais Redes neurais Redes neurais Redes neurais Teoria em Prática Reflita sobre a seguinte situação Reflita sobre a seguinte situação Norte para a resolução... Norte para a resolução... Norte para a resolução... Norte para a resolução... Dica do(a) Professor(a) Filme: AlphaGo (2017) Artigo: Utilização de Técnicas de Aprendizado de Máquina para Acompanhamento de Fóruns Educacionais Referências Referências Bons estudos!
Compartilhar