Baixe o app para aproveitar ainda mais
Prévia do material em texto
VANESSA CRISTINA LOURENÇO AUTORIA MACHINE LEARNING Machine learning - Unidade1 - Formato A5.indd 1 30/10/2019 16:04:56 © Ser Educacional 2019 Rua Treze de Maio, nº 254, Santo Amaro Recife-PE – CEP 50100-160 *Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência. Informamos que é de inteira responsabilidade da autoria a emissão de conceitos. Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização. A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal. Imagens de ícones/capa: © Shutterstock Presidente do Conselho de Administração Diretor-presidente Diretoria Executiva de Ensino Diretoria Executiva de Serviços Corporativos Diretoria de Ensino a Distância Autoria Projeto Gráfico e Capa Janguiê Diniz Jânyo Diniz Adriano Azevedo Joaldo Diniz Enzo Moreira Vanessa Cristina Lourenço DP Content DADOS DO FORNECEDOR Análise de Qualidade, Edição de Texto, Design Instrucional, Edição de Arte, Diagramação, Design Gráfico e Revisão. Machine learning - Unidade1 - Formato A5.indd 2 30/10/2019 16:04:56 Boxes ASSISTA Indicação de filmes, vídeos ou similares que trazem informações comple- mentares ou aprofundadas sobre o conteúdo estudado. CITANDO Dados essenciais e pertinentes sobre a vida de uma determinada pessoa relevante para o estudo do conteúdo abordado. CONTEXTUALIZANDO Dados que retratam onde e quando aconteceu determinado fato; demonstra-se a situação histórica do assunto. CURIOSIDADE Informação que revela algo desconhecido e interessante sobre o assunto tratado. DICA Um detalhe específico da informação, um breve conselho, um alerta, uma informação privilegiada sobre o conteúdo trabalhado. EXEMPLIFICANDO Informação que retrata de forma objetiva determinado assunto. EXPLICANDO Explicação, elucidação sobre uma palavra ou expressão específica da área de conhecimento trabalhada. Machine learning - Unidade1 - Formato A5.indd 3 30/10/2019 16:04:56 Unidade 1 - Introdução aos Sistemas Inteligentes e aprendizado de máquina Objetivos da unidade ........................................................................................................... 12 Introdução a sistemas inteligentes .................................................................................. 13 Dado, informação e conhecimento .............................................................................. 17 Tipos de Aprendizado de Máquina ................................................................................... 21 Aprendizado supervisionado ......................................................................................... 24 Aprendizado não supervisionado ................................................................................. 27 Aprendizado por reforço ..................................................................................................... 29 Aprendizagem por reforço passiva .............................................................................. 32 Aprendizagem por reforço ativa ................................................................................... 35 Sintetizando ........................................................................................................................... 39 Referências bibliográficas ................................................................................................. 40 Sumário Machine learning - Unidade1 - Formato A5.indd 4 30/10/2019 16:04:56 Unidade 2 - Redução de dimensionalidade Objetivos da unidade ........................................................................................................... 42 Redução de dimensionalidade .......................................................................................... 43 Aplicabilidade .................................................................................................................. 46 Redes neurais (Perceptron, Multicamadas, Backpropagation) .................................. 47 Rede Perceptron ............................................................................................................ 49 Backpropagation ............................................................................................................. 49 Perceptron múltiplas camadas ..................................................................................... 50 Rede de Kohonen .................................................................................................................. 58 Sintetizando ........................................................................................................................... 61 Referências bibliográficas ................................................................................................. 62 Sumário MACHINE LEARNING 5 Machine learning - Unidade1 - Formato A5.indd 5 30/10/2019 16:04:57 Unidade 3 - Deep Learning Objetivos da unidade ........................................................................................................... 66 Deep Learning ....................................................................................................................... 67 Tipos de arquiteturas ...................................................................................................... 72 Redes neurais profundas .................................................................................................... 74 Complexidade da teoria .................................................................................................. 78 Redes convolucionais ......................................................................................................... 80 Arquitetura ........................................................................................................................ 83 Redes neurais recorrentes ............................................................................................ 86 Autoencoders (AE) .......................................................................................................... 89 Sintetizando ........................................................................................................................... 92 Referências bibliográficas ................................................................................................. 93 Sumário MACHINE LEARNING 6 Machine learning - Unidade1 - Formato A5.indd 6 30/10/2019 16:04:57 Unidade 4 - Aprendizagem bayesiana, árvores de decisão e algoritmos evolucionários Objetivos da unidade ........................................................................................................... 96 Aprendizagem bayesiana.................................................................................................... 97 Representação da aprendizagem bayesiana ............................................................. 98 Aplicabilidade ................................................................................................................ 100 Árvores de decisão ............................................................................................................ 102 Vantagens e desvantagens das árvores de decisão............................................... 105 Funcionamento da técnica .......................................................................................... 106 Algoritmos evolucionários ............................................................................................... 112 Origens e conceitos da computação evolutiva ........................................................ 112 Paradigma dos algoritmos evolutivos ........................................................................ 114 Sintetizando ......................................................................................................................... 117 Referências bibliográficas ...............................................................................................118 Sumário MACHINE LEARNING 7 Machine learning - Unidade1 - Formato A5.indd 7 30/10/2019 16:04:57 Machine learning - Unidade1 - Formato A5.indd 8 30/10/2019 16:04:57 O crescimento exponencial de dados gerados em praticamente todas as áreas de conhecimento humano, caracterizado pela Era da Informação no início do século XXI, tem gerado uma grande demanda no aprendizado e no aperfeiçoamento de ferramentas apropriadas para extrair dados e gerar infor- mações úteis. Com isso, surgem os sistemas especialistas baseados em Apren- dizado de Máquina (Machine Learning), que conseguem auxiliar em tomadas de decisões a partir de um conjunto de dados. Portanto, nesta disciplina vamos verifi car como os conceitos, as técnicas, os algoritmos, as regras e as aplicações são utilizadas para resolver diversos problemas do dia a dia. MACHINE LEARNING 9 Apresentação Machine learning - Unidade1 - Formato A5.indd 9 30/10/2019 16:04:57 Dedico este conteúdo aos meus fi lhos, que me dão força todos os dias para continuar lutando. A professora Vanessa Cristina Lou- renço é mestre em Engenharia da In- formação pela Universidade Federal do ABC - UFABC (2012), atuando em linha de pesquisa em sistemas inteli- gentes, e possui Graduação em Aná- lise e Desenvolvimento de Sistemas pela Universidade de Cuiabá (2008). Ministrou aulas nos cursos de Ciência da Computação, Sistemas de Informa- ção e ADS (2012/2013) nas disciplinas de Engenharia de Software, Banco de Dados e Sistemas de Informação. Atualmente ministra aulas nos cursos de pós-graduação em Gerenciamento em Banco de Dados nas disciplinas de Banco de Dados NoSQL, SQL avança- do e Modelagem de dados. Atua como Analista de negócios em empresa de TI. Currículo Lattes: http://lattes.cnpq.br/0481052458446153 MACHINE LEARNING 10 A Autora Machine learning - Unidade1 - Formato A5.indd 10 30/10/2019 16:04:58 INTRODUÇÃO A SISTEMAS INTELIGENTES E APRENDIZADO DE MÁQUINA 1 UNIDADE Machine learning - Unidade1 - Formato A5.indd 11 30/10/2019 16:05:17 Objetivos da unidade Tópicos de estudo Introduzir sistemas inteligentes e seus conceitos; Apresentar componentes e tipos de Aprendizado de Máquina; Identificar técnicas que possam ser utilizadas na resolução de problemas do dia a dia. Introdução a sistemas inteligentes Dado, informação e conhecimento Tipos de Aprendizado de Máquina Aprendizado supervisionado Aprendizado não supervisionado Aprendizado por reforço Aprendizagem por reforço passiva Aprendizagem por reforço ativa MACHINE LEARNING 12 Machine learning - Unidade1 - Formato A5.indd 12 30/10/2019 16:05:18 Introdução a sistemas inteligentes As recentes pesquisas desenvolvidas na área de inteligência artifi cial de- monstram as capacidades que um computador tem de realizar atividades que normalmente são executadas pelos seres humanos, por meio de dois aspectos fundamentais: conhecimento e raciocínio. A ação inteligente está intimamente relacionada ao seu desenvolvimento e utilização, nos quais agir com inteligên- cia é usar o conhecimento adquirido. Esta é base fundamental para que um sistema inteligente seja criado. Dentro de um ambiente organizacional é possível verifi car o quanto uma empresa pode se tornar competitiva no mercado a partir do momento em que ela apresenta soluções para atender as demandas da sociedade. Esse conheci- mento é adquirido por meio de experiências adquiridas ao longo dos anos e o conceituamos como know-how. Um sistema inteligente se preocupa em siste- matizar este conhecimento como uma maneira de agilizar e efetivar o processo referente à tomada de decisão dentro das empresas. Os sistemas inteligentes garantem uma padronização deste processo decisório ligado à sua base de co- nhecimento (REZENDE, 2005, p. 53). Os sistemas inteligentes estão inseridos no conceito dos sistemas basea- dos em conhecimento (SBCs), que são métodos utilizados pelas organizações empresariais que se destacam pelo uso de recursos ligados, por exemplo, à experiência dos colaboradores das empresas na tomada de decisão. Esse co- nhecimento, ao ser desenvolvido, pode se tornar plenamente acessível, de fá- cil recuperação e utilizado pelos outros membros. Você já deve ter notado a presença de uma variedade de aplicações SBCs em múltiplas áreas, como a engenharia, por exemplo. Segundo a autora Solange Rezen- de, no livro Sistemas Inteligentes: Funda- mentos e Aplicações, lançado em 2005, os sistemas baseados no conhecimen- to deverão ter a habilidade, dentre outros aspectos, de questionamento do usuário como uma forma de obter as informações que precisam de criar MACHINE LEARNING 13 Machine learning - Unidade1 - Formato A5.indd 13 30/10/2019 16:05:20 uma linha de raciocínio partindo destas informações e do conheci- mento adquirido para trazer soluções adequadas, consequente- mente, é necessário explicar a linha de raciocínio adotada, tratar de possíveis falhas cometidas e trazer soluções adequadas. O conceito de sistemas inteligentes é bem abrangente. No entanto, va- mos separar este em dois: sistemas e inteligência. Podemos chamar de “sistemas” diferentes áreas de atividade humana contextualizadas em um mundo real. Dessa forma, não está errado dizer que o sistema digestório e o sistema previdenciário são sistemas, pois os dois possuem características comuns ao termo, que, derivado do grego, significa “combinar”, “ajustar”, “formar um conjunto”. O sistema digestório, por exem- plo, é composto por vários órgãos e é responsável tanto pela digestão quanto pela absorção dos alimentos; o sistema previdenciário, que compreende pes- soas (aposentados e pensionistas), estrutura, regras e leis e realiza o controle de pagamentos de benefícios a quem tem direito. Um sistema existe com o intuito de atingir um fim específico e pode ser formado por pessoas, instala- ções, recursos e métodos. O termo inteligência é bem mais difícil de ser definido, mas é considerado por muitos filósofos como sendo a capacidade de compreender e resolver novos problemas ou conflitos, além de se adaptar a mudanças e novas situações. Além de promo- ver a capacidade de raciocinar, tomar decisões e melhorar o desempenho de acordo com lições aprendidas. Após abordarmos os termos “sistemas” e “inteligência”, podemos então definir como eles podem ser considerados nas máquinas, e, assim, obtermos uma definição de sistemas inteligentes. De acordo com Gonzalez e Zampirolli (2014), em máquinas, a simulação de comportamento inteligente reproduz parte das habilidades humanas, como a capacidade de aprender. Para os autores, entende-se como sistema inteligente aquele que é capaz de melhorar seu desempenho a partir de suas próprias experiências, ou seja, tem a capacidade de aprender com informações disponí- veis ou com seus erros. Desse modo, podemos dizer que um sistema inteligen- te deve ser capaz de aprender e melhorar o seu próprio desempenho. Diante deste cenário, um questionamento pode ser feito: em que contexto é possível adotar os sistemas inteligentes? Para responder a este questiona- MACHINE LEARNING 14 Machine learning - Unidade1 - Formato A5.indd 14 30/10/2019 16:05:20 mento, é necessário observar um aspecto importante: a globalização. Em uma economia cada vez mais globalizada, é normal que o mercado demande um nível diferente de exigência. Devido à alta competitividade, as organizações empresariais têm buscado reduzir a produtividade dos recursos, ao mesmo tempo em que o serviço disponibilizado ao cliente passou a ganhar relevância. Ainda de acordo com Rezende, a tecnologia é considerada o elemento prin- cipal de uma revolução que reúne aspectos relacionados aos softwares, com- putadores e rede mundial. É importante frisar que a tecnologia da informação e o melhoramento na comunicação estreitaram a relação entre os países, ge- rando oportunidades de mercadoe uma concorrência mais elevada. A socieda- de, por sua vez, apresenta mudanças graças ao uso do conhecimento. Vale ressaltar que a tecnologia apresenta um ciclo de vida definido dentro deste ambiente de evolução, pois o tempo que a tecnologia apresenta seu valor é cada vez mais curto, devido às constantes mudanças. A chamada era do conhe- cimento se caracteriza, dentre outros aspectos, pelo grau de capacidade que o indivíduo e a empresa disponibilizam, e isto é fator principal para sobreviverem ao mercado. É notável que a tecnologia estreita a relação entre as pessoas em todo o mundo, o que facilita a troca de conhecimento e informações. É dentro deste ambiente que os sistemas inteligentes se inserem, pois usam a tecnologia da informação como uma maneira de alterar conhecimentos mais específicos. Para compreender as características principais de um sistema inteligente é pre- ciso ter em mente dois aspectos fundamentais: o primeiro está relacionado à ha- bilidade para usar o conhecimento no intuito de realizar atividades ou solucionar problemas; o segundo aspecto está ligado à capacidade de usufruir das inferências e associações para solucionar problemas mais complexos similares aos problemas reais. Estes sistemas normalmente apre- sentam um conjunto de habilidades, como por exemplo, a de arquivar e recu- perar um volume de informações capa- zes de solucionar problemas ou auxiliar na tomada de decisões. É importante que você observe que a habilidade aqui está relacionada à racionalidade, que permite alterar o nosso comportamento. MACHINE LEARNING 15 Machine learning - Unidade1 - Formato A5.indd 15 30/10/2019 16:05:28 O considerado comportamento inteligente de um determinado sistema resulta de decisões encadeadas e múltiplas. Toda decisão escolhida é controla- da com referência aos critérios relacionados ao desempenho, tempo de dura- ção e o risco. Vale lembrar que o controle de decisão se caracteriza por dispor de soluções e tomada de decisão de maneira sequencial e sincronizada, que mantenham uma inter-relação e que sejam direcionadas para disponibilizar um desempenho indicando o objetivo estabelecido pelo sistema. Estes sistemas são desenvolvidos por meio de técnicas-chave, que podem ser inseridas de maneira isolada ou em conjunto para facilitar a tomada de de- cisão. Dentre estas técnicas podemos citar o Machine Learning (Aprendizado de Máquina), que se caracteriza por dispor de uma série de habilidades que simbolizam o conhecimento humano. De fato, é preciso entender que o desempenho e os requisitos mínimos de um sistema inteligente são bem distintos em relação aos sistemas mais tradi- cionais. E por que isto ocorre? É preciso levar em consideração que os mode- los tradicionais, como programas gráfi cos ou aqueles que envolvem cálculos, normalmente utilizam métodos ou ferramentas manuais para a resolução das suas atividades. Em contrapartida, um sistema inteligente consegue alterar símbolos que representam as áreas atuantes no mundo real, o que demonstra a sua capacidade ou habilidade em utilizar o conceito de dado, informação e conhecimento, que trataremos a seguir. QUADRO 1. DIFERENÇAS ENTRE OS SISTEMAS CONVENCIONAIS E OS BASEADOS EM CONHECIMENTO Sistemas convencionais Sistemas baseados em conhecimento Estrutura de dados Representação do conhecimento Dados e relações entre dados Conceitos, relações entre conceitos e regras Tipicamente usa algoritmos determinísticos Busca heurística Conhecimento embutido no código do programa Conhecimento representado explicitamente e se-parado do programa que o manipula e interpreta Explicação do raciocínio é difícil Podem e devem explicar seu raciocínio Estrutura de dados Dados e relações entre dados Tipicamente usa algoritmos determinísticos Estrutura de dados Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Estrutura de dados Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Estrutura de dados Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Estrutura de dados Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Estrutura de dados Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Dados e relações entre dados Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Representação do conhecimento Conceitos, relações entre conceitos e regras Tipicamente usa algoritmos determinísticos Conhecimento embutido no código do programa Explicação do raciocínio é difícil Representação do conhecimento Conceitos, relações entre conceitos e regras Conhecimento embutido no código do programa Explicação do raciocínio é difícil Representação do conhecimento Conceitos, relações entre conceitos e regras Conhecimento embutido no código do programa Explicação do raciocínio é difícil Representação do conhecimento Conceitos, relações entre conceitos e regras Conhecimento embutido no código do programa Conhecimento representado explicitamente e se- Representação do conhecimento Conceitos, relações entre conceitos e regras Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Representação do conhecimento Conceitos, relações entre conceitos e regras Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Representação do conhecimento Conceitos, relações entre conceitos e regras Busca heurística Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Representação do conhecimento Conceitos, relações entre conceitos e regras Busca heurística Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Representação do conhecimento Conceitos, relações entre conceitos e regras Busca heurística Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Representação do conhecimento Conceitos, relações entre conceitos e regras Busca heurística Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conceitos, relações entre conceitos e regras Busca heurística Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conceitos, relações entre conceitos e regras Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conceitos, relações entre conceitos e regras Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conceitos, relações entre conceitos e regras Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conhecimento representadoexplicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio Conhecimento representado explicitamente e se- parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínio parado do programa que o manipula e interpreta Podem e devem explicar seu raciocínioPodem e devem explicar seu raciocínio Fonte: REZENDE, 2005. (Adaptado). MACHINE LEARNING 16 Machine learning - Unidade1 - Formato A5.indd 16 30/10/2019 16:05:28 Dado, informação e conhecimento Esses conceitos já fazem parte do cotidiano das pessoas que trabalham com sistemas, mais precisamente sistemas computacionais, desde a Era da Infor- mação. Vamos defi nir cada um deles para melhor entendimento, pois os mes- mos fazem parte da base do aprendizado. Dado é um fato que não foi tratado, ou seja, a partir de um dado não se tem exatamente determinado o seu signifi cado. Ele pode ser: idade, dia do mês, tamanho do calçado, saldo bancário, nota de aluno, velocidade máxima na ro- dovia etc., e se caracteriza por ser um elemento utilizado para demonstrar algo ou uma situação específi ca, sem estar ligado aos resultados. O dado é considerado uma fonte primária utilizada para o desenvolvimento de infor- mações que podem ser apresentadas em forma de códigos, como por exem- plo, uma palavra. Basicamente os dados podem ser classifi cados de três maneiras distintas. Primeiramente podem ser tipados como estruturados, que se caracterizam por estarem arquivados em bancos de dados, o que indica a sua utilização ou recuperação para necessidades futuras. O principal papel do banco de dados é selecionar os dados mais importantes e transformá-los em informações. A segunda tipologia são os semiestruturados. É interessante mencionar que estes dados disponibilizam uma estrutura heterogênea, ou seja, não são consi- derados como estritamente tipados, tampouco são desestruturados. Estes da- dos apresentam algumas características bem específi cas, como o fato de serem defi nidos a posteriori, ou seja, os seus projetos são inseridos após a visualização da existência dos dados; outro aspecto está ligado à sua estrutura irregular e implícita, graças às formas variadas em que esses dados se apresentam. A terceira classifi cação são os dados não estruturados, que são aqueles que não passaram pelo processo de codifi cação ou algum tipo de estruturação em linhas e colunas, ou até mes- mo registros. Estes dados simbolizam a maioria dos elementos encontrados, são conhecidos por não estarem inseridos na rede e geralmente não estão no banco de dados. Normalmente, estão dispostos em boa parte das redes sociais. MACHINE LEARNING 17 Machine learning - Unidade1 - Formato A5.indd 17 30/10/2019 16:05:28 Quando analisamos os dados e verificamos a sua utilidade é preciso ter em mente que eles são a fonte geradora de informações, portanto estes elementos precisam estar con- textualizados. E o que isso significa? Coletar dados requer qualidade para que falhas sejam evitadas e, conse- quentemente, gerem informações distorcidas. Imagine, por exemplo, se uma determinada organização resol- ve fazer pesquisas de satisfação con- siderando apenas um segmento especifico da sua empresa, logicamente a pesquisa estará enviesada e não apresentará um resultado confiável, pois considerou somente alguns dados para estabelecer um parâmetro geral. É importante citar que a circulação de dados faz parte do nosso cotidiano de maneira geral. A internet é um dos caminhos utilizados para a visualização dos dados em larga escala e, dentro das empresas, a utilização dos dados eleva o nível das operações, atendendo a demanda em novos mercados. Um setor que vem se destacando por conta do uso maciço de dados é o agrone- gócio, que está elevando o nível da sua área estratégica com o uso da tecno- logia avançada em sua plataforma de produção. Pesquisas acadêmicas têm sido cada vez mais empregadas no agronegócio no intuito de adquirir dados e transformá-los em informação. Quando os dados apresentam alguma relação entre si, eles são contextua- lizados ou interpretados, adquirindo, dessa forma, um significado. Assim, a informação envolve dados contextualizados ou padrões de associação escon- didos numa coleção de dados. Atributo importante para as empresas e a sociedade, de maneira geral, a informação tem um peso extremamente relevante nas decisões empresariais. Pode ser conceituada, em linhas gerais, como fio condutor entre o dado bruto e o conhecimento. Você pode observar que os dados são compreendidos como observações iniciais, enquanto as informações estão ligadas à relevância e obje- tivos dos dados coletados. MACHINE LEARNING 18 Machine learning - Unidade1 - Formato A5.indd 18 30/10/2019 16:05:32 Geralmente, as informações que apresentam características capazes de ele- var os processos de produção e viabilizar o seu desenvolvimento das empresas são as mais requisitadas. Elas podem ser classificadas quanto a sua natureza e finalidade, como por exemplo: • Científica: conhecimento oriundo da pesquisa que se acrescenta ao en- tendimento universal existente; • Tecnológica: todo tipo de conhecimento ligado à maneira de fazer um pro- duto ou prestar um serviço, tendo como objetivo a sua colocação no mercado; • Estratégica: trata do conhecimento das tendências do mercado, das conjunturas econômicas que afetam o comportamento do mercado, das em- presas fornecedoras de insumos, matérias-primas e produtos das organiza- ções concorrentes, implantação ou expansão do seu ambiente operacional; • Negócios: a informação de negócios é aquela que subsidia o processo decisório do gerenciamento das empresas industriais, de prestação de ser- viços e comerciais. Quando avaliamos a maneira como as informações são difundidas dentro das empresas, é preciso observar não só o volume, mas principalmente o nível qualitativo que influencia o comportamento de uma empresa. É possível con- cluir que as atividades executadas pelos gestores estão ligadas às informações obtidas, já que é preciso tomar decisões sobre o planejamento futuro. DIAGRAMA 1. AMBIENTE ESSENCIAL PARA A DISSEMINAÇÃO DA INFORMAÇÃO Planejamento estratégico Execução Avaliação Ambiente competitivo Estratégia da informação Estratégia da tecnologiada informação Fonte: SIQUEIRA, 2005. (Adaptado). As informações obtidas atendem uma dupla função estratégica dentro das empresas, primeiramente, na análise dos ambientes externo e interno e na ve- MACHINE LEARNING 19 Machine learning - Unidade1 - Formato A5.indd 19 30/10/2019 16:05:32 rificação destes ambientes. Portanto, a quantidade de informação não é requi- sito determinante para a tomada de decisão, porém a tecnologia empregada melhora o nível informacional, influenciando o desempenho gerencial. O nível das informações gera vantagens competitivas que ajudam no me- lhoramento da competitividade nas empresas e no desenvolvimento de uma rede de contatos de compartilhamento das informações, evidenciando a sua função quase que essencial ao ciclo de vida de uma organização. O conhecimento surge a partir das informações essenciais para a com- preensão sobre determinada situação. Ele pode ser considerado o resultado das verificações informacionais ligadas a um fato determinado. Podemos con- siderá-lo um fator determinante para o mundo corporativo, pois são importan- tes no processo decisório. É importante deixar claro que o conhecimento não é algo a ser descrito, como ocorre nas informações, assim como não precisa de uma interpretação pessoal, pois exige uma experiência do objeto do conhecimento. Diante deste contexto, é possível definir o conhecimento em quatro tipos: científico, popu- lar, filosófico e religioso. O conhecimento científico caracteriza-sepelo fato de lidar com ocorrências e fatos, nos quais as hipóteses podem ser validadas ou descartadas com base na experimentação. Também conhecido como um conhecimento sistemático na formulação de ideias que abrangem o todo do objeto delimitado para estudo. Já o conhecimento popular é considerado aquele conhecimento que atra- vessa gerações, responsável pela criação dos outros tipos de conhecimento. É possível afirmar que boa parte dos fatos do nosso cotidiano atual se originou no senso comum. O conhecimento filosófico tem origem a partir da busca pelo entendimento coerente da realidade, não podendo ser verificável ou descartado, já que não há possibilidade de sua confirmação, além de basear-se na dedução e na experiência. O conhecimento religioso está relacionado à ex- plicação de determinados fenômenos sobrenatu- rais. Neste contexto surge a figura do mito, com a função de tranquilizar o homem, porque esse mito forneceria a explicação necessária para a sua dúvida. MACHINE LEARNING 20 Machine learning - Unidade1 - Formato A5.indd 20 30/10/2019 16:05:32 mito “hard sciences” (explicação) ciências humanas “soft sciences” (compreensão) de sco be rta do lo go s doxa fi losofi a epi ste me ciê nci a c iên cia s po siti vas SALTO QUALITATIVO IDADE MÉDIA SALTO QUALITATIVO Grécia/Mileto THALES ANAXIMANDRO, ANAXÍMENES séc. VII e VI a.C. Grécia /Atenas SOCRATES, PLATÃO, ARISTÓTELES, séc. V e IV a.C. França DESCARTES séc. XVII e XVIII d.C. França COMTE séc. XIX d.C. Europa, América do Norte, América do Sul, 2ª metade do séc. XX. NOVO PARADIGMA DA CIÊNCIA DIAGRAMA 2. DESENVOLVIMENTO DO PENSAMENTO CIENTÍFICO Fonte: VASCONCELLOS, 2002. (Adaptado). Vale frisar que as empresas empregam e dão muito valor ao conheci- mento. Geralmente, elas compreendem que o conhecimento reúne valores que são gerados durante determinado período. Organizações passam por fases de instabilidade e são nestes momentos que os gestores tendem a buscar nos colaboradores o conhecimento prático na solução de situações corriqueiras. Tipos de Aprendizado de Máquina Aprendizado de Máquina (AM), mais comumente chamado pelo termo em inglês Machine Learning, se tornou o queridinho da atualidade. Se em algum momento você procurou por artigos ou leituras associadas ao tema, com cer- teza se deparou com duas situações: artigos acadêmicos cheios de teoremas (muitas vezes de difícil entendimento) ou afi rmações sobre essa ser a mágica de bons empregos e ótimos salários. A ideia por trás da aprendizagem é que percepções devem ser usadas não apenas para agir, mas também para melhorar a habilidade do agente para agir no futuro (RUSSEL; NORVIG, 2009, p. 525). MACHINE LEARNING 21 Machine learning - Unidade1 - Formato A5.indd 21 30/10/2019 16:05:32 DIAGRAMA 3. O APRENDIZADO DE MÁQUINA ESTÁ CONTIDO NA INTELIGÊNCIA ARTIFICIAL APRENDIZADO DE MÁQUINA INTELIGÊNCIA ARTIFICIAL Uma coisa é certa, o AM é a menina dos olhos da Inteligência Artificial, ou seja, é uma subárea muito importante que estuda métodos computacionais para adquirir novos conhecimentos, novas habilidades e novos meios de organizar o conhecimen- to já existente, dessa forma, pode-se dizer que a máquina faz o que é mandado. ASSISTA Para melhor entendimento acerca dos conceitos explica- dos até agora, assista ao vídeo “O que é Machine Learning (Inteligência Artificial)?”. O Aprendizado de Máquina surgiu pela necessidade das pessoas de obter conhecimento acerca de um assunto específico. O único objetivo desse apren- dizado é prever os resultados com base nos dados recebidos, por exemplo, o treinador do time de vôlei precisa obter informações sobre o time adversário. Para que ele faça cálculos de pontos a favor e contra de todos os jogadores do outro time e entenda melhor a performance de cada um deles, é necessário que regras sejam aplicadas às quantidades de acertos e erros para poder de- cidir como sua equipe deve atuar em quadra. Fazer esses cálculos é fácil, mas cansativo. Já uma definição padrão para cada jogador só é possível por meio de conhecimento prévio, ou seja, a partir de exemplos, aprendizado e hipóteses. Para trabalharmos com AM, quanto maior a variedade de amostras, mais fácil encontrar padrões importantes e prever algum resultado. Diante disso, MACHINE LEARNING 22 Machine learning - Unidade1 - Formato A5.indd 22 30/10/2019 16:05:32 precisamos ter três componentes para ensinar a máquina. São eles: dados, variáveis e algoritmos. Dados: que tipo de dados? Depende do que pretendemos prever. Quanto maior a diversidade dos dados, melhor será o resultado. Podemos ob- ter os dados necessários para aplicação de duas maneiras: manual e automática. Quando coletamos os dados de forma manual, a chance de erro é menor, mas o tempo para coleta é maior, tornando o processo mais caro. A coleta au- tomática é mais barata, mas acabamos reunindo dados que não são relevantes e precisam ser excluídos. Variáveis: podem ser o sexo do usuário, a quilometragem do carro, frequên- cia de palavras no texto, esses são os fatores que a máquina deve considerar. Quando os dados analisados estão armazenados em bancos de dados como tabelas simples, as variáveis são nomes das colunas. Selecionar variáveis corretas costuma levar mais tempo do que todos os outros processos de AM e essa não é uma tarefa trivial. Imagine a seguinte situação: ao definir variáveis para uma base de 500 GB de fotos de bebês, não podemos considerar cada pixel como variável, devemos definir variáveis do tipo luminosidade, cenários etc. DIAGRAMA 4. COMPONENTES DE APRENDIZADO DE MÁQUINA VARIÁVEIS ALGORITIMOS Data mining Data science Programação clássica AM DADOS MACHINE LEARNING 23 Machine learning - Unidade1 - Formato A5.indd 23 30/10/2019 16:05:33 Para melhor entendimento acerca de AM, vamos ver os tipos de Aprendi- zado de Máquina que estão subdivididos em aprendizado supervisionado e não supervisionado. DIAGRAMA 5. TIPOS DE APRENDIZADO DE MÁQUINA E SUAS CARACTERÍSTICAS Aprendizado de Máquinas Predição categórica Classifi cação Previsão numérica Divide clusters por semelhança Clusterização Identifi ca sequências AssociaçãoRegressão Dados não são rotulados Supervisionado Não supervisionado Encontra dependências ocultas Dados são pré-categorizados Redução de dimensão (generalização) O que difere um tipo do outro é que no aprendizado supervisionado a máqui- na tem um supervisor, que funciona como se desse à máquina todas as respostas, desse modo, rótulos já foram defi nidos e a máquina só precisa encontrar os parâ- metros rotulados. O aprendizado não supervisionado signifi ca que a máquina é deixada so- zinha. Por exemplo: tentar encontrar, em 100 GB de fotos de veículos, os que são de passeio e os que são de transporte. Aprendizado supervisionado A aprendizagem supervisionada é realizada por meio do treinamento de da- dos categorizados (rótulos), ou seja, classifi cados. Por exemplo, escolas podem ser classifi cadas em duas classes: privadas e públicas. Esse tipo de algoritmo Fonte: REZENDE, 2005, p. 91. (Adaptado). MACHINE LEARNING 24 Machine learning - Unidade1 - Formato A5.indd 24 30/10/2019 16:05:33 necessita de um conjunto de dados rotulados para fazer previsão de rótulos/ classes em novos dados. Esses são utilizados em diferentes tipos de aplicação, como: estratégias de retenção de clientes, reconhecimento de imagens, previ- sões de mercado e até em diagnósticos. A tarefa de aprendizagem supervisionada é dada da forma como veremos a seguir. Dado um conjunto de treinamento de N pares de exemplos de entrada e saída: (x1, y1), (x2, y2), ... (xn, yn) Cada y foi gerado por uma função desconhecida y = f(x). Procure descobrir uma função h que se aproxima da função verdadeira f. No exemplo explanado anteriormente, vemos que x e y podem ter quais- quer valores, não tendo a necessidade deserem exatamente números. Já a função h pode ser determinada como uma hipótese. Conforme comentado, a máquina aprenderá mais rapidamente com um su- pervisor, pois procura por valores verdadeiros imputados anteriormente. Algo- ritmos de AM podem ser vistos como mecanismos que extraem um padrão de comportamento a partir de experimentações. Nesse tipo de aprendizado existem dois tipos de técnica: • Classificação: predição por categoria. • Regressão: previsão de regressão de um ponto específico em um eixo numérico. Se os rótulos das classes possuem valores discretos, o problema é conhe- cido como classificação, mas se as classes possuírem valores contínuos, o pro- blema é conhecido como regressão. A técnica de classificação é definida como uma forma de modelagem predi- tiva, ou seja, com base nos atributos de entrada de um objeto, sendo possível predizer o atributo de saída. Essa técnica divide os objetos da amostra com base em um dos atributos já conhecidos previamente. Por exemplo: 1. Separe as roupas com base na cor. Nesse caso, as roupas foram ca- tegorizadas como claras, e para todas as roupas encontradas, é como se o algoritmo fizesse a pergunta: essa roupa é clara? As possíveis respostas seriam: sim e não. 2. Separe as aves de acordo com a espécie. MACHINE LEARNING 25 Machine learning - Unidade1 - Formato A5.indd 25 30/10/2019 16:05:33 3. Separe as músicas constantes na amostra por categoria (gênero). Nesses três exemplos, a máquina foi treinada para classifi car objetos de acordo com os parâmetros passados a ela. Essa técnica é muito utilizada atual- mente para: • Detecção de idiomas; • Pesquisa de documentos iguais; • Análise de sentimentos; • Reconhecimento de caracteres; • Filtros spam; • Detecção de fraudes. Uma das técnicas que a classifi cação utiliza é conhecida como k-Nearest Neighbors, ou kNN, que consiste em um algoritmo de classifi cação que se carac- teriza pela popularidade e facilidade de implementação na literatura de Machine Learning e mineração de dados. Esta técnica é aplicada da seguinte maneira: inserido um objeto desconhecido, o kNN tem a função de buscar pelos vizinhos que se localizam mais próximos dentro de uma série de dados conhecidos pre- viamente, de acordo com uma mensuração, porém, determinada. A classe do novo objeto é admitida através do voto majoritário estabelecido entre os seus k mais próximos. Por se tratar de uma técnica simples, o kNN é usado amplamen- te para solucionar vários problemas que ocorrem no mundo real. Portanto, os pseudocódigos utilizados para treinamento, além dos testes do kNN, são expos- tos nos algoritmos 1 e 2, conforme se visualiza no Quadro 2. QUADRO 2. OS PSEUDOCÓDIGOS PARA TREINAMENTO E TESTE DO KNN. Fonte: PADILHA; CARVALHO, 2017. (Adaptado). Algoritmo 1: Treinamento kNN. Entrada: conjunto de treinamento T = {xi , yi }i = 1 n , valor de k e uma medida de distância d (.,.) Saída: classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de k. Algoritmo 2: Teste kNN. Entrada: classifi cador kNN e um objeto x cuja classe é desconhecida Saída: classe y atribuída a x 1 – buscar pelos k objetos mais próximos ao x no conjunto de dados de treinamento do classifi - cador kNN informado; 2 – dentre k vizinhos, determinar y como classe mais frequente entre eles, resolvendo possíveis empates de maneira arbitrária. EntradaEntrada Saída Entrada: classifi cador kNN e um objeto Saída: classe 1 – buscar pelos cador kNN informado; : classifi cador kNN e um objeto : classe 1 – buscar pelos cador kNN informado; 2 – dentre : classifi cador kNN e um objeto : classe y atribuída a 1 – buscar pelos cador kNN informado; 2 – dentre empates de maneira arbitrária. : classifi cador kNN e um objeto atribuída a 1 – buscar pelos cador kNN informado; 2 – dentre empates de maneira arbitrária. : classifi cador kNN e um objeto atribuída a 1 – buscar pelos k cador kNN informado; 2 – dentre k empates de maneira arbitrária. : classifi cador kNN e um objeto atribuída a objetos mais próximos ao cador kNN informado; vizinhos, determinar empates de maneira arbitrária. : classifi cador kNN e um objeto x objetos mais próximos ao cador kNN informado; vizinhos, determinar empates de maneira arbitrária. : classifi cador kNN e um objeto objetos mais próximos ao vizinhos, determinar empates de maneira arbitrária. : classifi cador kNN e um objeto objetos mais próximos ao vizinhos, determinar empates de maneira arbitrária. x cuja classe é desconhecidax cuja classe é desconhecidax objetos mais próximos ao vizinhos, determinar empates de maneira arbitrária. cuja classe é desconhecida objetos mais próximos ao vizinhos, determinar empates de maneira arbitrária. cuja classe é desconhecida objetos mais próximos ao y como classe mais frequente entre eles, resolvendo possíveis y como classe mais frequente entre eles, resolvendo possíveis y cuja classe é desconhecida objetos mais próximos ao como classe mais frequente entre eles, resolvendo possíveis cuja classe é desconhecida no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis cuja classe é desconhecida no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis cuja classe é desconhecida no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis cuja classe é desconhecida no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis no conjunto de dados de treinamento do classifi - como classe mais frequente entre eles, resolvendo possíveis como classe mais frequente entre eles, resolvendo possíveis EntradaEntrada Saída Entrada Saída 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento : classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento : classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento : classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento : classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento : classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento : classifi cador kNN 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento 1 - armazenar o conjunto de treinamento e o valor de : conjunto de treinamento 1 - armazenar o conjunto de treinamento e o valor de T = {x 1 - armazenar o conjunto de treinamento e o valor de T = {xi T = {xi T = {x , y 1 - armazenar o conjunto de treinamento e ovalor de i } = 1 1 - armazenar o conjunto de treinamento e o valor de = 1 1 - armazenar o conjunto de treinamento e o valor de , valor de 1 - armazenar o conjunto de treinamento e o valor de , valor de 1 - armazenar o conjunto de treinamento e o valor de , valor de k 1 - armazenar o conjunto de treinamento e o valor de e uma medida de distância . e uma medida de distância e uma medida de distância e uma medida de distância e uma medida de distância e uma medida de distância e uma medida de distância e uma medida de distância d (.,.)d (.,.)d (.,.) MACHINE LEARNING 26 Machine learning - Unidade1 - Formato A5.indd 26 30/10/2019 16:05:33 A técnica de regressão busca responder perguntas do tipo: “quantas vezes?”, “quanto custa?” ou “quantos existem?”. É utilizada quando o valor previsto difere de “sim” ou “não”, e deve ser de um espectro contínuo. Regressão pode ser consi- derada como uma classifi cação em que se prevê números em vez de categorias. Quando a representação é feita por uma linha reta, chamamos de regres- são linear; quando a representação é curva, chamamos de representação poli- nomial, conforme ilustrado no Gráfi co 1. GRÁFICO 1. ILUSTRAÇÃO DE REGRESSÃO POLINOMIAL E LINEAR Polinomial Linear Regressão O ambiente em que a regressão é mais usada é em aplicações de fi nanças. Não é uma tarefa complexa, ela pode ser realizada, por exemplo, por uma pes- soa utilizando apenas caneta e papel, mas a máquina realiza com precisão, calculando intervalo médio para cada ponto. Aprendizado não supervisionado A aprendizagem não supervisionada entende que o conjunto de exemplos não está rotulado. Dessa forma, o sistema tenta classifi car os conjuntos agru- pando por semelhanças em determinadas classes. O aprendizado não supervi- sionado não é muito utilizado, já que, na prática, não é possível inferir rótulos e, para a maioria das aplicações existentes, é necessário que seja permitido classi- fi car a amostra. Ou seja, os sistemas devem desenvolver suas próprias conclu- sões. Geralmente, é útil para a análise exploratória dos dados, mas não como MACHINE LEARNING 27 Machine learning - Unidade1 - Formato A5.indd 27 30/10/2019 16:05:34 algoritmo principal. Por outro lado, é muito útil quando temos a necessidade de agrupar ou encontrar associações dentro de um grande volume de dados. Imagine você ter uma loja de roupas on-line e resolver gerar campanhas in- dividuais para seus clientes. Pode-se descobrir, por meio do aprendizado não supervisionado, características de seu cliente. É possível, por exemplo, descobrir pela idade, as mulheres que compram um estilo de roupa, e com isso, oferecer a elas calçados que combinarão com seus estilos. As técnicas existentes no aprendizado não supervisionado são: clusterização, redução de dimensão (generalização) e associação. Os algoritmos de clusterização tentam encontrar objetos semelhantes , por algum atributo, e separá-los em um cluster. Todos que possuírem muitos atribu- tos em comum são agrupados em uma classe. Em alguns algoritmos, você pode até especificar o número exato de clusters desejados. EXEMPLIFICANDO Imagine que você faz uma busca na internet para encontrar os restau- rantes japoneses próximos. O mecanismo de clusterização os agrupa em “bolhas” com um número, caso contrário, seu navegador travaria ao tentar exibir todos os milhões de restaurantes japoneses existentes. Os objetos com base em características desconhecidas são divididos e a má- quina sempre escolhe o melhor caminho. Usado atualmente para: • Realizar segmentação de mercado; • Mesclar pontos próximos em um mapa; • Compreensão de imagens; • Analisar e rotular novos dados; • Detectar comportamentos anormais. CURIOSIDADE Você sabia? O Google fotos e a Apple fotos utilizam clusters complexos que estão buscando a todo o momento rostos em fotos para criar álbuns para você. A aplicação não sabe quantos amigos você tem e como se parecem, mas fica tentando encontrar características faciais comuns. MACHINE LEARNING 28 Machine learning - Unidade1 - Formato A5.indd 28 30/10/2019 16:05:34 Redução de dimensão (generalização) Esse método, no início, era mais utilizado por cientistas de dados na intenção de encontrar algo importante em grande quantidade de números. Quando os famosos gráfi cos de Excel já não eram mais capazes de ajudar, eles forçaram a máquina a fa- zer descobertas de padrões. Assim, surgiram os métodos de redução de dimensão. Atualmente, um importante uso desse método são os sistemas de recomen- dação e fi ltros. Se for utilizado para abstrair as classifi cações dos usuários, é provável que você terá ótimos resultados na recomendação de fi lmes, músicas, jogos e muito mais. Aprendizado por reforço Aprendizado por reforço pode ser considerado algo do tipo: “ah, agora sim vamos falar de Inteligência Artifi cial!”. Isso se dá pelo fato de o aprendizado por reforço ser usado em casos de problemas que não estão relacionados aos dados, mas sim em um ambiente interativo, por exemplo, jogos de videogame. É um ramo da ciência muito estudado em psicologia, neurociência, ciência da computação e estatística, e que vem atraindo muito interesse de pesquisas em Inteligência Artifi cial e Aprendizado de Máquina. Também é visto como uma téc- nica de programação de agentes utilizada por meio de punições e recompensas, sem a obrigatoriedade de determinar como uma atividade deve ser executada. Este aprendizado visa solucionar problemas visualizados por um agente que pre- cisa compreender como se portar diante de um ambiente mais dinâmico por meio de algumas interações, como por exemplo, “tentativa e erro”. Dentro de um cenário em que se utiliza o aprendizado por reforço, você irá observar que um agente se insere em um ambiente denominado “T” e esta- belece uma interação com ele por meio de ações e percepções, conforme se visualiza no Diagrama 6. A cada etapa, o agente irá receber uma indicação da situação atual do ambiente. Sendo assim, o agente seleciona uma ação a ser tomada, criando a sua saída. Esta ação muda a situação do ambiente e uma parte desta alteração de estado é comunicada ao agente por meio do chamado “sinal de reforço”, representado pelo símbolo r. Outro conceito que devemos abordar está relacionado à política do agente, que se trata da função estruturadora das condições do ambiente nas atitudes MACHINE LEARNING 29 Machine learning - Unidade1 - Formato A5.indd 29 30/10/2019 16:05:34 que o agente irá tomar. Espera-se que a política que determina qual comporta- mento o agente deve ter selecione atividades que elevem o valor final, que é a soma de todos os reforços adquiridos em um determinado período. Esta polí- tica pode ser compreendida por meio de um procedimento “tentativa e erro”, norteado por algoritmos distintos. DIAGRAMA 6. MODELO PADRONIZADO DE APRENDIZADO POR REFORÇO AGENTE AMBIENTE REFORÇO ESTADO AÇÃO Fonte: DIAS JÚNIOR, 2012. (Adaptado). De maneira formal, é possível entender que este modelo é formado por um agrupamento discreto de estados que o ambiente assumirá; um agrupamento de ações, também discretas, inerentes ao agente em relação ao ambiente e um conjunto de números em nível escalar de reforço, normalmente entre 0 e 1 ou até mesmo com uma série de números reais. Você pode se questionar: qual o papel do agente neste contexto? Bem, cabe ao agente desenvolver uma determinada política capaz de, dentre outras atri- buições, mapear estados em atividades e elevar a medida de reforço a longo prazo. Normalmente este sistema é classificado como não determinístico, ou seja, existe a possibilidade de uma ação executada dentro de um mesmo esta- do ser direcionada à estados distintos, adquirindo valores diferentes para os retornos obtidos. MACHINE LEARNING 30 Machine learning - Unidade1 - Formato A5.indd 30 30/10/2019 16:05:34 Uma característica bastante pecu- liar do aprendizadopor reforço em re- lação ao aprendizado supervisionado é o fato dele não adotar os pares “en- trada/saída” no treinamento. Para que isto ocorra, você deve imaginar a se- guinte sequência: o agente realiza uma ação e de imediato recebe um determi- nado retorno ou recompensa, porém não consegue saber qual ação deveria ser a mais adequada para alcançar a meta, que é elevar ao máximo o retorno a longo prazo. É preciso adquirir certo nível de experiência, dentre outros aspectos, das ações ou transições, para alcançar um nível elevado de otimização. A sequência em que as ações selecionadas pelo agente são executadas aca- bam influenciando, de forma direta, na distribuição dos estados prováveis em um ambiente. Neste contexto, é possível se questionar sobre qual estratégia de experimentação é capaz de gerar um modelo de aprendizagem com um nível elevado de eficiência. Diante desta situação, um aprendiz, por exemplo, terá que escolher entre a investigação dos estados e atividades desconhecidos, visando adquirir novas informações, buscar valores de recompensa mais atrativos. É importante frisar que um agente precisa compreender, por meio das suas interações estabelecidas com o ambiente, qual a política mais adequada para alcançar o seu objetivo. Porém, vale lembrar que este agente não detém o co- nhecimento total sobre as variáveis contidas no processo. E o que fazer diante desta situação? Bem, é preciso que este agente busque políticas alternativas às existentes e compare os resultados obtidos. É como se ele tivesse a pos- sibilidade, mesmo com ações aleatórias, de estabelecer uma taxa da melhor alternativa para obter os resultados esperados. Isto é possível através de um mecanismo denominado de “taxa de exploração”. Este mecanismo pode trazer resultados distintos, de acordo com a intensi- dade da sua utilização. Se esta taxa for extremamente elevada, pode compro- meter a maximização das recompensas e comprometer o objetivo previsto, pois é provável que um agente que explora demasiadamente o seu ambiente pode desprezar o conhecimento adquirido. Neste contexto, o mais interessante é adotar as chamadas “soluções híbridas”, pois a tendência é que o agente siga MACHINE LEARNING 31 Machine learning - Unidade1 - Formato A5.indd 31 30/10/2019 16:05:36 uma sequência mais adequada de aprendizado, onde a taxa de exploração vai se manter alta no início do processo, devido as informações restritas do agente, porém, posteriormente, esta taxa tenderá a se reduzir, pois o agente aproveitará o conhecimento abstraído e consequentemente obter retornos maiores. Em qualquer situação em que se deseje utilizar o aprendizado por reforço, você deverá entender que o agente planeja adotar uma política efi caz para conseguir, ao fi m da realização de uma sequência, a recompensa acumulada com o melhor valor. Vamos compreender esta ideia com maior clareza observando a equação a seguir: ( (ɣ trt ∑∞t=0=EVπ(S) À medida que um sistema estiver em um estado (S), o valor adquirido Vπ (s) é a recompensa adquirida após a realização das ações alinhadas com a política π. Este valor é um somatório das recompensas (rt) adquiridas a cada ação realizada. Caso estas ações sejam executadas posteriormente, terão um peso mais reduzido, porém compensado através do chamado “fator de desconto temporal” (ɣ ). O sistema pode assumir diferentes estados e para cada um deles o valor máximo destinado às recompensas acumuladas alinhadas a uma política oti- mizada π* é estabelecida como: =V*(s) max E (V (s)) π * π Para que você consiga compreender com maior detalhamento estes temas, a aprendizagem por reforço é subdividida nas seguintes subatividades: apren- dizagem por reforço passiva e ativa. Aprendizagem por reforço passiva A aprendizagem por reforço passiva é semelhante à avaliação de política: os dois têm como objetivo descrever quais são as melhores tomadas de decisão para cada estado do ambiente, porém o aprendizado por reforço passivo não conhece o modelo de transição que especifi ca a probabilidade de se alcançar o estado desejado. Da mesma forma, não conhece a função “recompensa” que defi ne a compensação para cada estado. Nesta situação, o agente não sele- ciona as ações a serem realizadas, limitando-se a executar a política e adquirir aprendizado verifi cando se a política adotada é benéfi ca ou não. MACHINE LEARNING 32 Machine learning - Unidade1 - Formato A5.indd 32 30/10/2019 16:05:36 Normalmente, o agente consegue pôr em execução um conjunto de explo- rações presentes no ambiente utilizando uma política fixa. Para cada explora- ção, o agente observa uma série de recompensas mais imediatas denomina- das R, interligadas a cada estado que será atingido. Com isso, espera-se que o agente tenha a capacidade de compreender os valores de utilidade utilizados em cada estado inserido no sistema. Basicamente, existem três técnicas usa- das para a aprendizagem por reforço passivo: a estimativa de utilidade direta, a programação dinâmica adaptativa e a aprendizagem de diferença temporal. Observaremos com mais detalhes a seguir. A estimativa de utilidade direta foi criada no final da década de 50 por Wi- drow e Hoff, na área de teoria de controle adaptativo. Esse método tem como ideia geral calcular as aproximações sucessivas direcionadas às utilidades, par- tindo de um modelo sequencial de explorações dentro do espaço dos estados. Isso implica afirmar que a utilidade de um estado pode ser considerada com a recompensa integral aguardada deste estado e assim por diante. Com isso, cada exploração (teste) apresenta uma amostra de valores para cada estado, à medida que eles são visitados. Você pode se questionar: o que de fato é uma estimativa? Bem, podemos definir uma estimativa como procedimento de aprendizagem supervisionada, onde cada exploração é considerada com um pareamento d= que liga as re- compensas com os estados visitados. Se obtivermos um número relevante de explorações, é possível extrair uma amostra média que consiga convergir para a função utilidade, representada pela equação: ∑ ∞ t=0 =Uπ(s) ɣ tR(St ) π,s0= s Observe que nesta equação, o U* (s) representa a utilidade aguardada para o estado denominado de s e o R (st) simboliza a recompensa adquirida pelo estado (s), dentro do tempo (t) onde o “ɣ ” significa o fator de desconto. Im- portante que você saiba que este método também apresenta limitações, pois não leva em consideração que diversos estados do sistema são dependen- tes. Com isso, a utilidade, de acordo com a equação de Bellman direcionada para uma política fixa, equivale à recompensa do estado especifico acrescida à utilidade aguardada dos seus estados posteriores, conforme se observa na equação a seguir: MACHINE LEARNING 33 Machine learning - Unidade1 - Formato A5.indd 33 30/10/2019 16:05:36 ∑ T (s,π(s),s’) U π (s’)Uπ(s) = R(s) + ɣ Vale frisar que o U*(s) pode ser definido como a utilidade do estado s, de acordo com a política π. A programação dinâmica adaptativa pode ser considerada como um méto- do que tem a capacidade de interpretar os modelos de transição do ambiente levando em consideração as interações ocorridas, partindo da resolução de PDA apropriada. Inserida em ambiente onde a observação é total, esta apren- dizagem se apresenta com aspectos de simplicidade, onde é possível usar uma tabela que estabelece as possibilidades de transição de um estado para outro através de certas ações. Uma PDA, ou programação dinâmica adaptativa, tem vantagens nas restri- ções em relação à utilidade de estados, pois aprende o modelo de transição que os conecta e indica um processo de decisão de Markov. Isso é o mesmo que inserir o modelo de transição aprendido e as recompensas observadas na equação de Bellman para obter a utilidade dos estados. Sendo assim, utiliza as informações já conhecidas a partir de observações (valor de interação oupolítica), o que faz atingir a utilidade ou a política ótima. O modelo de aprendizagem passiva se caracteriza por adotar uma política π fixa. De uma forma interativa, o agente compreende uma estimativa da função de transição de estados e, partindo deste conhecimento e da política pré-esta- belecida, mede uma nova aproximação direcionada para a função de utilidade. A chamada “aprendizagem de diferença temporal” se caracteriza pela ten- tativa de uso do melhor da PDA, além da expectativa da utilidade direta. Es- sencialmente, esta aprendizagem almeja um agrupamento das equações de Bellman, porém sem a necessidade de solucioná-las em todos os prováveis estados. Todo este processo é realizado por meio da adequação dos valores de utilidade dos estados visualizados, depois de cada transição, de maneira que estejam alinhados com as equações de li- mitações de Bellman. Cada estado apresenta um valor da utilidade atualizado através de uma fração existente da utilidade presente e o valor que provavelmente seria recebido no próximo estado. Isto implica afirmar que o método utilizado então é desen- volvido de forma progressiva. MACHINE LEARNING 34 Machine learning - Unidade1 - Formato A5.indd 34 30/10/2019 16:05:36 Observando que a limitação U*(s) = R(s) + U*(s’) precisa ser respeitada, é im- possível visualizar que a transição s s’, Uπ(s)α passa por uma atualização di- recionada em Uπ(s) + R(s). Ao atualizá-la com um nível de proporcionalidade à diferença de utilidades com os consecutivos estados, é possível estabelecer a seguinte equação: Uπ(s) Uπ(s) + α(R(s) + ɣ Uπ(s’ ) - Uπ(s)) Importante deixar claro que o “α” se refere à taxa de aprendizagem. O U*(s) é direcionado, por meio da equação, ao valor determinado pela equação de Bellman para políticas fi xas. Entretanto, vale ressaltar que neste processo é levado em conta somente o estado consecutivo visualizado (s’ ). Em contra- partida, a equação original indica previamente a colaboração dos prováveis estados consequentes. Extremamente relevante compreender que um método, mesmo que seja aproximativo, não interfere na utilização da regra de atualização, que atinge um valor médio de U*(s). Este valor normalmente tenderá ao valor exato de acordo com o estado s, que é visitado constantemente. Porém, vale frisar que essa convergência ocorre em um nível mais lento em relação à convergência adquirida através de um algoritmo de PDA, onde a vantagem da DT está re- lacionada à sua simplicidade, já que não solicita um modelo de transições e aproxima os vetores de uso de acordo com os estados observados. Aprendizagem por reforço ativa O problema da aprendizagem por reforço ativa não consiste apenas da des- coberta de uma função de utilidade, mas também na escolha de uma política de ações que aumente a recompensa esperada no futuro. O comportamento de um agente de aprendizagem passiva tem uma política fi xa, já um agente de aprendizagem ativa precisa decidir quais ações executar. Para planejar um agente que tenha a habilidade em agir, é possível iniciar partindo do modelo com referência na PDA. De imediato, o agente irá instruir- -se de um modelo de probabilidades para posteriormente selecionar a ação que o transfi ra ao estado de utilidade mais elevada. As utilidades podem ser mensuradas através da equação de Bellman, para situações comuns. MACHINE LEARNING 35 Machine learning - Unidade1 - Formato A5.indd 35 30/10/2019 16:05:37 É possível perceber, nesta situação, que o chamado “operador de maximiza- ção” estabelece uma não linearidade. O que isto significa? Bem, neste caso a não linearidade torna mais difícil a resolução do sistema. Normalmente, a aquisição dos valores de utilidade ocorre por meio da utilização de um algoritmo padroni- zado direcionado ao PDM, como o de interação de política, por exemplo. Importante que você compreenda que um agente que realiza de maneira imediata a política que coloca o estado em um nível de maior utilidade é deno- minado agente guloso, já que a sua atuação ocorre alinhada com o modelo de ambiente aprendido a cada fase. Entretanto, vale ressaltar que pode surgir um problema, pois o modelo de ambiente referente a cada fase pode representar o ambiente real. Com isso você irá notar que um agente guloso dificilmente con- segue atuar alinhado com a política ideal, com a possibilidade de ficar atrelado ao uso de políticas de baixa qualidade. Então você pode se questionar: como solucionar estas questões? Bem, é visível a necessidade de buscar uma política de nível elevado de exploração que consiga simbolizar em que intensidade o agente deve se atrever em novos estados. De fato, este problema apresenta uma solução complexa, entretanto é possível al- terar a equação Bellman para estabelecer a chamada “utilidade otimista”, que é definida como uma inserção de um terno que avalia, de forma positiva, a expecta- tiva de estados de utilidade elevada. Uma alteração básica na equação de Bellman assegura uma convergência acelerada para políticas consideradas ótimas. No que se refere à aprendizagem Q, é possível defini-la como um método que realiza uma adequação da DT na possibilidade de não haver uma política de onde a ação seja fixada. É por meio desta aprendizagem que o agente consegue compreender uma simbologia denominada de ação – valor ou “valor Q”, no lugar de entender as utilidades de forma direta. Diante disso é possível estabelecer uma ligação entre e o valor de Q e o valor de U, conforme a equação a seguir: U(s) = max aQ(a,s) Podemos compreender que o Q (a,s) simboliza o valor de execução da ação a dento do estado s. O principal benefício de arquivar informações de uso na forma de valores Q é o fato de o aprendizado ser independente à existência de um modelo. A partir daí, é realizada uma ligação entre o valor de Q com o valor estabelecido para estados vizinhos, resultando na equação: MACHINE LEARNING 36 Machine learning - Unidade1 - Formato A5.indd 36 30/10/2019 16:05:37 Q(a,s) Q(a,s) + α(R(s) + ɣ max a’ Q(a’, s’) - Q(a,s)) Para calcular esta equação, é necessário que a ação “a” seja realizada no estado s e posteriormente transferida ao estado s. É preciso levar em consi- deração que este método objetiva um período mais extenso para realizar a conversão, já que não apresenta um modelo de possibilidades de transição, sobretudo em ambiente com elevado nível de complexidade. CURIOSIDADE O programa de jogo de dama escrito por Arthur Samuel em 1959 foi a pri- meira aplicação significativa de aprendizagem por reforço. Utilizou-se pela primeira vez uma função linear ponderada a fim de avaliar as posições. Analisando os ambientes dinâmicos, é possível definir algumas soluções. Uma solução viável e de certa forma custosa ao sistema é assegurar uma série de modelos de ambientes, atrelados às suas políticas respectivas. Uma alter- nativa seria os modelos parciais, porém não são recomendados, já que estas abordagens precisam de um número determinado de modelos. Outra possibilidade é o desenvolvimento incremental de novos modelos. Nesta abordagem, é preciso entender que as alterações ocorridas no ambien- te são limitadas a uma quantidade reduzida de contextos, que são conheci- dos como ambientes estacionários e com dinâmicas diferentes. Importante frisar que o contexto atualizado não é visualizado de maneira direta, porém pode ser estabelecido de maneira alinhada com os modelos de transição e recompensas visualizadas. As alterações no contexto do ambiente se carac- terizam pela independência da ação do agente e pela falta de frequência em que ocorrem. Dentro de um cenário de tráfego, é impor- tante notar que as suposições estabelecidas anteriormente indicam que os padrões de flu- xo não podem ser classificados como não esta- cionários, porém eles podem ser partilhados em dinâmicas estacionárias sem conhecimento anterior. Aos modelos são inseridas políticasótimas que ser- vem para determinar uma predição de falhas de transi- MACHINE LEARNING 37 Machine learning - Unidade1 - Formato A5.indd 37 30/10/2019 16:05:37 ções e recompensas. O objetivo é medir a qualidade de um determinado modelo parcial. O desenvolvimento de modelos novos é guiado por uma análise cons- tante de predição de erro criada e inserida aos modelos parciais, de maneira individualizada. Estes modelos apresentam transições e recompensas avaliadas. Outro ponto a ser observado é o fato dos métodos clássicos baseados em AR que podem ser utilizados para calcular de forma local, uma política ótima em cada modelo parcial. Na medida do possível, o sistema irá reutilizar mo- delos já existentes e não desenvolver outros modelos novos, já que estes são desenvolvidos somente na circunstância de não haver modelos com um valor de falha inferior a um limiar estabelecido. MACHINE LEARNING 38 Machine learning - Unidade1 - Formato A5.indd 38 30/10/2019 16:05:37 Sintetizando A área de Inteligência Artificial vem apresentando as suas habilidades, onde uma máquina consegue executar ações que são comumente realizadas pelas ações humanas, por meio do raciocínio e do conhecimento. A atitude inteli- gente se relaciona com a sua criação, o uso e aplicação do conhecimento. Esta sequência é essencial para o desenvolvimento de um sistema inteligente. Neste contexto, é importante evidenciar sobre o Aprendizado de Máqui- na, ou Machine Learning, bastante usual da atualidade. Inicialmente as lei- turas ligadas a estes temas geralmente eram recheadas de teoremas e uma indicação de empregos e salários atrativos. Para o AM ser realizado, é neces- sário um nível mais elevado de amostras, o que facilita o uso de padrões e a previsão de resultados. Este modelo de aprendizado está relacionado basica- mente a três componentes: dados, variáveis e algoritmos. Inserido dentro deste cenário, o aprendizado por reforço pode ser utiliza- do em casos de problemas ligados ao ambiente em que se vive. Tem grande influência em diversas áreas do conhecimento como, por exemplo, a psicolo- gia. É compreendido com um método de programação de agentes adotada através de punições e recompensas. Este aprendizado busca resolver situa- ções observadas por um agente que necessita entender como se comportar em um ambiente mais dinâmico através das interações. MACHINE LEARNING 39 Machine learning - Unidade1 - Formato A5.indd 39 30/10/2019 16:05:37 Referências bibliográficas CASTRO, G. R. Discussão conceitual sobre dado, informação e conhecimen- to: perspectiva dos alunos concluintes do curso de Biblioteconomia da UFPB. 2011. 51 f. Trabalho de Conclusão de Curso (Biblioteconomia) - Universidade Federal da Paraíba – UFPB, João Pessoa, 2011. Disponível em: <http://www. ccsa.ufpb.br/biblio/contents/tcc/tcc-2011/discussao-conceitual-sobre-dado-in- formacao-e-conhecimento.pdf>. Acesso em: 31 jul. 2019. DIAS JUNIOR, E. P. F. Aprendizado por reforço sobre o problema de revisita- ção de páginas web. Dissertação (Mestrado em Informática). PUC-RIO, Rio de Janeiro, 2012. Disponível em: <http://www2.dbd.puc-rio.br/pergamum/tesesa- bertas/0912826_2012_cap_3.pdf>. Acesso em: 31 jul. 2019. DEEPLEARNING. WekaDeeplearning4j: deep learning using Weka. Disponível em: <https://deeplearning.cms.waikato.ac.nz/>. Acesso em: 31 jul. 2019. GOLDSCHMIDT, R.; PASSOS, E.; BEZERRA, E. Data mining. 2. ed. Amsterdã: El- sevier, 2015. E-book. MACHADO, V. P. Inteligência artificial. Teresina: Editora EDUFPI, 2011. MITCHELL, T. M. Machine learning. New York: McGraw-Hill, 1997. O QUE É MACHINE learning (inteligência artificial)? Postado por Marcelo Tas. (5 min. 22 s.). Disponível em: <https://www.youtube.com/watch?v=Z1YHbl- 0lh88>. Acesso em: 31 jul. 2019. PADILHA, V. A.; CARVALHO, A. C. P. L. F. Mineração de dados em Python. ICMC/USP. 2017. QUILICI-GONZALEZ, J. A.; ZAMPIROLLI, F. A. Sistemas inteligentes e minera- ção de dados. Assis: Triunfal Gráfica e Editora, 2014. REZENDE, S. O. Sistemas inteligentes: Fundamentos e Aplicações. Barueri: Manole. 2005. RUSSELL, S. J.; NORVIG, P. Artificial intelligence: a modern approach. 3. ed. Upper Saddle River: Prentice Hall, 2009. SIQUEIRA, M. C. Gestão estratégica da informação. Rio de Janeiro: Brasport, 2005 VASCONCELLOS, M. J. E. Pensamento sistêmico: O novo paradigma da Ciência. Campinas: Papirus 2002. MACHINE LEARNING 40 Machine learning - Unidade1 - Formato A5.indd 40 30/10/2019 16:05:37
Compartilhar