Como uma rede neural artificial pode ser usada para agrupamentos não supervisionados?


52

Eu entendo como um artificial neural network (ANN), pode ser treinado de maneira supervisionada usando a retropropagação para melhorar o ajuste, diminuindo o erro nas previsões. Ouvi dizer que uma RNA pode ser usada para aprendizado não supervisionado, mas como isso pode ser feito sem uma função de custo de algum tipo para guiar os estágios de otimização? Com k-means ou o algoritmo EM, existe uma função para a qual cada iteração procura aumentar.

  • Como podemos fazer cluster com uma RNA e que mecanismo ele usa para agrupar pontos de dados na mesma localidade?

(e quais recursos extras são trazidos com a adição de mais camadas a ele?)


Você está interessado no aprendizado não supervisionado da NN em geral, ou especificamente no agrupamento não supervisionado de redes neurais?
Denis Tarasov

@ DenisTarasov, estou interessado principalmente em cluster não supervisionado com NN, mas não sei muito sobre o aprendizado não supervisionado de NN em geral. Seria ótimo se uma resposta incluísse um pouco do aprendizado não supervisionado da NN em geral antes de discutir o aplicativo específico.
Vass

11
O Auto Organizing Map (SOM) é um tipo de rede usada para cluster.
Cagdas Ozgenc 03/03

aprendizado não supervisionado na RNA - Extrai propriedades estatísticas do conjunto de treinamento. - O aprendizado não supervisionado é mais difícil, mas é visto como biologicamente plausível. - Não requer professor.
Yonas #

Respostas:


56

As redes neurais são amplamente usadas no aprendizado não supervisionado para aprender melhores representações dos dados de entrada. Por exemplo, dado um conjunto de documentos de texto, o NN pode aprender um mapeamento de documento para vetor com valor real, de maneira que os vetores resultantes sejam semelhantes para documentos com conteúdo semelhante, ou seja, preservação de distância. Isso pode ser conseguido usando, por exemplo, auto-codificadores - um modelo treinado para reconstruir o vetor original a partir de uma representação menor (ativações de camada oculta) com erro de reconstrução (distância da função ID) como função de custo. Esse processo não fornece clusters, mas cria representações significativas que podem ser usadas para cluster. Você pode, por exemplo, executar um algoritmo de agrupamento nas ativações da camada oculta.

Clustering: Existem várias arquiteturas NN diferentes projetadas especificamente para clustering. O mais conhecido é provavelmente mapas auto-organizados. Um SOM é um NN que possui um conjunto de neurônios conectados para formar uma grade topológica (geralmente retangular). Quando algum padrão é apresentado a um SOM, o neurônio com vetor de peso mais próximo é considerado vencedor e seus pesos são adaptados ao padrão, bem como os pesos de sua vizinhança. Dessa maneira, um SOM encontra naturalmente clusters de dados. Um algoritmo um tanto relacionado está aumentando o gás neural (não se limita ao número predefinido de neurônios).

Outra abordagem é a Teoria da Ressonância Adaptativa, na qual temos duas camadas: "campo de comparação" e "campo de reconhecimento". O campo de reconhecimento também determina a melhor correspondência (neurônio) para o vetor transferido do campo de comparação e também possui conexões inibitórias laterais. Detalhes de implementação e equações exatas podem ser facilmente encontrados pesquisando os nomes desses modelos no Google, por isso não os colocarei aqui.


15

Você deseja pesquisar em mapas auto-organizados . Kohonen (que os inventou) escreveu um livro sobre eles. Existem pacotes para isso em R ( som , kohonen ) e implementações em outros idiomas, como o MATLAB .


você pode entrar em alguns detalhes sobre como o NN pode fazer isso e elaborar a teoria? possivelmente também explica o efeito do uso de um NN profundo (DNN)?
Vass

11
Receio ter muito pouca experiência aqui, @Vass. Eu não acho que adicionar camadas extras fará muito, além de diminuir a velocidade. Alguém terá que lhe dar a teoria, eu só queria começar.
gung - Restabelece Monica

11
Um aluno de nosso laboratório experimentou o armazenamento em cluster usando o SOM. Demorou uma eternidade para ser executado e os resultados foram muito decepcionantes em comparação com outras abordagens (no nosso caso, algoritmos de agrupamento de gráficos padrão). Sempre fiquei intrigado com o fato de o domínio alvo 2D padrão (grade topológica) parecer um espaço altamente arbitrário. Mais preocupante é que é muito simplista e precisa essencialmente compactar os dados em um espaço descrito por apenas duas variáveis.
micans

O @micans mostra alguns pontos positivos, mas os dados não são simplesmente compactados em um espaço descrito por apenas duas variáveis, porque cada nó também está associado a um protótipo. Além disso, se a execução for lenta, pode ser um problema de implementação. Estatisticamente, outros métodos além do SOM devem alcançar melhores resultados de classificação. Quanto à questão da topologia, o cérebro parece estar organizado como camadas de topologia 2D, mas alcança ótimos resultados (ou pelo menos gostaria de pensar).
Tom Anderson
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.