Eu estava querendo experimentar com uma rede neural um problema de classificação que estou enfrentando. Encontrei artigos que falam de RBMs. Mas pelo que entendi, eles não são diferentes de ter uma rede neural multicamada. Isso é preciso?
Além disso, trabalho com R e não estou vendo nenhum pacote enlatado para RBMs. Eu me deparei com literatura que fala sobre redes de aprendizado profundo, que são basicamente RBMs empilhadas, mas não tenho certeza se vale a pena o esforço para implementá-las em R. Alguém teria alguma dica? obrigado
r
machine-learning
classification
neural-networks
brócolis
fonte
fonte
Respostas:
Antes de tudo, os RBMs são certamente diferentes das redes neurais normais e, quando usadas corretamente, elas alcançam um desempenho muito melhor. Além disso, o treinamento de algumas camadas de um RBM e o uso dos pesos encontrados como ponto de partida para um NN Mulitlayer geralmente produz melhores resultados do que simplesmente o uso de um NN multicamada.
O melhor indicador que consigo pensar é este curso sobre o Coursera, ministrado por Geoffrey Hinton, que é uma das pessoas responsáveis pelos RBMs:
https://class.coursera.org/neuralnets-2012-001/class/index
os vídeos sobre RBMs e Denoising Autoencoders são um recurso valioso de aprendizado para qualquer pessoa interessada no tópico.
Quanto à implementação em R, também não conheço, mas se você quiser implementá-lo, é melhor não usar R puro (a menos que seus dados não sejam muito grandes). O treinamento de um RBM leva muito tempo e, se você usar R puro em vez de R com C, ele poderá crescer significativamente.
fonte
Em R, você pode usar a neuralnet e o RSNNS (que fornece uma interface para o Simulador de Rede Neural de Stuttgart ) para ajustar redes neurais padrão de multicamadas, mas existem diferenças no RBM.
Em relação à implementação de redes neurais profundas no R, acho que a única estratégia válida seria fazer a interface das implementações existentes do FOSS, que geralmente é uma solução muito melhor do que apenas reimplementar as coisas por conta própria (nunca entendi direito por que todo mundo precisa reinventar a roda). O R oferece muita funcionalidade para fazer isso e você pode aproveitar o tratamento de dados do R com a velocidade e os aspectos prontos para uso das soluções existentes. Por exemplo, pode-se fazer interface do MDP com os recursos de interface do Python / R, consulte, por exemplo, este documento .
Edit: Andrew Landgraf de Statistical Significant fornece algum código R para RBM .
fonte