Modelos de aprendizado não supervisionado são utilizados para três tarefas principais, sendo elas armazenamento em cluster, associação e redução de dimensionalidade. A seguir, iremos definir cada método de aprendizado e destacar algoritmos e abordagens comuns para realizá-los de forma eficaz.
Clustering
Armazenamento em cluster é uma técnica de mineração de dados que agrupa dados não rotulados com base em suas semelhanças ou diferenças. Algoritmos de armazenamento em cluster são usados para processar objetos de dados não classificados e brutos em grupos representados por estruturas ou padrões nas informações. Os algoritmos de armazenamento em cluster podem ser categorizados em alguns tipos, especificamente exclusivos, sobrepostos, hierárquicos e probabilísticos.
Armazenamento em cluster exclusivo e sobreposto
O armazenamento em cluster exclusivo é uma forma de agrupamento que estipula que um ponto de dados pode existir apenas em um cluster. Isso também pode ser chamado de armazenamento em cluster “hard”. O algoritmo de clusterização k-médias é um exemplo de armazenamento em cluster exclusivo.
- O armazenamento em cluster de k-médias é um exemplo comum de um método de armazenamento em cluster exclusivo em que pontos de dados são atribuídos a grupos K, em que K representa o número de clusters com base na distância do centroide de cada grupo. Os pontos de dados mais próximos de um determinado centroide serão agrupados sob a mesma categoria. Um maior valor de K será indicativo de agrupamentos menores com mais granularidade, enquanto que um menor valor de K terá agrupamentos maiores e menos granularidade. O armazenamento em cluster de k-médias é comumente usado em segmentação de mercado, armazenamento em cluster de documentos, segmentação de imagem e compactação de imagem.
Os clusters sobrepostos diferem do armazenamento em cluster exclusivo, no sentido de que permite que pontos de dados pertençam a vários clusters com níveis diferentes de filiação. O armazenamento em cluster de k-médias difuso ou “soft” é um exemplo de armazenamento em cluster sobreposto.
Armazenamento em cluster hierárquico
O armazenamento em cluster hierárquico, também conhecido como análise de cluster hierárquico (HCA), é um algoritmo de clusterização não supervisionado que pode ser categorizado de duas formas, aglomerativo ou divisivo. O armazenamento em cluster aglomerativo é considerado uma “abordagem de baixo para cima.” Seus pontos de dados são inicialmente isolados como agrupamentos separados e, em seguida, eles são mesclados iterativamente com base na similaridade até que um cluster seja alcançado. Quatro métodos diferentes são comumente usados para medir a similaridade:
- Ligação de Ward: este método afirma que a distância entre dois clusters é definida pelo aumento da soma do quadrado após os clusters serem mesclados.
- Ligação média: este método é definido pela distância média entre dois pontos em cada cluster
- Ligação completa (ou máxima): este método é definido pela distância máxima entre dois pontos em cada cluster
- Ligação simples (ou mínima): este método é definido pela distância mínima entre dois pontos em cada cluster
A distância euclidiana é a métrica mais comum usada para calcular essas distância; no entanto, outras métricas, como a distância de Manhattan, também são citadas na literatura de armazenamento em cluster.
O armazenamento em cluster divisivo pode ser definido como o oposto do armazenamento em cluster aglomerativo, pois ele adota uma abordagem “de cima para baixo”. Nesse caso, um único cluster de dados é dividido com base nas diferenças entre os pontos de dados. O armazenamento em cluster divisivo não é comumente usado, mas ainda vale a pena observar no contexto do armazenamento em cluster hierárquico. Esses processos de armazenamento em cluster são geralmente visualizados usando um dendrograma, que é um diagrama semelhante a uma árvore que documenta a mesclagem ou a divisão de pontos de dados em cada iteração.
Armazenamento em cluster probabilístico
Um modelo probabilístico é uma técnica não supervisionada que nos ajuda a resolver problemas de estimativa de densidade ou de armazenamento em cluster “soft”. No armazenamento em cluster probabilístico, pontos de dados são agrupados com base na probabilidade de pertencerem a uma determinada distribuição. O Modelo de Mistura Gaussiano (GMM) é um dos métodos de armazenamento em cluster probabilístico mais comumente usados.
- Os Modelos de Mistura Gaussiano são classificados como modelos de mistura, o que significa que são constituídos por um número não especificado de funções de distribuição de probabilidade. Os GMMs são usados principalmente para determinar a qual distribuição de probabilidade Gaussiana, ou normal, um determinado ponto de dados pertence. Se a média ou a variação forem conhecidos, então podemos determinar a qual distribuição um determinado ponto de dados pertence. No entanto, em GMMs, essas variáveis não são conhecidas, portanto, assumimos que uma variável latente, ou oculta, existe para agrupar pontos de dados de forma apropriada. Embora não seja necessário usar o algoritmo Expectativa-Maximização (EM), ele é comumente usado para estimar as probabilidades de designação de um determinado ponto de dados a um determinado cluster de dados.
Regras de associação
Uma regra de associação é um método baseado em regras para encontrar relacionamentos entre variáveis em um determinado conjunto de dados. Esses métodos são frequentemente usados para análise de carrinhos, permitindo que as empresas entendam melhor as relações entre diferentes produtos. Compreender os hábitos de consumo dos clientes permite que as empresas desenvolvam melhores estratégias de venda cruzada e mecanismos de recomendação. Exemplos disso podem ser vistos na lista de reprodução "Clientes que compraram este item também compraram" da Amazon ou a "Discover Weekly" do Spotify. Embora existam alguns diferentes algoritmos usados para gerar regras de associação, como Apriori, Eclat e FP-Growth, o algoritmo Apriori é o mais amplamente usado.
Algoritmos Apriori
Algoritmos Apiori se popularizaram por meio de análises de cesta de mercado, levando a diferentes mecanismos de recomendação para plataformas de música e varejistas on-line. Eles são usados em conjuntos de dados transacionais para identificar conjuntos de itens frequentes, ou coleções de itens, para identificar a probabilidade de consumir um produto dado o consumo de outro produto. Por exemplo, se eu reproduzir a rádio do Black Sabbath no Spotify, começando com sua música "Orchid", uma das outras músicas nesse canal provavelmente será uma música do Led Zeppelin, como "Over the Hills and Far Away". Isso se baseia tanto nos meus hábitos de escuta anteriores como aqueles de outras pessoas. Algoritmos Apriori usam uma árvore de hash para a contagem de conjuntos de itens, navegando pelo conjunto de dados de maneira que usa a abrangência primeiro.
Redução de dimensionalidade
Embora mais dados geralmente produzam resultados mais precisos, isso também pode afetar o desempenho dos algoritmos de machine learning (por exemplo, sobreajuste) e também pode dificultar a visualização de conjuntos de dados. A redução de dimensionalidade é uma técnica usada quando o número de recursos, ou dimensões, em um determinado conjunto de dados é muito alto. Ela reduz o número de entradas de dados a um tamanho gerenciável, ao mesmo tempo em que também preserva a integridade do conjunto de dados o máximo possível. É comumente usada no estágio de pré-processamento de dados e existem alguns diferentes métodos de redução de dimensionalidade que podem ser usados, como:
Análise de componente principal
A análise de componente principal (PCA) é um tipo de algoritmo de redução de dimensionalidade usado para reduzir redundâncias e compactar conjuntos de dados por meio de extração de recursos. Este método usa uma transformação linear para criar uma nova representação de dados, gerando um conjunto de "componentes principais". O primeiro componente principal é a direção que maximiza a variação do conjunto de dados. Embora o segundo componente principal também encontre a variação máxima nos dados, ele é completamente não correlacionado ao primeiro componente principal, produzindo uma direção que é perpendicular ou ortogonal ao primeiro componente. Este processo se repete baseado no número de dimensões, em que um próximo componente principal é a direção ortogonal em relação aos componentes anteriores com a maior variação.
Decomposição em valores singulares
A decomposição em valores singulares (SVD) é outra abordagem de redução da dimensionalidade que fatora uma matriz, A, em três matrizes de baixa classificação. Uma SVD é denotada pela fórmula, A = USVT, em que U e V são matrizes ortogonais. S é uma matriz diagonal, e os valores S são considerados valores singulares da matriz A. Semelhante à PCA, ela é comumente usada para reduzir o ruído e compactar dados, como arquivos de imagens.
Codificadores automáticos
Os codificadores automáticos utilizam redes neurais para compactar dados e, em seguida, recriar uma nova representação da entrada dos dados originais. Analisando a imagem abaixo, é possível ver que a camada oculta atua especificamente como um gargalo para compactar a camada de entrada antes de se reconstruir dentro da camada de saída. O estágio da camada de entrada à camada oculta é referido como “codificação” enquanto o estágio da camada oculta à camada de saída é conhecido como “decodificação.”