CIÊNCIA DA COMPUTAÇÃO 2 SÉRIE ALMANAQUE PARA POPULARIZAÇÃO DE Inteligência Artificial E=mc² VOLUME 6 Aprendizado Baseado em Modelos Probabilísticos Guilherme de Oliveira Amorim Albert Santos Barbosa Maria Augusta Silveira Netto Nunes Jones Granatyr A654a Aprendizado baseado em modelos probabilísticos / Guilherme de Oliveira Amorim... [et al.]. – São Cristóvão : Editora JAndrade, 2015. 24 p. : il. – (Almanaque para popularização de ciência da computação. Série 2, Inteligência artificial ; v. 6) ISBN 978-85-8253-110-5 1. Aprendizado do computador. 2. Inteligência artificial. 3. Probabilidades. I. Amorim, Guilherme de Oliveira. II. Série. CDU 004.85(059) ALMANAQUE PARA POPULARIZAÇÃO DE CIÊNCIA DA COMPUTAÇÃO SÉRIE 2: INTELIGÊNCIA ARTIFICIAL VOLUME 6 Aprendizado Baseado em Modelos Probabilísticos Guilherme de Oliveira Amorim Albert Santos Barbosa Maria Augusta Silveira Netto Nunes Jones Granatyr Essa cartilha foi desenvolvida como atividade do projeto de extensão para popularização de Ciência da Computação em Sergipe apoiado pela PROEX-UFS e pelo projeto MCTI/CNPq/SPM-n° 420160/2013-2, intitulado: Popularizando e fomentando o ingresso de meninas sergipanas na área de Ciências da Computação, Engenharia da Computação e Sistema de Informação, visando a crescente demanda de profissionais no contexto estadual, nacional e internacional da área de TI. É também vinculado ao projeto da Bolsa de Produtividade CNPq–DTII coordenado pela profa. Maria Augusta Silveira Netto Nunes em desenvolvimento no Departamento de Computação/Programa de Pós-graduação em Ciência da Computação (PROCC) – UFS. O público alvo das cartilhas são jovens pré-vestibulandos e graduandos em anos iniciais. O objetivo é fomentar ao público sergipano e nacional o interesse pela área da Ciência da Computação. As cartilhas da série sobre Inteligência Artificial descrevem a área da Ciência da Computação que busca simular a inteligência humana por meio de dispositivos e softwares. Essa cartilha mostra uma linha de estudo chamada de Aprendizado Baseado em Modelos Probabilísticos (ABMP). O ABMP é usado quando se quer que o computador aprenda, e um exemplo prático é a classificação de pessoas como crianças, adultas e idosas utilizando fotos. O toque para o intervalo de aula soa. Essas balas não vão durar nem um minuto! 05 João, João, me deixa pegar uma? Por favor! Pode tirar uma, José! Eu deixo. Fazer o que, não é? Oba! Posso tirar mais? Por favor! Não! Apenas uma! ... 06 Por favor, pessoal! Cada um tire uma só! E=mc² João, eu também vou querer uma. E=mc² Pessoal, sabiam que o que aconteceu agora pode explicar um fenômeno da estatística? E=mc² 07 Um dos próximos assuntos que vamos abordar em sala de aula é sobre probabilidade. É tentar prever as coisas, professor? E=mc² Vocês poderiam me dizer ou dar algum exemplo de que seria probabilidade? É uma boa resposta, João. E=mc² A probabilidade é utilizada em circunstâncias que não temos a certeza de que algo irá acontecer e são associadas chances a cada possibilidade de acontecer. E=mc² Ah, é como se disséssemos, “Será que amanhã vai chover?”. 08 Isso, José! É tentar adivinhar algo que irá acontecer. Ou mesmo, “Qual a probabilidade de José ter tirado uma bala com sabor cereja do saco de balas?”. ²cE=m m==c²mc² EE Ah, entendi! Seria algo como qual a probabilidade de sair balas de cereja ou limão? Não é isso? Como assim? Exatamente José! Com isso temos o conjunto de nossas probabilidades, que m==c²mc² nada mais é do que ²cE=m EE provar uma afirmação que fazemos sobre algo que pode acontecer. Bom, vamos supor que todas as balas que serão retiradas do saco de balas sejam de limão. Essa é nossa afirmação. Agora precisamos prová-la, a partir de cada bala que retiramos do saco. Se todas as balas retiradas forem de limão, conseguimos comprovar nossa afirmação. 09 E=m Então, por exemplo, se tirássemos 10 balas, todas de limão, a probabilidade de que a próxima retirada seja, também, uma bala de limão é bem grande, não é isso? Mas, com relação a prever as coisas, como isso funciona, professor? Exato! Com isso, poderíamos afirmar²cm ² c² mc = que nossa hipótese E=m = E E está se tornando verdade. Pois é, João. Podemos fazer um computador prever acontecimentos, por exemplo, dando um modelo estatístico como esse do saco de balas, que estamos discutindo. Não é bem assim! Ele dá um indício de que algo vai acontecer. Pode ser um indício forte ou fraco, ou seja, uma chance bem alta de acontecer ou uma chance pequena. Sério? Ele pode prever os números da loteria? 10 Ah, entendi. Então o computador vai aprendendo a cada evento, não é? Você está compreendendo. É esse o caminho! A cada retirada de bala o computador vai armazenando esses dados, calculando eles e, tentando prever o próximo passo. ²cE=m m==c²mc² EE É de forma incremental: primeiro o computador vai aprendendo, digamos que ele é treinado, para depois poder usar o que aprendeu para prever as situações. É o que chamamos Aprendizagem de Máquina. Uma das diversas técnicas da Inteligência Artificial. E=mc² Mas o que é Inteligência Artificial? É como vemos nos filmes? 11 Em partes sim, mas sem tantos exageros como supercomputadores controlando tudo e a todos. A Inteligência Artificial é uma área da Ciência da Computação que tenta elaborar soluções que simulem a capacidade humana de raciocinar, perceber, tomar decisões e resolver problemas: a capacidade de ser inteligente. Mas, pessoal, e se cada bala tivesse uma embalagem colorida, verde e vermelho? As coisas mudariam? Acho que sim, professor. Seria mais complicado de calcular, não? Pois agora, além de saber qual o sabor da bala, sabemos também a cor do saquinho. Como é isso? E=mc² E=mc² É, a coisa só muda um pouco. Dessa vez nós temos duas variáveis, o sabor e o saquinho da bala que pode ser verde ou vermelho. Primeiro temos a probabilidade de aparecer o sabor cereja ou limão e, logo após, a chance de uma bala com esses sabores aparecerem dentro de um saquinho verde ou vermelho. 12 Por exemplo, qual a probabilidade ²cm c² c² m de uma bala de cerejaE=m E==E aparecer em um saquinho verde? Esse é o raciocínio! Temos que dividir o nosso conjunto de probabilidades. O matemático inglês Thomas Bayes, por volta dos anos de 1700, foi quem definiu as fórmulas que usamos para esses problemas. Com elas podemos montar funções matemáticas que nos retornam valores numéricos capazes de representar nossas afirmações e probabilidades. O jogo de cara e coroa funciona assim, não é? Temos cinquenta por cento de chances do lado da moeda ser o que escolhemos, a cada jogada. O saquinho vermelho não é usado nesse cálculo, pois não faz parte da nossa afirmação. Então, é calculado o valor que corresponde a uma bala de cereja dentro de um saquinho verde e o valor que corresponde a uma bala de limão dentro de um saquinho também verde. Bom exemplo José! Continuando com o exemplo das balas! Podemos dizer que a probabilidade de uma bala sabor cereja estar dentro de um saquinho verde é dada pelas variáveis: sabor de cereja e saquinho verde. Entendi! Assim, temos os valores para cada variável que queremos analisar, e com isso observamos qual a hipótese com maior probabilidade de acontecer. Perfeito, João! E=mc² 13 Mas, professor, só existe esse método? Só Bayes que ajudou os computadores a aprenderem? Não, José. Outro grande matemático, Johann Carl Friedrich Gauss, também contribuiu para o que chamamos de modelo Gaussiano Linear, por volta E=mc² de 1800. O modelo proposto por Gauss trabalha com média e desvio padrão. A média é algo com que nos deparamos no dia-a-dia, como quando queremos saber a nossa média do bimestre. A média de um conjunto de valores numéricos é a soma de todos estes valores dividida pelo número de elementos somados. Já o desvio padrão, é obtido através da média e nos diz se há muita variação de cada valor em relação à média. Através dos dois representamos a maior probabilidade para uma afirmação, ou seja, a maior chance de um evento, como chover amanhã, acontecer. Com apenas duas características? Só isso? E porque Bayes utilizava vários? Isso, José. Com apenas dois! Bayes se utilizou de vários, no nosso exemplo das balas até dois, pois ele tratou diretamente com os eventos, ou seja, a hipótese de uma bala de cereja estar em um saquinho verde, por exemplo. Já Gauss utiliza uma amostra do nosso conjunto. 14 E=mc² E=mc² Exatamente! Porém, não se trata apenas das balas, mais sim da ação de retirar Como assim, uma amostra? Então Gauss não usa todas as balas do saco de balas, é isso? uma bala do saco. Então ele usa apenas uma parte do número total dessas ações e faz uma suposição para o restante das ações. ²cE=m m==c²mc² EE Ainda em Bayes, podemos agrupar os conjuntos de probabilidades que construirmos, formando assim uma Rede Bayesiana, que nada mais é do que a tentativa de tirar a probabilidade de afirmações com muitas características. É o que a gente chama de Aprendizagem por Estrutura. Existem mais técnicas? Existem sim. E=mc² Temos a Aprendizagem por Variáveis Ocultas, por exemplo. 15 Variáveis ocultas? Então não vale de nada, pois não podemos ver. HAHAHA! Existem variáveis desconhecidas, e o desafio, aqui, é determinar as variáveis ocultas a partir das variáveis que já temos e, as novas variáveis encontradas podem então serem usadas para realizar novas análises. E=mc² Como assim, professor? Mas vamos lá: podemos aplicar um sistema de computação que forma agrupamentos com nossos dados e tenta distinguir categorias dentro de uma coleção de dados. Então, com a entrada de um dado novo, o computador aprende a classificá-lo mais facilmente. 16 São mais avançadas. mc² E=técnicas É preciso ter um conhecimento maior sobre a Ciência da Computação e, principalmente, sobre Inteligência Artificial. E=mc² Encontrar grupos de objetos tal que objetos em um grupo são similares ou relacionados uns aos outros e diferentes ou não relacionados a objetos em outros grupos, por exemplo, separar documentos de texto por nome, data, tipo de documento, ou mesmo, separar um conjunto de pessoas em torcedores de um time ou de outro. Agrupamentos? O que seria isso, professor? E=mc² Ah, fica mais fácil de entender quando falamos de futebol! Temos também a aprendizagem baseada em instâncias. O que seria? Alguém tem ideia? 17 E=mc² Pelo nome, talvez seja algo como aprender com exemplos? Algo assim? É bem isso, João! Estou sentindo que você vai escolher Ciência da Computação no vestibular. As instâncias são conjuntos de probabilidades usados para o treinamento de computadores. A cada nova instância, por exemplo, o computador calcula a distância entre o anterior e o novo. E essas distâncias são os valores que utilizamos para fazer com que o computador aprenda. E=mc² Entenderam? Quanto menor a distância entre um modelo e outro, temos mais certeza de que determinado dado é de um grupo ou de outro. Isso acontece com os filmes que a Netflix nos recomenda, por exemplo. Nossa! É muito extensa a área de Aprendizado de Máquina, não é? E=mc² Onde podemos estudar sobre essas coisas? É uma área vasta, sim. Existem diversas técnicas e muitas ainda estão surgindo. 18 Aqui no estado, temos o curso de mestrado da Universidade Federal de Sergipe. Tem uma linha de pesquisa com foco voltado para Inteligência Artificial. Mas, antes disso, vocês ainda tem a graduação e, antes ainda, precisam terminar o ensino médio e passar no vestibular. Isso é claro, se vocês escolherem a Ciência da Computação. Mas ainda têm muito que conhecer antes de decidir sobre qualquer coisa. É, mas gostei disso de fazer um computador aprender. Muito interessante! ² E=mc Então vamos para a aula estudar para que isso se realize que já vai tocar o sinal. Eu já tinha guardado, mas pode pegar mais uma! Eu também gostei. Vou ser um cientista da computação quando eu crescer. Mas antes, João, me dá mais uma bala? Tenho certeza que vou pegar uma de cereja dessa vez. Acertei! Não disse que seria de cereja?! Fim! 19 BIBLIOGRAFIA RUSSELL, Stuart; NORVIG, Peter; INTELLIGENCE, Artificial. A modern approach. Artificial Intelligence. Prentice-Hall, Egnlewood Cliffs, v. 25, 1995. Mais cartilhas e informações sobre temas diversos da computação em http://200.17.141.213/~gutanunes/publication.html SOBRE OS AUTORES ALBERT SANTOS BARBOSA Bolsista PAEX, Criando ilustrações das cartilhas informativas para popularização da Ciência da Computação em Sergipe.Graduando em Design Gráfico pela Universidade Federal de Sergipe (2012.1). Possui experiência na área do Design gráfico, com ênfase em ilustração. Guilherme de Oliveira Amorim Bolsista FAPITEC mestrando em Computação Inteligente com ênfase em Análise de Sentimento e Personalidade pela Universidade Federal de Sergipe. Atuou na área de Análise de Testes, como Tester pelo Cin, Centro de Informática da Universidade Federal de Pernambuco, em parceria com a Motorola. Atuou, também, como desenvolvedor de software pela Universidade Federal de Alagoas, Campus Arapiraca, em projetos com ênfase em Biotecnologia e Desenvolvimento de Aplicações Desktop, ambos utilizando a Plataforma Java e sistema gerenciador de banco de dados PostgreSQL. Jones Granatyr Doutorando em Informática bolsista da CAPES e Mestre em Informática bolsista do CNPq (2011), ambos na área de Inteligência Artificial. No mestrado trabalhou dentro do contexto do projeto PAI-L (Piloto Automático Inteligente para Locomotivas) financiado pela FINEP (Financiadora de Estudos e Projetos), o qual teve como objetivo o desenvolvimento de um software inteligente para condução de locomotivas de carga. Possui Especialização em Segurança em Redes de Computadores e Banco de Dados Distribuídos (2007) e Graduação em Sistemas de Informação (2004). Trabalha em projetos de pesquisa relacionados a área Inteligência Artificial, tais como Sistemas Especialistas, Mineração de Dados, Mineração de Textos, Sistemas Multiagente, Aprendizagem de Máquina e Computação Afetiva. Entre os anos de 2011 e 2012 foi bolsista de produtividade nível B1 do CNPq, trabalhando com Raciocínio Baseado em Casos no software JUSTINIA (Justiça Inteligente Apoiada em Inteligência Artificial). Em 2010 teve sua empresa contemplada com financiamento modalidade subvenção econômica da FINEP vinculado ao projeto PRIME (Primeira Empresa Inovadora). Atualmente é líder do grupo de pesquisa de Inteligência Computacional do CNPq e Universidade do Contestado. É também membro do grupo de pesquisa de Agentes de Software da Pontifícia Universidade Católica do Paraná. Leciona na Universidade do Contestado - SC no curso de Ciência da Computação e na União de Ensino do Sudoeste do Paraná - UNISEP de Francisco Beltrão - PR no curso de Sistemas de Informação.ação de pessoas como crianças, adultas e idosas utilizando fotos. Maria Augusta Silveira Netto Nunes Bolsista de Produtividade Desenvolvimento Tecnológico e Extensão Inovadora do CNPq Professor Adjunto III do Departamento de Computação da Universidade Federal de Sergipe. Membro do Programa de Pós-graduação em Ciência da Computação (PROCC) e do Programa de Mestrado em Ciência da Propriedade Intelectual (PPGPI) na UFS. Doutora em "Informatique pela Université de Montpellier II - LIRMM em Monpellier, França (2008). Realizou estágio doutoral (doc-sanduiche) no INESCID- IST Lisboa- Portugal (ago 2007-fev 2008).É mestre em Ciência da Computação pela Universidade Federal do Rio Grande do Sul (1998) e possui graduação em Ciência da Computação pela Universidade de Passo Fundo (1995) . Possui experiência acadêmico- tecnológica na área de Ciência da Computação e Inovação Tecnológica-Propriedade Intelectual. É membro da Câmara de Assessoramento em Inovação da FAPITEC/SE . É membro da Associação Sergipana de Ciência. É exEditora-Chefe da Revista Scientia-Plena. É Membro da CEIE-SBC. É ex-bolsista CNPq-SEBRAE como Orientadora ALI-SE (Agentes Locais de Inovação).Possui também experiências Academico-administrativas como Coordenadora de Curso de Graduação, Pos-graduação e Chefia de Departamento. Atualmente, suas pesquisas estão voltadas, principalmente na área de inovação Tecnológica usando Computação Afetiva na tomada de decisão Computacional, principalmente visando a personalização em ambientes de E-commerce via Sistema de Recomendação. Recomendação de equipes de trabalho em Empresas, e-training. Atua nas áreas de Inteligência Artificial, Interação Homem-Máquina, Computação Afetiva, Educação a Distância, Informática na Educação, Acessibilidade. Atua também em Inovação Tecnológica, Propriedade Intelectual capacitando empresários na área de TI e fornecendo consultoria em Registro de Software e patente. Seus projetos acadêmico-tecnológicos, geralmente, são multidisciplinares (envolvem áreas como E-commerce, Psicologia, Tecnologia da Informação e Comunicação, Educação, A c e s s i b i l i d a d e ) . h t t p : / / w w w. p e r s o n a l i t y r e s e a r c h . u f s . b r / http://scholar.google.com.br/citations?user=rte6o8YAAAAJ Gestora do Convênio de cooperação internacional n 1888.090/2012-UFS -Université de Montpellier II Portaria n 0136-21 de janeiro 2013, Processo n 23113.002869/12-98. AGRADECIMENTOS Expressamos nossos agradecimentos ao DCOMP, PROCC, CNPq e FAPITEC. APOIO: ISBN: 978-85-8253-110-5