• Nenhum resultado encontrado

SIMULAÇÃO DE UM APRENDIZ INFORMAL COM ALGORITMO EVOLUCIONÁRIO

N/A
N/A
Protected

Academic year: 2021

Share "SIMULAÇÃO DE UM APRENDIZ INFORMAL COM ALGORITMO EVOLUCIONÁRIO"

Copied!
6
0
0

Texto

(1)

SIMULAÇÃO DE UM APRENDIZ INFORMAL COM ALGORITMO

EVOLUCIONÁRIO

Breno Antunes

Sistemas de Informação CEATEC bee_zaum@hotmail.com

Carlos Miguel Tobar Toledo

Sistemas Inteligentes

CEATEC

tobar@puc-campinas.edu.br Resumo: Este documento apresenta o resultado de

um projeto de Iniciação Científica cujo objetivo é a modelagem de um aprendiz informal que possa, através de simulação, criar um conjunto artificial de avaliações, que sejam próximas da realidade, para que seja usado em recomendações. O documento apresenta como foi desenvolvido um sistema que percorre uma matriz esparsa e avalia recursos edu-cacionais que ainda não foram avaliados pelos seus usuários. O sistema utiliza um algoritmo evolucioná-rio e foi avaliado para saber se os resultados obti-dos estão próximos da realidade.

Palavras-chave: Recomendação educacional,

Al-goritmo evolucionário, Modelagem de agente.

Área do Conhecimento: Ciências Exatas e da

Ter-ra, Ciência da Computação.

1. INTRODUÇÃO

Devido ao grande crescimento da Web, que aumen-ta cada dia mais, esaumen-ta recebe mais recursos e vem se tornando um ótimo meio para estudos para todas as pessoas que a utilizam. Entre os recursos salien-tam-se os denominados de aprendizado, que permi-tem o ganho de conhecimento ou de habilidades para quem tem interesse em aprender. Existem muitos recursos e os usuários começaram a se per-der entre eles, não sabendo quais seriam bons. Por isso, perde-se muito tempo procurando bons recur-sos.

Foi necessário o desenvolvimento de sistemas re-comendadores, que recomendam recursos de acor-do com o perfil acor-do usuário, que facilitam muito a sua vida.

Os sistemas recomendadores dependem que os usuários avaliem os recursos, classificando-os entre bons e maus. Depois, quando aparece um usuário a procura de um determinado assunto, o sistema re-comendador avalia o perfil do interessado, conecta seu perfil a outros perfis e então recomenda os bons recuros, que já foram avaliados.

Um dos maiores problemas desses sistemas reco-mendadores é quando um recurso não foi muito avaliado, pois estes não têm base para realizar as

recomendações. Outro problema é o aparecimento de um novo recurso, sem avaliações.

O projeto de Iniciação Científica (IC), descrito neste resumo, foi elaborado para que fosse simulado um aprendiz capaz de avaliar os recursos não avalia-dos, produzindo avaliações que fossem consisten-tes com a realidade, ou seja, um sistema deveria ser desenvolvido para que se percorresse uma matriz (recursos x aprendizes - usuários), procurando re-cursos que não foram avaliados. Quando encontra-dos, o sistema simularia o respectivo aprendiz, que não avaliou o recurso, e geraria avaliações com base em avaliações de aprendizes que têm perfil parecido com o do aprendiz alvo, utilizando um al-goritmo evolucionário, também conhecido como algoritmo genético [1].

Pouco antes de começar a etapa de desenvolvimen-to do sistema, a pedido do orientador, foi iniciado um trabalho para terminar a avaliação de um projeto anterior muito similar ao planejado, simulação de um aprendiz formal com algoritmo evolucionário [2], e que, após o término da avaliação, fosse adaptado ao fato do aprendiz desejado ser informal. O siste-ma desenvolvido anteriormente utiliza os mesmos algoritmos que seriam necessários no projeto dese-jado.

Quando começada a fase de avaliação do projeto anterior, foram encontrados alguns problemas. Hou-ve, então, a necessidade da correção de defeitos. Neste documento são abordados assuntos referen-tes ao projeto de IC como: método de desenvolvi-mento, definições de algoritmo e entidades, mudan-ça no projeto anterior, avaliação de resultados e conclusão.

2. MÉTODO DE DESENVOLVIMENTO

A proposta do trabalho de IC consistiu em uma pes-quisa empírica, com o objetivo de chegar a novas conclusões, através de aplicações experimentais de resultados e conhecimentos provenientes de outros estudos realizados.

O método de desenvolvimento proposto e utilizado para o trabalho de IC foi composto por levantamento

(2)

bibliográfico, desenvolvimento de um artefato com-putacional e então avaliação dos resultados. O objetivo do levantamento bibliográfico foi a intro-dução do tema, dos conceitos envolvidos no projeto e dos algoritmos que poderiam ser utilizados. Isto permitiu que fossem feitas pesquisas de artigos para entender estes tópicos.

O desenvolvimento de um artefato computacional era necessário para que o bolsista tivesse a experi-ência de um desenvolvimento de software e o a-prendizado para conseguir fazer este desenvolvi-mento. Isto também foi fundamental para entender os algoritmos e para que a avaliação dos resultados pudesse ser feita com êxito.

A avaliação seria necessária para perceber se o objetivo do trabalho foi alcançado ou não.

3. DEFINIÇÕES

Para o desenvolvimento do sistema e a avaliação do mesmo, foi necessário fazer o levantamento bibliográfico para que fossem entendidos os concei-tos e definidos o algoritmo e as características das entidades envolvidas: aprendizes, recursos e avali-ações.

3.1 Algoritmo

Como algoritmo proposto no plano de trabalho, foi utilizado o algoritmo evolucionário, também conhe-cido como algoritmo genético. Este é inspirado no princípio da genética para simular as avaliações dos recursos.

O objetivo do algoritmo é encontrar recursos dentro de uma matriz de recomendação, que ainda não foram avaliados por um aprendiz (usuário). Uma vez encontrados, estes são avaliados simulando o a-prendiz.

O algoritmo começa procurando dentro de uma matriz (aprendiz x recursos) um aprendiz que não tenha avaliado um ou mais recursos, este torna-se o aprendiz alvo. Então, localiza um dos recursos não avaliados, que torna-se o recurso alvo.

Após o aprendiz e recurso alvos serem encontra-dos, o algoritmo verifica se é possível que aquele aprendiz avalie o recurso. Checa se o idioma do recurso é entendido pelo aprendiz e também se a idade do aprendiz é apropriada para a idade máxi-ma e mínimáxi-ma recomendada para o recurso. Se tudo estiver certo (aprendiz compatível com o recurso), o algoritmo segue para o próximo passo.

No passo seguinte, o algoritmo verifica se na matriz existem pelo menos dois outros aprendizes que tenham avaliado o recurso alvo e que sejam simila-res ao aprendiz alvo. É necessário que sejam pelo

menos dois, para se conseguir realizar a simulação. Ser similar significa que tenham características pa-recidas, como idade, idiomas falados, área de inte-resse e área de estudos.

Caso o algoritmo ache, pelo menos, os dois apren-dizes similares necessários, começa a primeira eta-pa do algoritmo evolucionário, que é fazer o cruza-mento das avaliações. Esta parte funciona do se-guinte modo: as avaliações dos aprendizes simila-res são separadas em duplas, “pai” e “mãe”, consi-derando-se cada característica avaliada (classifica-ção, qualidade técnica, facilidade de uso e relevân-cia de aprendizagem) para que sejam gerados dois filhos, que são duas novas avaliações. Considera-se o conjunto de características como uma lista que sofre um corte em um ponto aleatório que separa as características. Uma vez realizado o corte das duas avaliações, as partes resultantes são combinadas, uma com a primeira parte da avaliação do pai e a segunda parte da avaliação da mãe, e a outra com a primeira parte da mãe e a segunda parte do pai. O processo de cruzamento é ilustrado na Figura 1.

Figura 1 – Processo de cruzamento e filhos resultan-tes.

Após o processo de cruzamento ter terminado, ini-cia-se o processo de mutação. É sorteada uma das características da avaliação de cada filho aleatoria-mente para sofrer mutação. Como as avaliações podem ir de 0 a 5, estas são transformadas em 3 bits (0,1,2) que podem estar ligados ou desligados para formar os números, por exemplo: se a avalia-ção simulada for 3 os bit ‘0’ (2º=1) e ‘1’ (2¹=2) esta-rão ligados, os resultados dos bits ligados (repre-sentados por “x”, são mostrados na Tabela 1.

(3)

No processo de mutação, é sorteado um dos bits. Caso o bit esteja ligado ele é desligado ou vice-versa, assim trocando o valor da avaliação do filho devido a uma mutação, como mostra na Figura 2. Note que o valor 5 da quarta característica foi subs-tituído por um, pois seu terceiro bit que estava liga-do foi desligaliga-do.

Figura 2 – Processo de mutação dos filhos.

Depois da mutação os filhos passam por uma fun-ção chamada fitness, que avalia se a avaliafun-ção está de acordo com a realidade, ou seja, se o seu valor está entre 0 e 5, que é o permitido. Caso não esteja, essa avaliação é descartada. Caso esteja, a mesma é inserida em uma lista de avaliações aptas como um filho apto.

Após uma avaliação filho ser inserido na lista de filhos aptos, o mesmo processo é refeito, até todas as combinações de pais e mães terminarem. Todos os pais e mães, que foram selecionados por serem similares ao aprendiz alvo e terem avaliado o recur-so alvo, têm que recur-sofrer o cruzamento e terem filhos entre si com mutação de uma de suas característi-cas.

Após isso é necessário escolher qual filho na lista será o bom filho, que é o filho escolhido para ser usado como avaliação do aprendiz alvo. Essa esco-lha é feita através do algoritmo K-Means [3], que funciona da seguinte maneira: é definido um número x para a quantidade de clusters agrupamentos de avaliações existentes que são constituídos com base na proximidade espacial de seus membros. Por exemplo, se o número x for definido como 2, serão dois clusters e, conforme for adicionada uma avaliação para o recurso alvo e aprendiz alvo, o K-Means decide se esta deveria ir para o cluster 1 ou para o cluster 2, dependendo da sua proximidade espacial com o centróide (centro) do cluster. O cen-tróide é uma média dos valores existentes para as mesmas características das avaliações no cluster. Considerando-se o cluster onde estão pai e mãe, quando se tem a distância de todos os filhos frutos de cruzamentos e mutações, é escolhido o bom filho, que nada mais é do que o filho com menor distância do respectivo centróide. Este é adicionado

à matriz no lugar da avaliação que não existia, cor-respondente ao aprendiz alvo e ao recurso alvo, e assim simulando a avaliação que seria feita pelo aprendiz.

Após a inserção de uma avaliação a um dos

clus-ters, o respectivo centróide é recalculado e todas as

avaliações de todos os clusters têm suas distâncias recalculadas para, eventualmente, formar clusters com novos membros. Este processo pode se repetir diversas vezes, se alguma avaliação mudar de

clus-ter.

Este processo inteiro se repete até que terminem os recursos que ainda não foram avaliados pelo apren-diz alvo.

3.2 Entidades envolvidas

No processo “aprendiz avalia um recurso”, são três as entidades envolvidas: aprendiz, avaliação e re-curso. Após o levantamento bibliográfico, a defini-ção das características das três entidades e como elas se relacionam foi a seguinte: aprendiz (Idade, idioma, preferência, assunto/nível de conhecimento e área de estudo) pode se relacionar com vários recursos (idioma, tipo e assunto/nível de conheci-mento necessário) através de uma avaliação (classi-ficação, qualidade técnica, facilidade de uso e rele-vância de aprendizagem), como mostra o Modelo Entidade-Relacionamento na Figura 3.

Figura 3 – Modelo Entidade-Relacionamento.

Estas características foram escolhidas para o a-prendiz informal, para que ele pudesse ter a sua preferência de um tipo de recurso, se é um video, um livro, um artigo, ou outra; informar o assunto; e o seu grau de conhecimento, para que possam ser achados recursos do jeito que ele preferir.

As características da avaliação foram escolhidas a partir da análise de bases de recursos existentes, como o MERLOT [4] e o NEEDS [5].

(4)

4. MUDANÇA NO PROJETO

Ao se tentar iniciar a avaliação do projeto que con-sidera um aprendiz formal, foi encontrado um pro-blema na função fitness que antes aceitava valores de avaliações maiores que 5 como potenciais bons filhos. A função foi modificada e os resultados obti-dos tiveram que ser reanalisaobti-dos.

A partir da reanálise, foram encontradas algumas avaliações que não seriam possíveis de serem pro-duzidas nos cruzamentos dos pais. Foi descoberto um erro simples de lógica que causava este pro-blema: filhos considerados aptos, considerando-se um determinado recurso alvo, continuavam na lista mesmo depois que se considerava um outro recurso alvo. Assim, ficou sendo possível ter como bom filho uma avaliação filho de um outro recurso alvo. Este problema foi corrigido e os resultados começaram a ser mais condizentes com o esperado.

Foi percebido que o número de filhos gerados esta-va muito baixo, considerando-se a quantidade de pais que existia. Então, foi descoberto que não eram cruzados todos os pais dois a dois. O funcionamen-to ocorria da seguinte forma: existindo cinco pais, se funcionasse corretamente, seriam dez cruzamentos e 20 filhos, como mostra na Figura 4. Mas, do jeito que estava, eram realizados apenas quatro cruza-mentos, com o resultado de oito filhos, como mostra na Figura 5. Este problema também foi corrigido.

Figura 4 – Representação de cruzamento completo.

Figura 5 – Representação do cruzamento antes da modificação.

Ao se reanalisar os resultados da última correção, foi percebido um problema no processo de mutação. O valor da característica selecionada aleatoriamente para ser mutada recebia um número gerado aleato-riamente.

A mutação pretendida deveria ser feita sobre um dos bits que constituíam o valor original. A lógica foi

modificada, de acordo com o que tinha sido defini-do.

Também foi percebido que o sistema estava utili-zando para fazer as similaridades de aprendizes apenas as características de idiomas falados e ida-de e não estava utilizando as outras características dos aprendizes formais. Isto também foi corrigido.

5. AVALIAÇÃO DO SISTEMA

A avaliação do sistema é necessária para que seja verificado se o objetivo do trabalho de IC foi alcan-çado, ou seja, se os resultados obtidos estão condi-zentes com a realidade. Para isso, foi necessário executar várias simulações e analisar os resultados. Para realizar a avaliação foi utilizada uma base de dados existente BookCrossing Dataset [6], foram considerados cinco aprendizes que avaliaram os mesmos dez recursos, que precisaram ser localiza-dos em um universo de 278.858 aprendi-zes,1.149.780 recursos e 271.379 avaliações. Esta combinação foi a mais densa dentro da base para que fosse possível comparar resultados simulados e reais, de acordo com um plano de avaliação.

Três tabelas apresentam como foram preparados os dados para a avaliação do sistema: a primeira com todas as avaliações reais provenientes da base de dados (Figura 6); a segunda com as avaliações remanescentes, após serem retiradas avaliações para uma simulação, ou seja, aleatoriamente são escolhidas avaliações que são retiradas da base de dados (posteriormente serão simuladas pelo siste-ma) (Figura 7); e a terceira tabela similar à segunda (Figura 8), porém com os resultados simulados, ou seja, apresenta os dados escondidos contra os da-dos simulada-dos.

Figura 6 – Tabela completa.

Figura 7 – Tabela com algumas avaliações retiradas.

Três quantidades diferentes de dados escondidos foram planejadas: 30%, 50% e 60% do total de ava-liações originais. Inicialmente foram propostos 30%, 50% e 70%, porém, pela quantidade de avaliações

(5)

disponíveis, houve a necessidade mínima de 60%, para se ter no mínimo duas avaliações para cada recurso.

Figura 8 – Tabela com as simulações.

Para avaliar os resultados obtidos, utilizou-se o NMAE (Normalized Mean Absolute Error) [7], calcu-lado conforme a Fórmula 1.

NMAE = MAE / (∑ u,i r’u,i / N) (1) onde ru,i é a nota real atribuída pelo usuário u ao recurso i, r’u,i a nota prevista pelo algoritmo para esse recurso e N o número de avaliações previstas pelo algoritmo.

Para se conseguir calcular o NMAE, é necessário calcular o MAE (Mean Absolute Error), conforme a Fórmula 2.

MAE = ∑ u,i | r u,i – r’ u,i | / N (2) NMAE é utilizado para tornar o resultado de MAE independente da escala de avaliações usadas. A pedido do orientador foi utilizada outra fórmula para o NMAE, Fórmula 3, onde X é a diferença da maior nota de avaliação para a menor (5 e 0 no caso das simulações do projeto descrito neste rela-tório).

NMAE = MAE / X (3)

Nos gráficos apresentados a seguir mostra-se a diferença entre cada valor real (escondido) e o si-mulado de uma simulação. As avaliações escondi-das foram escolhiescondi-das aleatoriamente.

Foram feitas cinco simulações escondendo 30% das avaliações originais. No Gráfico 1 mostram-se os resultados da simulação com menores diferenças e no Gráfico 2, os da simulação com maiores diferen-ças.

Gráfico 1 – Menores diferenças (30% de escondidos).

Gráfico 2 – Maiores diferença s (30% de escondidos).

Foram feitas cinco simulações escondendo 50% das avaliações originais. Os Gráficos 3 e 4, mostram os resultados das simulações com menores e maiores diferenças, entre real e simulado, respectivamente.

Gráfico 3 – Menores diferença s (50% de escondidos).

Gráfico 4 – Maiores diferença s (50% de escondidos).

Também foram feitas cinco simulações escondendo 60% das avaliações originais. Nos Gráficos 5 e 6 são mostrados os resultados com as menores e as maiores diferenças entre real e simulado, respecti-vamente.

Gráfico 5 – Menores diferença s (60% de escondidos).

Gráfico 6 – Maiores diferença s (60% de escondidos).

Como é possível observar nos gráficos as menores diferenças entre real e simulado ficam em torno de 20%, enquanto as maiores ficam em torno de 60%. Os resultados dos cálculos do NMAE estão na Figu-ra 9, com os resultados das simulações, cálculos do MAE e somatórias envolvidas. As células em branco são os resultados das simulações escondendo 30% das avaliações originais, as em amarelo são os resultados escondendo 50% e as em laranja são os resultados escondendo 60%.

(6)

Figura 9 – Resultados do MAE e NMAE.

Observando os resultados do NMAE, é possível perceber que os mesmos estão razoavelmente pró-ximos, mesmo com as diferenças na quantidade de dados escondidos das simulações. O NMAE não passa de 19,2%.

Os valores que deram origem aos gráficos com as diferenças foram organizadas inicialmente em tabe-las, como a apresentada na Figura 10, mostrando as avaliações reais e as simuladas, para fins de comparação.

Figura 10 – Comparação real e simulado.

A partir dos resultados obtidos, é possível perceber que o sistema age de forma quase que uniforme, independentemente do número de avaliações origi-nais escondidas e da quantidade de aprendizes envolvidos.

O Gráfico 7, mostra a curva da diferença entre os três tipos de simulação (30%, 50% e 60%) e seus NMAEs em cada simulação feita.

Gráfico 7 – Diferença entre curvas do NMAE.

É possível observar que todas as curvas encontram-se centralizadas no meio do gráfico, não tendo mui-ta diferença de uma porcenmui-tagem para outra. Tam-bém é possível perceber que o maior erro corres-ponde à maior quantidade de dados escondidos e o menor erro foi com a menor. Parece que não há

diferença significativa entre uma base de avaliações com poucos aprendizes. Espera-se o mesmo com-portamento com bases maiores.

6. CONCLUSÃO

O trabalho relatado neste documento tinha como objetivo simular um aprendiz que produzisse um conjunto de dados artificiais consistentes com a realidade, dados estes correspondentes a avalia-ções de recursos educacionais. Os resultados das avaliações mostram que o objetivo pode ser consi-derado alcançado, com pouca diferença entre os resultados reais e os simulados.

Foi possível verificar que o sistema funciona inde-pendente da quantidade de avaliações originais presentes na base de recursos. Esperando-se que tal comportamento também seja obtido com grandes bases.

AGRADECIMENTOS

À Pontifícia Universidade Católica de Campinas por incentivar seus alunos a atuar em pesquisa.

REFERÊNCIAS

[1] Goldberg, D. E.; Holland, J. H. (1988) Genetic algorithms and machine learning. Machine

learning, v. 3, n. 2, p. 95-99.

[2] Costa, M.; Tobar, C. (2013), Simulação de um Aprendiz Formal com Algoritmo Evolucionário. In: XVIII Encontro de Iniciação Científica,

PUC-Campinas, PUC-Campinas, São Paulo.

[3] Pichiliani, M. (2006), Data Mining na Prática: Algoritmo K-Means. Disponível em:

<http://imasters.com.br/artigo/4709/sql- server/data-mining-na-pratica-algoritmo-k-means/>.

[4] MERLOT. Multimedia Educational Resource for Learning and Online Teaching. Disponível em: <http://www.merlot.org>.

[5] NEEDS. National Engineering Educational Deli-very System. Disponível em: <http://www.needs.org>.

[6] Ziegler, C. et al. (2005), Improving Recommen-dation Lists Through Topic Diversification, 14th

International World Wide Web Conference (WWW '05), May 10-14, 2005, Chiba, Japan.

[7] Grandin, P.; Coello, J. (2012), Implementação e Avaliação de Métodos de Descoberta de Servi-ços Web: Avaliação da Estabilidade e Robustez de Algoritmos de Filtragem Colaborativa em Fa-ce de Ataques de Injeção de Perfis. In: XVII

En-contro de Iniciação Científica, PUC-Campinas,

Referências

Documentos relacionados

Samuel Tabosa de Castro.. Dedicamos esta proposta a todas as pessoas portadoras de deficiência atendidas pelas APAEs, por acreditarmos em seu potencial de aprendizagem e

É o movimento humano com determinado significado/sentido, que por sua vez, lhe é conferido pelo contexto histórico-cultural. O movimento que é tema da educação física é o que

O objetivo desta pesquisa foi investigar o papel da Educação Física na Educação Infantil, considerando-se os objetivos gerais, objetivos específicos, os conteúdos da

98: “En- quanto não permitir o fundo de custeio dos serviços de inspeção, a designação de inspetores especializados para orientação do en- sino da Musica e dos exercícios

sem discriminação”; “...o ensino inclusivo será uma oportunidade das pessoas portadoras de necessidades especiais de mostrar suas potencialidades”; “espero que esta

Aprendizado geral dos jogos esportivos de forma implícita - lúdica Escola da Bola - O ABC da Aprendizagem do Jogo Implícito / Lúdico. O Problema / As causas A solução:

Savants são pessoas que demonstram capacidades superiores em uma inteligência, enquanto suas outras inteligências funcionam num baixo ritmo.. Ex.: Rain Man (baseado numa

Mediação significa que o t rabalho do professor é viabilizar a relação at iva do aluno com a mat éria de est udo, at ravés de obj et ivos, cont eúdos, mét odos e formas