Aprendizagem não supervisionada

Aprendizagem não supervisionada é uma estrutura em aprendizagem de máquina onde, em contraste com a aprendizagem supervisionada , algoritmos aprendem padrões exclusivamente de dados não rotulados. [1] Outras estruturas no espectro de supervisões incluem supervisão fraca ou semi-supervisão , onde uma pequena porção dos dados é marcada, e auto-supervisão . Alguns pesquisadores consideram a aprendizagem auto-supervisionada uma forma de aprendizagem não supervisionada. [2]

Conceitualmente, o aprendizado não supervisionado se divide em aspectos de dados, treinamento, algoritmo e aplicativos downstream. Normalmente, o conjunto de dados é coletado de forma barata "na natureza", como um corpus de texto massivo obtido por web crawling , com apenas uma filtragem menor (como Common Crawl ). Isso se compara favoravelmente ao aprendizado supervisionado, onde o conjunto de dados (como o ImageNet1000 ) é tipicamente construído manualmente, o que é muito mais caro.

Havia algoritmos projetados especificamente para aprendizado não supervisionado, como algoritmos de agrupamento como k-means , técnicas de redução de dimensionalidade como análise de componentes principais (PCA) , aprendizado de máquina de Boltzmann e autocodificadores . Após o surgimento do aprendizado profundo, a maioria do aprendizado não supervisionado em larga escala foi feita treinando arquiteturas de rede neural de propósito geral por descida de gradiente , adaptadas para executar aprendizado não supervisionado projetando um procedimento de treinamento apropriado.

Às vezes, um modelo treinado pode ser usado como está, mas, mais frequentemente, eles são modificados para aplicações posteriores. Por exemplo, o método de pré-treinamento generativo treina um modelo para gerar um conjunto de dados textuais, antes de ajustá-lo para outras aplicações, como classificação de texto. [3] [4] Como outro exemplo, autocodificadores são treinados para bons recursos , que podem então ser usados ​​como um módulo para outros modelos, como em um modelo de difusão latente .

Tarefas

Tendência de uma tarefa empregar métodos supervisionados vs. não supervisionados. Nomes de tarefas que abrangem limites de círculos são intencionais. Isso mostra que a divisão clássica de tarefas imaginativas (esquerda) empregando métodos não supervisionados é confusa nos esquemas de aprendizagem de hoje.

As tarefas são frequentemente categorizadas como discriminativas (reconhecimento) ou generativas (imaginação). Frequentemente, mas não sempre, as tarefas discriminativas usam métodos supervisionados e as tarefas generativas usam métodos não supervisionados (veja o diagrama de Venn ); no entanto, a separação é muito nebulosa. Por exemplo, o reconhecimento de objetos favorece o aprendizado supervisionado, mas o aprendizado não supervisionado também pode agrupar objetos em grupos. Além disso, conforme o progresso avança, algumas tarefas empregam ambos os métodos, e algumas tarefas oscilam de um para o outro. Por exemplo, o reconhecimento de imagem começou como fortemente supervisionado, mas se tornou híbrido ao empregar pré-treinamento não supervisionado e, em seguida, mudou para a supervisão novamente com o advento do abandono , ReLU e taxas de aprendizado adaptativo .

Uma tarefa generativa típica é a seguinte. Em cada etapa, um ponto de dados é amostrado do conjunto de dados, e parte dos dados é removida, e o modelo deve inferir a parte removida. Isso é particularmente claro para os autoencoders de denoising e BERT .

Arquiteturas de redes neurais

Treinamento

Durante a fase de aprendizado, uma rede não supervisionada tenta imitar os dados que lhe são fornecidos e usa o erro em sua saída imitada para se corrigir (ou seja, corrigir seus pesos e vieses). Às vezes, o erro é expresso como uma baixa probabilidade de que a saída errônea ocorra, ou pode ser expresso como um estado instável de alta energia na rede.

Em contraste com o uso dominante de retropropagação em métodos supervisionados , o aprendizado não supervisionado também emprega outros métodos, incluindo: regra de aprendizado de Hopfield, regra de aprendizado de Boltzmann, Divergência Contrastiva , Vigília-Sono , Inferência Variacional , Máxima Verossimilhança , Máximo A Posteriori , Amostragem de Gibbs e erros de reconstrução de retropropagação ou reparametrizações de estado oculto. Veja a tabela abaixo para mais detalhes.

Energia

Uma função de energia é uma medida macroscópica do estado de ativação de uma rede. Em máquinas de Boltzmann, ela desempenha o papel da função de Custo. Esta analogia com a física é inspirada pela análise de Ludwig Boltzmann da energia macroscópica de um gás a partir das probabilidades microscópicas do movimento de partículas , onde k é a constante de Boltzmann e T é a temperatura. Na rede RBM a relação é , [5] onde e variam em cada padrão de ativação possível e . Para ser mais preciso, , onde é um padrão de ativação de todos os neurônios (visíveis e ocultos). Portanto, algumas redes neurais antigas levam o nome de Máquina de Boltzmann. Paul Smolensky chama a Harmonia de . Uma rede busca baixa energia que é alta Harmonia.

Redes

Esta tabela mostra diagramas de conexão de várias redes não supervisionadas, cujos detalhes serão fornecidos na seção Comparação de Redes. Círculos são neurônios e arestas entre eles são pesos de conexão. Conforme o design da rede muda, recursos são adicionados para habilitar novas capacidades ou removidos para tornar o aprendizado mais rápido. Por exemplo, neurônios mudam entre determinísticos (Hopfield) e estocásticos (Boltzmann) para permitir uma saída robusta, pesos são removidos dentro de uma camada (RBM) para acelerar o aprendizado, ou conexões podem se tornar assimétricas (Helmholtz).

Campo de salto Boltzmann RBM Boltzmann empilhado
Uma rede baseada em domínios magnéticos em ferro com uma única camada autoconectada. Pode ser usada como uma memória endereçável de conteúdo.
A rede é separada em 2 camadas (oculta vs. visível), mas ainda usando pesos simétricos de 2 vias. Seguindo a termodinâmica de Boltzmann, probabilidades individuais dão origem a energias macroscópicas.
Máquina de Boltzmann Restrita. Esta é uma máquina de Boltzmann onde conexões laterais dentro de uma camada são proibidas para tornar a análise tratável.
Esta rede tem vários RBMs para codificar uma hierarquia de recursos ocultos. Depois que um único RBM é treinado, outra camada oculta azul (veja RBM à esquerda) é adicionada, e as 2 camadas superiores são treinadas como um RBM vermelho e azul. Assim, as camadas do meio de um RBM agem como ocultas ou visíveis, dependendo da fase de treinamento em que está.
Helmholtz Autocodificador VAE
Em vez da conexão simétrica bidirecional das máquinas de Boltzmann empilhadas, temos conexões unidirecionais separadas para formar um loop. Ele faz geração e discriminação.
Uma rede feed forward que visa encontrar uma boa representação de camada intermediária de seu mundo de entrada. Esta rede é determinística, então não é tão robusta quanto sua sucessora, a VAE.
Aplica Inferência Variacional ao Autoencoder. A camada do meio é um conjunto de médias e variâncias para distribuições Gaussianas. A natureza estocástica permite uma imaginação mais robusta do que o autoencoder determinístico.

Das redes que carregam nomes de pessoas, apenas Hopfield trabalhou diretamente com redes neurais. Boltzmann e Helmholtz vieram antes das redes neurais artificiais, mas seus trabalhos em física e fisiologia inspiraram os métodos analíticos que foram usados.

História

1974 Modelo magnético de Ising proposto por WA Little  [de] para cognição
1980 Fukushima introduz o neocognitron , que mais tarde é chamado de rede neural convolucional . É mais usado em SL, mas merece uma menção aqui.
1982 A variante Ising da rede de Hopfield é descrita como CAMs e classificadores por John Hopfield.
1983 Máquina de Boltzmann variante de Ising com neurônios probabilísticos descrita por Hinton e Sejnowski seguindo o trabalho de Sherington e Kirkpatrick de 1975.
1986 Paul Smolensky publica Harmony Theory, que é um RBM com praticamente a mesma função de energia de Boltzmann. Smolensky não deu um esquema de treinamento prático. Hinton deu em meados dos anos 2000.
1995 Schmidthuber apresenta o neurônio LSTM para idiomas.
1995 Dayan & Hinton apresenta a máquina de Helmholtz
2013 Kingma, Rezende e outros introduziram Autocodificadores Variacionais como redes de probabilidade gráfica Bayesianas, com redes neurais como componentes.

Redes Específicas

Aqui, destacamos algumas características de redes selecionadas. Os detalhes de cada uma são fornecidos na tabela de comparação abaixo.

Rede Hopfield
O ferromagnetismo inspirou redes de Hopfield. Um neurônio corresponde a um domínio de ferro com momentos magnéticos binários Up e Down, e as conexões neurais correspondem à influência do domínio um sobre o outro. As conexões simétricas permitem uma formulação de energia global. Durante a inferência, a rede atualiza cada estado usando a função de etapa de ativação padrão. Pesos simétricos e as funções de energia corretas garantem a convergência para um padrão de ativação estável. Pesos assimétricos são difíceis de analisar. As redes de Hopfield são usadas como Memórias Endereçáveis ​​de Conteúdo (CAM).
Máquina de Boltzmann
Essas são redes de Hopfield estocásticas. Seu valor de estado é amostrado deste pdf da seguinte forma: suponha que um neurônio binário dispara com a probabilidade de Bernoulli p(1) = 1/3 e descansa com p(0) = 2/3. Uma amostra dele pegando um número aleatório uniformemente distribuído y, e conectando-o na função de distribuição cumulativa invertida , que neste caso é a função degrau com limite de 2/3. A função inversa = { 0 se x <= 2/3, 1 se x > 2/3 }.
Rede de Crenças Sigmoidais
Introduzida por Radford Neal em 1992, esta rede aplica ideias de modelos gráficos probabilísticos a redes neurais. Uma diferença fundamental é que os nós em modelos gráficos têm significados pré-atribuídos, enquanto as características dos neurônios da Belief Net são determinadas após o treinamento. A rede é um gráfico acíclico direcionado esparsamente conectado composto de neurônios estocásticos binários. A regra de aprendizagem vem da Máxima Verossimilhança em p(X): Δw ij s j * (s i - p i ), onde p i = 1 / ( 1 + e entradas ponderadas no neurônio i ). s j 's são ativações de uma amostra imparcial da distribuição posterior e isso é problemático devido ao problema Explaining Away levantado por Judea Perl. Os métodos bayesianos variacionais usam um posterior substituto e descaradamente desconsideram essa complexidade.
Rede de Crenças Profundas
Introduzida por Hinton, esta rede é um híbrido de RBM e Sigmoid Belief Network. As 2 camadas superiores são uma RBM e a segunda camada para baixo forma uma rede de crenças sigmoid. Um treina pelo método RBM empilhado e então joga fora os pesos de reconhecimento abaixo do RBM superior. Em 2009, 3-4 camadas parecem ser a profundidade ideal. [6]
Máquina de Helmholtz
Essas são as primeiras inspirações para os Variational Auto Encoders. Suas 2 redes combinadas em uma — pesos para frente operam o reconhecimento e pesos para trás implementam a imaginação. É talvez a primeira rede a fazer as duas coisas. Helmholtz não trabalhou em aprendizado de máquina, mas inspirou a visão de "mecanismo de inferência estatística cuja função é inferir causas prováveis ​​de entrada sensorial". [7] o neurônio binário estocástico emite uma probabilidade de que seu estado seja 0 ou 1. A entrada de dados normalmente não é considerada uma camada, mas no modo de geração de máquina de Helmholtz, a camada de dados recebe a entrada da camada do meio e tem pesos separados para esse propósito, então é considerada uma camada. Portanto, essa rede tem 3 camadas.
Autocodificador variacional
Elas são inspiradas por máquinas de Helmholtz e combinam rede de probabilidade com redes neurais. Um Autoencoder é uma rede CAM de 3 camadas, onde a camada do meio deve ser alguma representação interna de padrões de entrada. A rede neural codificadora é uma distribuição de probabilidade q φ (z dado x) e a rede decodificadora é p θ (x dado z). Os pesos são chamados phi & theta em vez de W e V como em Helmholtz — uma diferença cosmética. Essas 2 redes aqui podem ser totalmente conectadas ou usar outro esquema NN.

Comparação de redes

Campo de salto Boltzmann RBM RBM empilhado Helmholtz Autocodificador VAE
Uso e notáveis CAM, problema do caixeiro viajante CAM. A liberdade de conexões torna essa rede difícil de analisar. reconhecimento de padrões. usado em dígitos e fala MNIST. reconhecimento e imaginação. treinados com pré-treinamento não supervisionado e/ou ajuste fino supervisionado. imaginação, mimetismo idioma: escrita criativa, tradução. visão: melhorar imagens desfocadas gerar dados realistas
Neurônio estado binário determinístico. Ativação = { 0 (ou -1) se x for negativo, 1 caso contrário } neurônio estocástico binário de Hopfield ← o mesmo. (estendido para valor real em meados dos anos 2000) ← mesmo ← mesmo idioma: LSTM. visão: campos receptivos locais. geralmente ativação relu de valor real. neurônios da camada intermediária codificam médias e variâncias para Gaussianas. No modo de execução (inferência), a saída da camada intermediária são valores amostrados das Gaussianas.
Conexões 1 camada com pesos simétricos. Sem autoconexões. 2 camadas. 1 oculta e 1 visível. Pesos simétricos. ← o mesmo.
sem conexões laterais dentro de uma camada.
a camada superior é não direcionada, simétrica. as outras camadas são bidirecionais, assimétricas. 3 camadas: pesos assimétricos. 2 redes combinadas em 1. 3 camadas. A entrada é considerada uma camada, mesmo que não tenha pesos de entrada. Camadas recorrentes para PNL. Convoluções de feedforward para visão. Entrada e saída têm as mesmas contagens de neurônios. 3 camadas: entrada, codificador, amostrador de distribuição e decodificador. O amostrador não é considerado uma camada
Inferência e energia A energia é dada pela medida de probabilidade de Gibbs: ← mesmo ← mesmo minimizar a divergência KL a inferência é apenas feed-forward. as redes UL anteriores funcionavam para frente E para trás minimizar erro = erro de reconstrução - KLD
Treinamento Δw ij = s i *s j , para neurônio +1/-1 Δw ij = e*(p ij - p' ij ). Isso é derivado da minimização de KLD. e = taxa de aprendizagem, p' = distribuição prevista e p = distribuição real. Δw ij = e*( < v i h j > dados - < v i h j > equilíbrio ). Esta é uma forma de divergência contrastiva com amostragem de Gibbs. "<>" são expectativas. ← semelhante. treinar 1 camada de cada vez. estado de equilíbrio aproximado com uma passagem de 3 segmentos. sem retropropagação. treinamento de 2 fases de vigília e sono propagar de volta o erro de reconstrução reparametrizar estado oculto para backprop
Força assemelha-se a sistemas físicos, por isso herda suas equações ← mesmo. neurônios ocultos atuam como representação interna do mundo externo esquema de treinamento mais rápido e prático do que as máquinas de Boltzmann treina rapidamente. fornece camada hierárquica de recursos levemente anatômico. analisável com teoria da informação e mecânica estatística
Fraqueza difícil de treinar devido às conexões laterais o equilíbrio requer muitas iterações Neurônios inteiros e de valor real são mais complicados.

Aprendizagem Hebbian, ARTE, SOM

O exemplo clássico de aprendizagem não supervisionada no estudo de redes neurais é o princípio de Donald Hebb , ou seja, neurônios que disparam juntos se conectam. [8] Na aprendizagem Hebbiana , a conexão é reforçada independentemente de um erro, mas é exclusivamente uma função da coincidência entre potenciais de ação entre os dois neurônios. [9] Uma versão semelhante que modifica os pesos sinápticos leva em consideração o tempo entre os potenciais de ação ( plasticidade dependente do tempo de pico ou STDP). A aprendizagem Hebbiana foi hipotetizada como subjacente a uma série de funções cognitivas, como reconhecimento de padrões e aprendizagem experiencial.

Entre os modelos de rede neural , o mapa auto-organizado (SOM) e a teoria de ressonância adaptativa (ART) são comumente usados ​​em algoritmos de aprendizado não supervisionados. O SOM é uma organização topográfica na qual locais próximos no mapa representam entradas com propriedades semelhantes. O modelo ART permite que o número de clusters varie com o tamanho do problema e permite que o usuário controle o grau de similaridade entre os membros dos mesmos clusters por meio de uma constante definida pelo usuário chamada parâmetro de vigilância. As redes ART são usadas para muitas tarefas de reconhecimento de padrões, como reconhecimento automático de alvos e processamento de sinais sísmicos. [10]

Métodos probabilísticos

Dois dos principais métodos usados ​​no aprendizado não supervisionado são a análise de componentes principais e de cluster . A análise de cluster é usada no aprendizado não supervisionado para agrupar ou segmentar conjuntos de dados com atributos compartilhados para extrapolar relacionamentos algorítmicos. [11] A análise de cluster é um ramo do aprendizado de máquina que agrupa os dados que não foram rotulados , classificados ou categorizados. Em vez de responder ao feedback, a análise de cluster identifica semelhanças nos dados e reage com base na presença ou ausência de tais semelhanças em cada novo pedaço de dados. Essa abordagem ajuda a detectar pontos de dados anômalos que não se encaixam em nenhum dos grupos.

Uma aplicação central do aprendizado não supervisionado está no campo da estimativa de densidade em estatística , [12] embora o aprendizado não supervisionado abranja muitos outros domínios que envolvem resumir e explicar características de dados. Ele pode ser contrastado com o aprendizado supervisionado dizendo que enquanto o aprendizado supervisionado pretende inferir uma distribuição de probabilidade condicional condicionada ao rótulo dos dados de entrada; o aprendizado não supervisionado pretende inferir uma distribuição de probabilidade a priori .

Abordagens

Alguns dos algoritmos mais comuns usados ​​em aprendizado não supervisionado incluem: (1) Clustering, (2) Detecção de anomalias, (3) Abordagens para aprendizado de modelos de variáveis ​​latentes. Cada abordagem usa vários métodos, como segue:

Método dos momentos

Uma das abordagens estatísticas para aprendizado não supervisionado é o método dos momentos . No método dos momentos, os parâmetros desconhecidos (de interesse) no modelo são relacionados aos momentos de uma ou mais variáveis ​​aleatórias e, portanto, esses parâmetros desconhecidos podem ser estimados dados os momentos. Os momentos são geralmente estimados a partir de amostras empiricamente. Os momentos básicos são momentos de primeira e segunda ordem. Para um vetor aleatório, o momento de primeira ordem é o vetor médio e o momento de segunda ordem é a matriz de covariância (quando a média é zero). Momentos de ordem superior são geralmente representados usando tensores que são a generalização de matrizes para ordens superiores como matrizes multidimensionais.

Em particular, o método dos momentos é mostrado como eficaz na aprendizagem dos parâmetros de modelos de variáveis ​​latentes . Modelos de variáveis ​​latentes são modelos estatísticos onde, além das variáveis ​​observadas, também existe um conjunto de variáveis ​​latentes que não são observadas. Um exemplo altamente prático de modelos de variáveis ​​latentes em aprendizado de máquina é a modelagem de tópicos , que é um modelo estatístico para gerar as palavras (variáveis ​​observadas) no documento com base no tópico (variável latente) do documento. Na modelagem de tópicos, as palavras no documento são geradas de acordo com diferentes parâmetros estatísticos quando o tópico do documento é alterado. É mostrado que o método dos momentos (técnicas de decomposição tensorial) recupera consistentemente os parâmetros de uma grande classe de modelos de variáveis ​​latentes sob algumas suposições. [15]

O algoritmo Expectation–maximization (EM) também é um dos métodos mais práticos para aprender modelos de variáveis ​​latentes. No entanto, ele pode ficar preso em ótimos locais, e não é garantido que o algoritmo convergirá para os verdadeiros parâmetros desconhecidos do modelo. Em contraste, para o método dos momentos, a convergência global é garantida sob algumas condições.

Veja também

Referências

  1. ^ Wu, Wei. "Aprendizagem não supervisionada" (PDF) . Arquivado (PDF) do original em 14 de abril de 2024 . Recuperado em 26 de abril de 2024 .
  2. ^ Liu, Xiao; Zhang, Fanjin; Hou, Zhenyu; Mian, Li; Wang, Zhao Yu; Zhang, Jing; Tang, Jie (2021). "Aprendizagem auto-supervisionada: generativa ou contrastiva". Transações IEEE sobre Engenharia de Conhecimento e Dados : 1. arXiv : 2006.08218 . doi :10.1109/TKDE.2021.3090866. ISSN  1041-4347.
  3. ^ Radford, Alec; Narasimhan, Karthik; Salimans, Tim; Sutskever, Ilya (11 de junho de 2018). "Melhorando a compreensão da linguagem por meio do pré-treinamento generativo" (PDF) . OpenAI . p. 12. Arquivado (PDF) do original em 26 de janeiro de 2021 . Recuperado em 23 de janeiro de 2021 .
  4. ^ Li, Zhuohan; Wallace, Eric; Shen, Sheng; Lin, Kevin; Keutzer, Kurt; Klein, Dan; Gonzalez, Joey (2020-11-21). "Treine grande, depois comprima: repensando o tamanho do modelo para treinamento e inferência eficientes de transformadores". Anais da 37ª Conferência Internacional sobre Aprendizado de Máquina . PMLR: 5958–5968.
  5. ^ Hinton, G. (2012). "Um guia prático para treinar máquinas de Boltzmann restritas" (PDF) . Redes neurais: truques do ofício . Anotações de aula em ciência da computação. Vol. 7700. Springer. pp. 599–619. doi :10.1007/978-3-642-35289-8_32. ISBN 978-3-642-35289-8. Arquivado (PDF) do original em 2022-09-03 . Recuperado em 2022-11-03 .
  6. ^ "Deep Belief Nets" (vídeo). Setembro de 2009. Arquivado do original em 2022-03-08 . Recuperado em 2022-03-27 . {{cite web}}: Parâmetro desconhecido |people=ignorado ( ajuda )
  7. ^ Peter, Dayan ; Hinton, Geoffrey E. ; Neal, Radford M. ; Zemel, Richard S. (1995). "A máquina de Helmholtz". Computação Neural . 7 (5): 889–904. doi :10.1162/neco.1995.7.5.889. hdl : 21.11116/0000-0002-D6D3-E . PMID  7584891. S2CID  1890561. Ícone de acesso fechado
  8. ^ Buhmann, J.; Kuhnel, H. (1992). "Agrupamento de dados supervisionado e não supervisionado com redes neurais competitivas". [Anais 1992] IJCNN International Joint Conference on Neural Networks . Vol. 4. IEEE. pp. 796–801. doi :10.1109/ijcnn.1992.227220. ISBN 0780305590. S2CID  62651220.
  9. ^ Comesaña-Campos, Alberto; Bouza-Rodríguez, José Benito (junho de 2016). “Uma aplicação da aprendizagem Hebbiana na tomada de decisão do processo de design”. Jornal de Manufatura Inteligente . 27 (3): 487–506. doi :10.1007/s10845-014-0881-z. ISSN0956-5515  . S2CID207171436  .
  10. ^ Carpenter, GA & Grossberg, S. (1988). "A ARTE do reconhecimento de padrões adaptativos por uma rede neural auto-organizada" (PDF) . Computador . 21 (3): 77–88. doi :10.1109/2.33. S2CID  14625094. Arquivado do original (PDF) em 2018-05-16 . Recuperado em 2013-09-16 .
  11. ^ Roman, Victor (2019-04-21). "Aprendizado de máquina não supervisionado: análise de clustering". Medium . Arquivado do original em 2020-08-21 . Recuperado em 2019-10-01 .
  12. ^ Jordan, Michael I.; Bishop, Christopher M. (2004). "7. Sistemas Inteligentes §Redes Neurais". Em Tucker, Allen B. (ed.). Manual de Ciência da Computação (2ª ed.). Chapman & Hall/CRC Press. doi :10.1201/9780203494455. ISBN 1-58488-360-X. Arquivado do original em 2022-11-03 . Recuperado em 2022-11-03 .
  13. ^ Hastie, Tibshirani e Friedman 2009, pp. 485–586
  14. ^ Garbade, Dr Michael J. (2018-09-12). "Entendendo o agrupamento de K-means em aprendizado de máquina". Medium . Arquivado do original em 2019-05-28 . Recuperado em 2019-10-31 .
  15. ^ Anandkumar, Animashree; Ge, Rong; Hsu, Daniel; Kakade, Sham; Telgarsky, Matus (2014). "Decomposições de tensor para aprendizagem de modelos de variáveis ​​latentes" (PDF) . Journal of Machine Learning Research . 15 : 2773–2832. arXiv : 1210.7559 . Bibcode :2012arXiv1210.7559A. Arquivado (PDF) do original em 2015-03-20 . Recuperado em 2015-04-10 .

Leitura adicional

Retrieved from "https://en.wikipedia.org/w/index.php?title=Unsupervised_learning&oldid=1250214854"