Вы правы относительно немаркированных данных. УОКР - это генеративные модели, которые чаще всего используются в качестве учащихся без надзора.
При использовании для построения Deep Belief Network наиболее типичная процедура состоит в том, чтобы просто обучать каждый новый RBM по одному, когда они сложены друг на друга. Таким образом, противоречивая дивергенция не идет вверх и вниз в том смысле, который, я думаю, вы имеете в виду. Он работает только с одним RBM за один раз, используя скрытый слой предыдущего самого верхнего RBM в качестве входных данных для нового самого верхнего RBM. После всего этого вы можете рассматривать стек весов RBM в качестве начальных весов для стандартной нейронной сети с прямой связью и обучаться, используя ваши помеченные данные и обратное распространение, или делать что-то более экзотическое, например, использовать алгоритм пробуждения-сна. Обратите внимание, что мы не использовали никаких помеченных данных до этого последнего шага, что является одним из преимуществ этих типов моделей.
С другой стороны, есть несколько способов использовать RBM для классификации.
- Обучите RBM или стек из нескольких RBM. Используйте самый верхний скрытый слой в качестве входных данных для другого контролируемого ученика.
- Тренируйте RBM для каждого класса и используйте ненормализованные энергии в качестве входных данных для дискриминационного классификатора.
- Тренируйте RBM, чтобы быть моделью плотности соединения P (X, Y). Затем, учитывая некоторый вход x, просто выберите класс y, который минимизирует энергетическую функцию (нормализация здесь не проблема, как в предыдущем примере, поскольку константа Z одинакова для всех классов).
- Тренируй дискриминирующую RBM
Я настоятельно рекомендую вам прочитать технический отчет Джеффа Хинтона « Практическое руководство по обучению машин Больцмана с ограничениями ». Он обсуждает некоторые из этих вопросов более подробно, предоставляет бесценные советы, цитирует множество соответствующих статей и может помочь устранить любую другую путаницу, которая может возникнуть.
Пожалуйста, ознакомьтесь с реализацией, http://code.google.com/p/matrbm/ . Он имеет функцию классификации rmb fit, которую стоит рассмотреть. Также дайте мне знать, если вы найдете лучшие реализации DBN и RMB для классификации и регрессии.
источник
Я думаю, что одним из способов тестирования нейронных сетей, таких как Restricted Boltzman Machine (RBM), является применение их к новым наборам данных или, как правило, к подмножеству общего набора данных, и просмотр их работы. Вы также можете протестировать модель с перекрестной проверкой. Я использовал популярный программный инструментарий с открытым исходным кодом для машинного обучения (ML), который прост в установке и использовании и позволяет легко тестировать многие типы алгоритмов ML по отдельности с использованием ряда статистических данных регрессии модели ( http: // www. cs.waikato.ac.nz/ml/weka/ ). Это может дать вам быстрый анализ без особого вмешательства, кроме основ работы с программой, хотя в зависимости от того, может быть, это не стоит того, если вам будет сложно отформатировать ваши данные (хотя обычно вы можете, например, google "csv to arff convert online") для одношагового форматирования).
источник