modelos interpretáveis aplicados

Propaganda
Anais do XIX Encontro de Iniciação Científica – ISSN 1982-0178
Anais do IV Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
23 e 24 de setembro de 2014
AVALIAÇÃO COMPARATIVA DE ALGORITMOS PARA
SISTEMAS DE RECOMENDAÇÃO EM MÚLTIPLOS DOMÍNIOS:
MODELOS INTERPRETÁVEIS APLICADOS A DADOS
EDUCACIONAIS
Hugo Marques Casarini
Juan Manuel Adán Coello
Faculdade de Engenharia de Computação /
CEATEC
[email protected]
Grupo de Pesquisa em Sistemas Inteligentes
CEATEC
[email protected]
Resumo: A previsão da nota que um aprendiz irá
obter em tarefas que ainda não realizou pode ser
usada para orientar os seus passos no processo
de ensino-aprendizagem. Esta nota pode ser
prevista a partir dos dados adquiridos durante a
interação de estudantes com sistemas tutores,
usando métodos de mineração de dados que
produzem modelos de fácil interpretação. Tem
sido usada uma grande diversidade desses
métodos ou algoritmos, principalmente no domínio
do comércio eletrônico, mas o seu uso ainda é
raro no contexto considerado. Neste artigo
discute-se a aplicação de um algoritmo indutor de
conjuntos de regras aplicado ao problema de
prever se um estudante acertará ou não uma
questão, a partir das questões que ele e seus
colegas responderam previamente. A avaliação
experimental realizada mostrou que o algoritmo
apresenta acurácia, precisão e cobertura elevados
quando se dispõe de um elevado número de
exemplos, mas o mesmo comportamento não se
verifica quando isso não ocorre.
Entre as principais abordagens para utilizar essas
informações e fazer recomendações de interesse
do usuário, destacam-se a filtragem colaborativa
(FC) [1] e a mineração de dados baseada em
aprendizado de máquina [2], usando, entre outros,
métodos que produzem modelos interpretáveis,
como as árvores de decisão e as regras de
classificação. Os métodos de aprendizado de
máquina podem analisar o comportamento
passado
dos
usuários
para
prever
comportamentos futuros.
Nos sistemas de recomendação usualmente
utilizam-se associações usuário-item. Essas
associações referem-se a uma lista de m usuários,
e uma lista de n itens que são representadas por
uma matriz m x n contendo as avaliações (ratings)
dadas aos itens pelo o usuário em questão.
Entre as limitações dos algoritmos de FC destacase a incapacidade de recomendar novos itens e
de recomendar itens a novos usuários, já que um
novo usuário ainda não avaliou nenhum item e um
novo item ainda não foi avaliado por usuário
algum. Essa situação caracteriza o problema da
partida a frio (cold start problem) e é muito comum
sua discussão no estudo de sistemas de
recomendação.
Outros problemas importantes decorrem da
presença de matrizes esparsas (muitos espaços
vazios) e matrizes muito grandes (diversas
dimensões) que dificultam fazer previsões
precisas
e
aumentam
as
demandas
computacionais para fazê-lo.
O modelo tradicional para transformação de dados
em informação e em conhecimento útil, por
exemplo para recomendar itens de interesse de
um usuário, consiste em um processamento
manual dos dados por especialistas que, então,
produzem relatórios que deverão ser analisados.
Em muitos casos, devido ao grande volume de
dados,
esse
processo
manual
torna-se
impraticável. O KDD (Knowledge Discovery in
Databases ou Descoberta de Conhecimento nas
bases de dados) [3] é uma tentativa de solucionar
Palavras-chave: Sistemas de recomendação,
modelos de previsão interpretáveis, previsão do
desempenho de estudantes.
Área do Conhecimento: Ciências Exatas e da
Terra –Ciência da computação.
1. INTRODUÇÃO
O problema da recomendação de uma informação
ou item relevante para um determinado indivíduo é
um tema que vem ganhando importância tanto no
meio acadêmico quanto no comercial.
Estes sistemas possuem como objetivo reduzir as
inúmeras opções de itens disponíveis, prevendo
um ou mais que sejam de possível interesse de
um usuário. Para isso, podem ser utilizadas
informações diversas como as preferências do
usuário e seu respectivo histórico de interações
com o sistema.
Anais do XIX Encontro de Iniciação Científica – ISSN 1982-0178
Anais do IV Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
23 e 24 de setembro de 2014
o problema causado pela chamada "era da
informação": a sobrecarga de dados. O KDD
refere-se ao processo de descoberta de
conhecimento, tendo a mineração de dados como
uma das etapas do processo. Na Figura 1
podemos ver uma representação do processo de
KDD.
Figura 1. O processo de KDD Fonte: [2].
Algoritmos de aprendizado de máquina estão
entre os principais métodos usados na etapa de
mineração de dados do processo de KDD para
detectar padrões nos dados disponíveis. O foco do
trabalho que deu origem a este artigo são os
algoritmos de mineração de dados que produzem
modelos interpretáveis por pessoas.
O artigo está organizado da seguinte forma: na
Seção 2 faz-se uma introdução e discussão sobre
o processo de KDD, apresentando detalhes das
suas etapas, como destaque para a mineração de
dados, a mais relevante para o trabalho descrito
neste artigo; na Seção 3
aprofunda-se a
discussão sobre algoritmos de mineração de
dados que produzem modelos de fácil
interpretação, abordagem utilizada no trabalho
descrito para prever o desempenho de
estudantes; na Seção 4 apresentam-se os
resultados de uma avaliação experimental de
alguns desses algoritmos quando utilizados com
dados educacionais e, finalmente, na Seção 5 são
apresentadas algumas considerações finais.
2. DESCOBERTA DE CONHECIMENTO EM
BASES DE DADOS (KDD)
O processo KDD é definido como o “processo não
trivial de identificação de padrões novos,
potencialmente uteis e inteligíveis a partir de
dados” [2]. O processo é não trivial já que algum
método de busca ou inferência está envolvido, ou
seja, não se trata apenas de um processo simples
de computar quantidades pré-definidas, como
calcular a média de um conjunto de números. Os
padrões descobertos devem ser válidos, com
algum grau de certeza, em novos dados,
potencialmente úteis (trazem algum benefício) e
compreensíveis (se não imediatamente, então
depois da interpretação). O processo de busca de
conhecimento contém uma série de passos:
seleção,
pré-processamento
e
limpeza,
transformação,
mineração
de
dados
e
interpretação e avaliação.
Conhecer os dados com os quais se irá trabalhar
é fundamental para a escolha dos métodos mais
adequados de mineração de dados. Os dados
podem ser categorizados em quantitativos e
qualitativos.
Os
dados
quantitativos
são
representados por valores numéricos, podendo
ainda ser discretos ou contínuos. Já os dados
qualitativos contêm valores nominais e ordinais
(categóricos).
Tendo uma visão inicial dos dados, é necessário
explorá-los, buscando conhecê-los melhor e
encontrar valores que possam comprometer sua
qualidade, tais como valores em branco ou nulos e
dados duplicados. À medida em que que os dados
vão sendo conhecidos, ocorre a sua preparação
ou pré-processamento para que os algoritmos de
mineração possam ser aplicados.
A etapa de transformação dos dados é necessária
como parte da preparação dos dados para o uso
dos algoritmos de mineração, já que, por exemplo,
alguns algoritmos trabalham apenas com valores
numéricos e outros apenas com valores
categóricos. Nestes casos, é necessário
transformar os valores numéricos em categóricos
ou os categóricos em valores numéricos.
Em alguns casos o volume de dados é tão grande
que torna o processo de análise dos dados e a
própria mineração impraticáveis. Nestes casos, as
técnicas de redução de dados podem ser
aplicadas para que a massa de dados original seja
convertida em uma massa de dados menor,
porém, sem perder a representatividade dos
dados originais. Isto permite que os algoritmos de
mineração sejam executados com mais eficiência,
mantendo a qualidade do resultado.
Geralmente, os repositórios usados no processo
de KDD possuem quantidades muito elevadas de
registros, de modo que o uso de todos os registros
para a construção do modelo de mineração de
dados pode ser inviável. Nesse contexto, utiliza-se
uma amostra representativa que é dividida em três
conjuntos: conjunto de treinamento (conjunto de
dados usados para produzir o modelo); conjunto
de testes (usado para testar o modelo construído);
conjunto de validação (usado para validar o
modelo construído).
3. MINERAÇÃO DE DADOS
A mineração de dados é um passo no processo de
descoberta de conhecimento, que consiste na
realização da análise dos dados e na aplicação de
algoritmos de descoberta que, sob certas
Anais do XIX Encontro de Iniciação Científica – ISSN 1982-0178
Anais do IV Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
23 e 24 de setembro de 2014
limitações computacionais, produzem um conjunto
de padrões (ou modelos) a partir dos dados.
As tarefas mais comuns da etapa de mineração de
dados são descrição, classificação, estimação ou
regressão, predição, agrupamento e associação.
A descrição é a tarefa utilizada para descrever os
padrões e tendências revelados pelos dados. A
classificação visa a identificar a qual classe um
determinado registro pertence. A estimação ou
regressão visa encontrar uma função que mapeia
itens de dados em uma variável de predição real.
O agrupamento visa identificar um grupo finito de
categorias, ou grupos, que descreva os dados. A
associação consiste em identificar quais atributos
estão relacionados.
Tradicionalmente, os métodos de mineração de
dados
são
divididos
em
aprendizado
supervisionado e não-supervisionado. A diferença
entre estes métodos reside no fato de que os
métodos não-supervisionados não precisam de
uma pré-categorização para os dados, ou seja,
não é necessário um atributo alvo. Tais métodos
geralmente usam alguma medida de similaridade
entre os atributos. As tarefas de agrupamento e
associação são consideradas como nãosupervisionadas.
Já
no
aprendizado
supervisionado, é usado um conjunto de dados
que possuem uma variável alvo pré-definida e os
registros são categorizados em relação a ela.
As técnicas de classificação podem ser
supervisionadas e não-supervisionadas. São
usadas para prever valores de variáveis do tipo
categóricas. No trabalho descrito neste artigo
busca-se construir um modelo para prever uma
nota de um estudante em uma atividade ainda não
realizada, a partir das suas notas em outras
atividades e das notas de outros estudantes nessa
e em outras atividades. Este problema pode ser
entendido como um problema de predição (da
nota da questão não realizada) ou de classificação
(prever se o estudante irá errar ou acertar a
questão). O conjunto de dados considerado
contém informações do tipo múltipla escolha, em
que o estudante pode acertar ou errar uma
questão, de modo que o problema foi
considerando como sendo de classificação.
Entre os requisitos do trabalho considerado estava
que os modelos gerados fossem facilmente
interpretáveis por pessoas. Por esse motivo foram
focados algoritmos que produzem modelos
classificatórios na forma de árvores de decisão e
de regras.
Em uma árvore de decisão cada nó indica um
teste feito sobre uma variável. As ligações entre
os nós representam os valores possíveis do teste
do nó superior e as folhas indicam a classe à qual
o registro pertence. Após construir uma árvore de
decisão, para classificar um novo registro, basta
seguir o fluxo na árvore, mediante os testes nos
nós não-folha, começando no nó raiz até chegar a
uma folha.
Um modelo de classificação baseado em regras
emprega clausulas da forma SE condição ENTÃO
conclusão.
No trabalho descrito neste artigo foi empregado o
algoritmo RIPPER (Repeated Incremental Pruning
to Produce Error Reduction) [4] para produzir
conjuntos de regras que permitam prever se um
estudante acertará ou não uma questão que ainda
não fez.
Algoritmos de aprendizado de conjuntos de regras
são geralmente comparados com algoritmos de
aprendizado de árvores de decisão. Conjuntos de
regras apresentam a vantagem de serem fáceis
de entender e podem ser representados em lógica
de primeira ordem. A sua maior desvantagem é
que em geral são pouco escaláveis, à medida que
aumenta o conjunto de treinamento, e apresentam
dificuldades para tratar de dados com ruído. No
entanto, o algoritmo RIPPER não apresenta essas
desvantagens. Uma das maiores limitações das
de árvores de decisão é o ajuste excessivo
(overfitting), ou seja, o modelo produzido funciona
muito bem com o conjunto de treinamento, mas
não apresenta resultados tão bons com o conjunto
de validação (e com dados novos). O RIPPER
implementa a técnica REP (Reduced Error
Pruning) que é bem sucedida para evitar o ajuste
excessivo.
Somando as características positivas do RIPPER
apresentadas na literatura com o fato de haver
uma implementação desse algoritmo no ambiente
de mineração de dados Rapidminer1, disponível
para uso do trabalho descrito, este foi o algoritmo
de indução de modelos interpretáveis escolhido
para
aplicar
ao
problema
educacional
considerado.
4. AVALIAÇÃO EXPERIMENTAL
Nesta
seção
descreve-se
a
avaliação
experimental conduzida para avaliar o algoritmo
de indução de regras RIPPER
quando
empregado para uma base de dados educacional.
A avaliação foi feita no ambiente RapidMiner, que
implementa diversos mecanismos e algoritmos
para o processo de KDD, inclusive o algoritmo
mencionado. Foi empregada a base de dados
educacionais assistments_2009-2010 [5], que
consiste em um conjunto de dados coletados entre
2009 e 2010, a partir de uma plataforma online
1
http://rapid-i.com/content/view/181/190/lang,en/
Anais do XIX Encontro de Iniciação Científica – ISSN 1982-0178
Anais do IV Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
23 e 24 de setembro de 2014
que permite que resolvam questões e recebam
tutoria online. Essa base está organizada em um
formato de tabela com diversas colunas. A base
contém 1.011.079 respostas de 8.519 estudantes
para 35.978 questões.
O algoritmo foi avaliado procurando focar na
facilidade de interpretação dos resultados
produzidos e da precisão das previsões feitas. A
facilidade
de
interpretação
foi
avaliada
visualmente, na medida que a intenção é verificar
se os modelos produzidos são fáceis de entender
a uma pessoa. A precisão foi avaliada por um
processo de validação cruzada.
O processo implementado no RapidMiner para
avaliar os algoritmos consiste na execução de
uma sequência de atividades. Incialmente a base
original passou por um processo de transformação
visando colocá-la no formato requerido pelos
algoritmos empregados. Na base transformada,
cada linha representa um usuário e cada coluna
uma questão respondida pelos usuários. As
células definidas por um par linha-coluna indicam
se o usuário representado na linha acertou (valor
1) ou errou (valor 0) a questão associada à
coluna. Em seguida, transforma esse valor do tipo
numérico é transformado para o tipo binominal
(true ou false).
A base é então filtrada em função do atributo
categórico (questão para a qual se deseja fazer
previsões), deixando apenas os registros dos
estudantes que responderam a essa questão (com
acerto ou com erro).
Em seguida, é selecionado o atributo (coluna da
tabela) correspondente à questão para a qual se
deseja treinar (aprender) um modelo (atributo
categórico) capaz de predizer o seu valor,
associando a esse atributo o papel de rótulo
(label), passo necessário para indicar ao algoritmo
que este é o atributo para o qual se quer realizar a
aprendizagem.
No próximo passo do processo, é feita uma
amostragem estratificada da base. Esta etapa é
necessária pois o computador empregado não tem
memória suficiente para executar os algoritmos
com toda a base. A amostra estratificada é um
subconjunto selecionado aleatoriamente da base
original, em que a distribuição de classes é a
mesma da base original, isto é, a proporção de
registros (linhas da tabela) na amostra
correspondente a acertos e a erros é a mesma da
base completa.
Após fazer a amostragem, é executado um
processo de avaliação cruzada para estimar o
desempenho estatístico do modelo produzido pelo
algoritmo de aprendizado usado em novos dados.
Isto envolve um subprocesso de treinamento,
onde é treinado, ou aprendido, um modelo, e um
subprocesso de teste, onde é aplicado o modelo
aprendido e medido o seu desempenho.
No processo de validação cruzada, o conjunto de
dados, neste caso a amostragem, é particionado
em três subconjuntos de mesmo tamanho. Um
subconjunto é usado como o conjunto de dados
de teste (servirá de entrada para o subprocesso
de teste) e dois subconjuntos são usados como os
dados de treinamento (serão a entrada do
subprocesso de treinamento). O processo de
validação cruzada é repetido três vezes, com cada
um dos três subconjuntos usado uma vez como
dados de teste. Ao final, é feita uma média dos
três resultados produzidos para produzir uma
estimativa do desempenho do modelo.
Após uma fase inicial em que se tentou produzir
árvores de decisão, sem muito sucesso, decidiuse focar na utilização do algoritmo de indução de
regras RIPPER.
Foram utilizados os parâmetros padrão do
algoritmo,
tal
como
recomendado
pela
implementação disponível no Rapidminer, exceto
pelo critério utilizado para selecionar os atributos
que serão usados na cláusula condicional das
regras geradas. O padrão da ferramenta é usar o
ganho de informação, mas foram obtidos melhores
resultados usando a acurácia. No primeiro caso, a
entropia de todos os atributos é calculada e o
atributo com a menor entropia é usado na divisão.
No segundo caso, é selecionado o atributo que
maximiza a acurácia do conjunto de regras.
Foram produzidos e avaliados conjuntos de regras
para diversas questões. Mostramos aqui os
resultados obtidos para duas delas: 11948 e
97607. A primeira estava representada por 478
exemplos na amostra e a segunda por 95.
Os conjuntos de regras produzidos para as
questões 11948 e 97607 são mostrados,
respectivamente, na Figura 2 e na Figura 3. Esses
conjuntos são o resultado da junção dos conjuntos
gerados nas três etapas da validação cruzada.
Um conjunto de regras deve ser lido de cima para
baixo. Logo, no caso da questão 11948, se o
usuário acertou (true) a questão 9663, a previsão
é que ele erre a 11948. Se essa condição não é
verificada, verifica-se se ele acertou a questão
14349. Nesse caso, a previsão é que ele erre a
questão 11948. Após outras três condições que
levam à previsão de erro, temos a regra padrão
que indica acerto da questão 11948.
Anais do XIX Encontro de Iniciação Científica – ISSN 1982-0178
Anais do IV Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
23 e 24 de setembro de 2014
if 9663 = true then false (20 / 1)
if 14349 = true then false (16 / 2)
if 2712 = true then false (11 / 0)
if 13648 = true then false (11 / 1)
if 13907 = true then false (234 / 2)
else true (18 / 162)
correct: 454 out of 478 training examples.
Figura 2. Conjunto de regras para a
questão 11948.
if 61091 = true then false (9 / 0)
if 40849 = true then true (0 / 14)
if 40519 = true then false (8 / 0)
if 40859 = true then false (4 / 0)
if 2672 = true then true (0 / 10)
if 97402 = true then false (4 / 0)
else false (24 / 22)
correct: 73 out of 95 training examples
Figura 3. Conjunto de regras para a
questão 97607.
O desempenho desse conjunto de regras é
mostrado na Figura 4 (copiada diretamente da tela
do Rapidminer). Nota-se que a acurácia do
conjunto é de 90,81% com um desvio de mais ou
menos 4,53%. A acurácia indica o número de
previsões corretas feitas. A figura mostra também
a precisão e a cobertura desse conjunto de regras.
A Figura 5, por sua vez, mostra o desempenho do
conjunto de regras gerado para a questão 97607.
Neste caso, exceto pela cobertura para a classe
falso, todas as métricas mostram um pior
desempenho. O motivo, provavelmente, seja o
reduzido número de exemplos disponíveis para
gerar o modelo.
5. CONCLUSÃO
O objetivo do plano de trabalho detalhado no
artigo consistia em analisar o desempenho de
algoritmos de mineração de dados baseados em
modelos de fácil interpretação, quando aplicados
ao problema de prever o desempenho de
estudantes.
Para atingir o objetivo foi analisado o desempenho
de conjuntos de regras induzidas pelo algoritmo
RIPPER, quando aplicados a uma base de dados
educacionais. Nos experimentos realizados,
verificou-se que o algoritmo apresenta acurácia,
precisão e cobertura elevadas quando se dispõe
de um número expressivo de exemplos. Por outro
lado, quando o número de exemplos é pequeno, o
desempenho é bem menor.
Pretende-se, dar continuidade ao trabalho,
realizando novos experimentos em que será
analisado o efeito da variação dos parâmetros do
algoritmo estudado.
Por fim, cabe ressaltar que a mineração de dados
é uma área promissora e que, apesar dos bons
Figura 4: Acurácia, precisão e cobertura, conjunto de regras para a questão 11948.
Figura 5: Acurácia, precisão e cobertura, conjunto de regras para a questão 97607.
Anais do XIX Encontro de Iniciação Científica – ISSN 1982-0178
Anais do IV Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
23 e 24 de setembro de 2014
resultados apresentados, ainda tem muito para
oferecer.
AGRADECIMENTOS
À FAPIC/Reitoria pela bolsa de iniciação científica,
à
PUC-Campinas
pelas
instalações
que
permitiram o desenvolvimento deste artigo e as
reuniões realizadas, e ao Prof. Dr. Juan Manuel
Adán Coello pela orientação e motivação e pelo
convite para a participar no trabalho de IC que me
permitiu adquirir novos conhecimentos na área de
computação.
REFERÊNCIAS
[1] X. Amatrian, A. Jaimes, N. Oliver e J. M. Pujol.
Data Mining Methods for Recommender
Systems. Recommender Systems Handbook,
pp. 39-71, 2011.
[2] U. Fayyad, G. Piatetsky-Shapiro, P. Smyth.
From Data mining to Knowledge Discovery in
Databases. AI Magazine, 17(3):37-54, Fall
1996.
[3] I. H. Witten, E. Frank, and M. A. Hall. Data
Mining: Practical Machine Learning Tools and
Techniques: Practical Machine Learning Tools
and Techniques. Morgan Kaufmann, 2011.
[4] W. W. Cohen, “Fast Effective Rule Induction,”
in Proceedings of the Twelfth International
Conference on Machine Learning, Lake
Tahoe, California, 1995.
[5] M. Feng, N. Heffernan e K. Koedinger.
Addressing the assessment challenge with an
Online System that tutors as it assesses. The
Journal of User Modeling and User-Adapted
Interaction, 2009.
Download