До сих пор в данной главе рассматривалась проблема определения в процессе обучения весов связей при наличии заданной структуры сети; но, как и в случае с байесовскими сетями, необходимо также знать, как найти наилучшую структуру сети. Если будет выбрана сеть, которая слишком велика, она будет способна запомнить все примеры благодаря формированию большой поисковой таблицы, но не обязательно обеспечит качественное обобщение применительно к входным данным, с которыми еще не сталкивалась. Иными словами, как и все статистические модели, нейронные сети подвержены такому недостатку, как чрезмерно тщательная подгонка, когда количество параметров в модели слишком велико. В этом можно убедиться, рассматривая рис. 18.1, где показано, что модели с большим количеством параметров на рис. 18.1, б, в хорошо согласуются со всеми данными, но не обеспечивают такого же хорошего обобщения, как модели с малым количеством параметров, показанные на рис. 18.1, а и г. Если мы остановимся исключительно на полносвязных сетях, то единственные изменения, которые могут быть внесены в структуру сети, относятся только к количеству скрытых слоев и их размерам. Обычно применяется подход, который предусматривает опробование нескольких вариантов и сохранение наилучшего. Если же решено придерживаться требования по предотвращению компрометации проверочного набора, то необходимо использовать методы перекрестной проверки, описанные в главе 18. Это означает, что выбор останавливается на такой архитектуре сети, которая обеспечивает наивысшую точность прогнозирования при проверке с помощью испытательных наборов. Если же решено прибегнуть к использованию сетей, которые не являются полносвязными, то необходимо найти какой-то эффективный метод поиска в очень большом пространстве возможных топологий связей. Алгоритм оптимального повреждения мозга (optimal brain damage) начинает свою работу с полносвязной сети и удаляет из нее связи. После обучения сети в первый раз с помощью подхода на основе теории информации определяется оптимальный выбор связей, которые могут быть удалены. После этого осуществляется повторное обучение сети, и если ее производительность не уменьшается, то этот процесс повторяется. Кроме удаления связей, возможно также удаление элементов, которые не вносят большого вклада в результат. Было также предложено несколько алгоритмов для формирования большой сети из малой. Один из таких алгоритмов, называемый алгоритмом заполнения мозаики (tiling), напоминает алгоритм обучения списков решений. Его идея состоит в том, что процесс начинается с одного элемента, который настраивается наилучшим образом для выработки правильных выходных данных для максимально возможного количества обучающих примеров. Для обработки примеров, которые не могли быть правильно обработаны первым элементом, вводятся дополнительные элементы. Этот алгоритм предусматривает введение только такого количества элементов, которое требуется для охвата всех примеров.
|