BÖLÜM II: PROJE N SEÇ LEN YER N VE PROJEDEN ETK LENECEK ALANIN
Harita 5. Trafik Projeksiyonu Haritası
A. GENEL B LG LER
a compreens˜ao dos usu´arios e itens, incorporando, por exemplo, novos tipos de intera¸c˜ao no processo de recomenda¸c˜ao e fazendo a combina¸c˜ao entre elas. Uma dessas melhorias ´e o suporte a multi-crit´erios de intera¸c˜oes, de modo a proporcionar maior flexibilidade e tipos menos intrusivos de recomenda¸c˜oes (Ricci et al., 2011).
A Combina¸c˜ao (do Inglˆes Ensemble) ´e uma abordagem de aprendizado de m´aquina que utiliza uma combina¸c˜ao de modelos semelhantes a fim de melhorar os resultados obtidos
por um ´unico modelo. Na realidade, v´arios estudos recentes, como o de Jahrer et. al.
(Jahrer et al., 2010), demonstram a efic´acia da combina¸c˜ao de v´arias t´ecnicas individuais e mais simples, concluindo que os m´etodos baseados em combina¸c˜ao superam qualquer
algoritmo ´unico, mais complexo.
Empiricamente, t´ecnicas de combina¸c˜ao tendem a produzir melhores resultados quando h´a uma diversidade significativa entre os modelos. Muitos m´etodos de combina¸c˜ao, por isso, procuram promover a diversidade entre os modelos que dever˜ao ser utilizados nes- sas combina¸c˜oes. Embora n˜ao intuitivos, algoritmos aleat´orios (como ´arvores de decis˜oes aleat´orias) podem ser utilizados para produzir um conjunto muito mais forte do que algo- ritmos deliberados (como ´arvores de decis˜oes de redu¸c˜ao de entropia). Atualmente, tem-se utilizado uma variedade de algoritmos de aprendizagem forte, e que tem se mostrado mais eficazes do que o uso de t´ecnicas que tentam enfraquecer os modelos, a fim de promover a diversidade (Jahrer et al., 2010).
Neste contexto, Bar et al. (Bar et al., 2013), propuseram um framework sistem´atico respons´avel por fazer a combina¸c˜ao dos resultados. Os autores empregam uma t´ecnica de
combina¸c˜ao, que consiste em utilizar os resultados gerados a partir de um ´unico algoritmo
(conjunto homogˆeneo) atrav´es de m´etodos de aprendizagem linear. Eles demonstraram a efic´acia deste framework, aplicando seu m´etodo em v´arios algoritmos beseados em fil- tragem colaborativa, fazendo a compara¸c˜ao do resultados gerado pelo framework e os demais.
Recentemente, o trabalho de Petar el al. (Ristoski et al., 2014), discute o desenvolvi- mento de um sistema h´ıbrido multi estrat´egia, de recomenda¸c˜ao de livros utilizandoLinked Open Data. A abordagem proposta baseia-se na forma¸c˜ao de recomendadores base indivi-
duais, e escores de popularidade geral como recomendadores gen´ericos. Os resultados dos recomendadores individuais s˜ao combinados usando agrega¸c˜ao de ranque. Neste trabalho, os autores mostraram que a abordagem proporciona resultados muito bons em diferen- tes configura¸c˜oes de recomenda¸c˜ao e tamb´em permite a incorpora¸c˜ao de diversidade de recomenda¸c˜oes. No entanto, o trabalho se limita aos tipos de intera¸c˜oes, restringindo o algoritmo a processar somente itens com notas.
As se¸c˜oes a seguir discutem outros m´etodos conhecidos e bastante utilizados de com- bina¸c˜ao de dados existentes na literatura.
3.4.1
Empilhamento
Empilhamento (do Inglˆes Stacking), envolve a forma¸c˜ao de um algoritmo de aprendizagem para combinar as previs˜oes de v´arios outros algoritmos de aprendizagem (Jahrer et al., 2010). Como passo inicial, todos os algoritmos s˜ao treinados usando os dados dispon´ıveis no treinamento; em seguida, um algoritmo de combina¸c˜ao ´e treinado para fazer uma previs˜ao final com todas as previs˜oes dos outros algoritmos como entradas adicionais.
Essa t´ecnica normalmente produz um melhor desempenho do que qualquer um dos modelos treinados (Jahrer et al., 2010). Ela tem sido utilizada com sucesso em ambas as tarefas supervisionadas de aprendizagem (regress˜ao) e aprendizagem n˜ao supervisionada (estimativa de densidade). Tamb´em tem sido utilizada para estimar a taxa de erro de Bootstrap (do Inglˆes bagging’s). As duas melhores performances na competi¸c˜ao Netflix, utilizaram m´etodo de combina¸c˜ao baseado em Empilhamento, onde os autores combina- vam ranques de diferentes tipos de intera¸c˜ao em um s´o.
3.4.2
Classificador ´Otimo de Bayes
O classificador ´otimo de Bayes ´e um conjunto de todas as hip´oteses do espa¸co hip´otese (Jahrer et al., 2010). Em m´edia, nenhum outro conjunto pode superar isso, ent˜ao ele ´e o conjunto ideal, no qual em cada hip´otese ´e dado um voto proporcional `a probabilidade de que o conjunto de dados de treinamento ser´a amostrado a partir de um sistema, se esta hip´otese fosse verdadeira. Para facilitar dados de treinamento de tamanho finito, o voto de cada hip´otese tamb´em ´e multiplicado pela probabilidade anterior a essa hip´otese. O classificador ´otimo de Bayes pode ser expresso pela seguinte equa¸c˜ao:
y = argmaxcj∈C
X
hi∈H
P (cj|hi)P (T |hi)P (hi) , (3.1)
onde y ´e a classe prevista, C ´e o conjunto de todas as classes de poss´ıveis, H ´e o espa¸co hip´otese, P refere-se a uma probabilidade, e T ´e o conjunto de dados de treinamento.
Como uma t´ecnica de combina¸c˜ao, o classificador ´otimo de Bayes representa uma hip´o- tese que n˜ao necessariamente est´a em H. A hip´otese representada pela classificador, no entanto, ´e uma hip´otese ´otima dentre todas as outras combinadas.
Sendo assim, o classificador n˜ao ´e implementado para quase nenhum caso, tendo em vista que:
• A maioria dos espa¸cos de hip´oteses interessantes s˜ao grandes demais para repetir, como exigido pelo argmax;
• Muitas hip´oteses produzem apenas uma classe, eao inv´es de uma probabilidade para
cada classe, como exigido pelo termo P (cj|hi);
• Calcular uma estimativa imparcial da probabilidade do conjunto de treinamento
dado uma hip´otese P (T |hi);
• N˜ao ´e trivial estimar a probabilidade pr´evia para cada hip´otese P (hi) raramente ´e
vi´avel.
3.4.3
Bootstrap Agregado
Bootstrap Agregado, muitas vezes abreviado como Bootstrap, implica em ter cada modelo na vota¸c˜ao conjunto, com o mesmo peso (Tiroshi et al., 2012). A fim de promover o modelo de variˆancia, o Bootstrap treina cada modelo no conjunto usando um subconjunto amostrado aleatoriamente do conjunto de treino.
3.4.4
Boosting
A t´ecnica de Boosting implica gradativamente em construir um conjunto atrav´es da for- ma¸c˜ao de cada instˆancia de um novo modelo, para enfatizar as instˆancias de treinamento dos modelos anteriores (Boim e Milo, 2011). Em alguns casos, o Boosting tem sido mos- trado para produzir uma melhor precis˜ao do que o Bootstrap, mas tamb´em tende a ser mais suscet´ıvel `a sobreajuste dos dados de forma¸c˜ao. A implementa¸c˜ao mais comum de Boosting ´e Adaboost, apesar de alguns algoritmos recentes terem sido relatados como mais adequados para alcan¸car melhores resultados.