• Nenhum resultado encontrado

Algoritmo 11 – Estrat´ egia de recomenda¸c˜ ao serendipitosa para o algoritmo ensemble de

2.4 Considera¸ c˜ oes finais

O prop´osito deste cap´ıtulo foi apresentar conceitos sobre sistemas de recomenda¸c˜ao, incluindo as arquiteturas de recomenda¸c˜ao. Tamb´em foram apresentadas as vantagens e desvantagens da arquitetura baseada em conte´udo, principal interesse deste trabalho, al´em de no¸c˜oes b´asicas sobre medidas de qualidade de uma recomenda¸c˜ao. Tendo em vista o problema da baixa serendipidade em recomenda¸c˜oes e a proposta de trat´a-lo usando t´ecnicas de agrupamento, o pr´oximo cap´ıtulo apresenta conte´udos a respeito de agrupamento e ensemble de agrupamentos.

3 Ensemble de agrupamento

Diversos conjuntos de dados com grande volume de dados e alta dimensionalidade tˆem sido criados devido aos avan¸cos das tecnologias de produ¸c˜ao e armazenamento de dados e, tamb´em, ao crescimento do uso de aplica¸c˜oes (JAIN, 2010). Consequentemente, surge a necessidade de melhorar os m´etodos de an´alise que permitem processar, compreender e sumarizar automaticamente os dados. Os algoritmos de aprendizado de m´aquina tˆem sido utilizados nesse contexto visando melhorar as an´alises sobre esses dados.

Segundo Michalski, Carbonell e Mitchell (2013), aprendizado ´e descrito como o processo que inclui a aquisi¸c˜ao de novos conhecimentos, o desenvolvimento de habilidades motoras e cognitivas por meio de instru¸c˜oes ou pr´aticas, a organiza¸c˜ao de conhecimento em geral, as representa¸c˜oes efetivas e a descoberta de novos fatos e teorias mediante observa¸c˜oes e experimenta¸c˜oes. O estudo e a modelagem computacional de processos de aprendizado constitui o contexto de aprendizado de m´aquinas cuja defini¸c˜ao ´e destacada em Mitchell (1997) como:

“Um programa de computador aprende a partir de um elenco de experiˆencias E, relacionadas a uma classe de tarefas T e dispondo de uma medida de desempenho M, se seu desempenho medido por M junto `a tarefa T melhora com o elenco de experiˆencias E. ”

Existem diversos paradigmas de aprendizado dentro da ´area de aprendizado de m´aquina, dentre eles, os paradigmas de aprendizado supervisionado e aprendizado n˜ao supervisionado. De forma resumida, a diferen¸ca entre tais paradigmas est´a relacionada a existˆencia ou n˜ao de dados rotulados. No aprendizado supervisionado, uma cole¸c˜ao de dados rotulados (pr´e classificados) ´e fornecida, enquanto no aprendizado n˜ao supervisionado, a cole¸c˜ao de dados fornecida n˜ao possuem r´otulos (JAIN; MURTY; FLYNN, 1999).

Em conformidade com Nilsson (1996), o objetivo do aprendizado supervisionado ´e encontrar uma fun¸c˜ao hipot´etica que seja capaz de prever, em grande parte, a classe dos dados. Para alcan¸car tal fim, ele utiliza o resultado obtido pela fun¸c˜ao e compara esse resultado com os r´otulos dos dados. J´a o objetivo do aprendizado n˜ao supervisionado ´e atribuir r´otulos simb´olicos1 aos dados, todavia, ele apenas utiliza as caracter´ısticas dos

dados, sem ter conhecimento da classe real dos dados em seu processo.

O agrupamento ´e definido como uma metodologia importante na an´alise explorat´oria de dados, sendo poss´ıvel encontrar diversos m´etodos de agrupamento reportados na literatura (WU; LEAHY, 1993). Seu objetivo principal ´e encontrar os padr˜oes gerais de distribui¸c˜ao do conjunto de dados e disponibilizar uma visualiza¸c˜ao mais eficiente por meio de grupos derivados do conjunto original (ZHANG; RAMAKRISHNAN; LIVNY, 1996).

A figura 7 ilustra o objetivo da tarefa de agrupamento, o qual est´a representado pela descoberta de grupos divididos em cores. O lado esquerdo representa um conjunto de nove dados X e o lado direito apresenta os trˆes grupos formados: x1, x2 e x3 coloridos em

azul; x4, x5 e x6 colorido em verde; e x7, x8 e x9 coloridos em amarelo.

Figura 7 – Exemplo de agrupamento de dados

Fonte: Fernando Henrique da Silva Costa, 2018

A principal fun¸c˜ao da tarefa de agrupamento ´e resumir os dados, oferecendo um meio para produzir uma descri¸c˜ao sobre eles. A partir disso, torna-se poss´ıvel proceder com tarefas de nomea¸c˜ao (todos os objetos de um mesmo grupo recebem o mesmo nome ou r´otulo), exibi¸c˜ao da organiza¸c˜ao presente nos dados dos dados, e predi¸c˜ao. (HARTIGAN, 1975). Assim, os algoritmos de agrupamento organizam objetos em grupos, de forma que os objetos pertencentes ao mesmo grupo sejam mais semelhantes entre si quando comparados com aqueles que est˜ao organizados em grupos diferentes (IAM-ON et al., 2011).

Segundo Peres et al. (2012), o agrupamento estuda as rela¸c˜oes de similaridade entre os dados, de forma que determine quais dados formam quais grupos. Estes s˜ao formados visando maximizar a similaridade entre os dados de um grupo (similaridade intra-grupo) e minimizar a similaridade entre dados de grupos diferentes (similaridade inter-grupos). Formalmente, dado o conjunto de dados de entrada X, situado no espa¸co <m (X ∈ <m)

de m dimens˜oes, ´e esperado encontrar uma fun¸c˜ao como apresentada na equa¸c˜ao 1, em que W ´e um vetor de parˆametros ajust´aveis por meio de um algoritmo de agrupamento que determina k grupos no conjunto de dados X, G = {G1, ..., Gk}, sendo k ≤ n e n o

F : <mxW → G (1) Em Fern e Lin (2008), os autores discutem que algoritmos de agrupamento desen- volvidos com base em diversas medidas de similaridade ou de distˆancia, mesmo quando aplicados aos mesmos dados, produzem resultados que s˜ao diferentes entre si. Al´em disso, esses algoritmos possuem a deficiˆencia em conceder solu¸c˜oes satisfat´orias em dados com alta dimensionalidade (JING; TIAN; HUANG, 2015). Diante destes fatos, motiva-se a elabora¸c˜ao de ensembles de agrupamento, com o intuito de melhorar os resultados obtidos para tarefas de agrupamento.

Um ensemble ´e definido como um “multi aprendiz” simples e efetivo. A integra¸c˜ao de resultados obtidos por componentes, que representam instˆancias diferentes de solu¸c˜ao para um problema, em apenas um resultado, melhora a acur´acia e a robustez da solu¸c˜ao global para uma tarefa (STREHL; GHOSH, 2002). Tal integra¸c˜ao de resultados ´e observado em uma pessoa que busca opini˜oes de terceiros antes de tomar uma decis˜ao importante. As opini˜oes individuais s˜ao ponderadas e depois combinadas chegando a uma decis˜ao final (POLIKAR, 2006).

A figura 8 ilustra um exemplo de um ensemble. Inicialmente, um conjunto de entrada ´e apresentado para os p componentes do ensemble, os quais podem ser classificadores, regressores (LIMA, 2004) ou algoritmos de agrupamento (NALDI; FACELI; CARVALHO, 2009), a depender da tarefa sob resolu¸c˜ao. Cada um dos componentes gera uma sa´ıda diferente. Essas sa´ıdas, ent˜ao, s˜ao combinadas por uma estrat´egia a fim de produzir uma sa´ıda final.

Figura 8 – Exemplo de um ensemble

Dois passos distintos, por´em correlacionados, s˜ao necess´arios para o desenvolvimento de um ensemble, tanto paras as tarefas de aprendizado supervisionado quanto para aprendizado n˜ao supervisionado. O primeiro passo diz respeito a gera¸c˜ao dos componentes, os quais devem ser precisos e diversificados (ZHOU, 2015), e o segundo passo equivale em uma estrat´egia de combina¸c˜ao das solu¸c˜oes produzidas.

A t´ecnica utilizada nesta pesquisa ´e o ensemble de agrupamento. De acordo com Fern e Brodley (2004), esse paradigma tem como objetivo combinar as solu¸c˜oes de agrupamento de cada componente sobre um determinado conjunto de dados com o prop´osito de melhorar o desempenho da tarefa proposta e apresentar uma solu¸c˜ao geral.

O desenvolvimento de ensemble de agrupamentos segue os mesmos est´agios que o desenvolvimento de ensemble de aprendizado supervisionado, em que h´a a necessidade de seguir geralmente duas etapas. Os passos a serem seguidos, de acordo com Liu, Liao e Liao (2015), s˜ao:

1. a gera¸c˜ao de um conjunto de parti¸c˜oes de agrupamentos, ou a gera¸c˜ao de componen- tes do ensemble, por meio dos algoritmos de agrupamento individuais (diferentes algoritmos ou o mesmo algoritmos com diferentes parˆametros de inicializa¸c˜ao); 2. a combina¸c˜ao de tal conjunto por meio de uma fun¸c˜ao de consenso, a fim de conseguir

um resultado final superior.

Com o intuito de definir um ensemble de agrupamento, foi utilizada a nota¸c˜ao com base no trabalho de Strehl e Ghosh (2002). Tal defini¸c˜ao ´e apresentada da seguinte forma: dado um conjunto de dados X = {x1, x2, ..., xn}, um particionamento desses n dados em k

grupos ´e representado por uma matriz de r´otulos λ ∈ ℵn. Um algoritmo de agrupamento

representado por Φ fornece, como sa´ıda, uma matriz de r´otulos dado as tuplas de dados. A figura 9 ilustra essa defini¸c˜ao, considerando λf inal a matriz de r´otulos gerada pelo ensemble

de agrupamentos.