Искусственные нейронные сети

В продуктах Data Mining для решения задач классификации и регрессии используют так называемые нейронные сети прямого распространения (их также называют многослойным персептроном). Такая сеть состоит из совокупности узлов (нейронов), соединенных между собой связями. Каждый узел является своеобразным обрабатывающим модулем. Все связи имеют определенный вес (числовой параметр), а ориентация соединяющих линий соответствует пути прохождения сигнала (рис. 7.1).

Рисунок 7.1 – Многослойный персептрон

Существует три типа узлов: входной, скрытый и выходной. Входные узлы формируют первый слой сети. В большинстве НС каждому из них соответствует один входной атрибут (возраст, пол, доход и т.д.). Перед обработкой исходное значение входного признака должно быть отмасштабировано (чаще всего в диапазоне от – 1 до 1).

Скрытые узлы расположены в промежуточных слоях; они получают входные сигналы от узлов предыдущего слоя, производят с ними определенные вычисления и результат обработки передают на вход узлов следующего слоя. Каждый нейрон скрытого слоя соединен со всеми нейронами предыдущего. Наличие скрытого слоя крайне важно, поскольку это позволяет моделировать нелинейные зависимости между входами и выходами сети.


Выходные узлы соответствуют зависимым (предсказываемым) переменным модели; на выходе сети формируется вещественное число в диапазоне от 0 до 1. В принципе НС может иметь несколько выходных узлов, однако почти всегда ее можно представить, как совокупность сетей с одним выходом.

В режиме прогнозирования НС работает довольно просто: поступающие сигналы подаются на входы и «прогоняются» через сеть, в результате чего на выходе генерируется рассчитанное значение; затем оно подвергается денормализации в исходное значение (для непрерывных) или в исходное состояние (для дискретных атрибутов).

После того как архитектура нейронной сети сформирована (задано число слоев и нейронов в каждом слое), запускается процесс обучения сети; суть его состоит в нахождении оптимальных значений весовых коэффициентов. Это сложный вычислительный процесс, который может длиться довольно долго. На его начальном этапе в качестве весов используют случайные числа. Затем на каждой итерации все примеры из обучающей выборки «прогоняют» через сеть с текущими весовыми коэффициентами, определяют выходные значения и величину ошибок. На основе информации об ошибках, по специальному правилу (которое зависит от выбранного алгоритма обучения) веса, НС корректируют, добиваясь все более точной ее работы.

Здесь необходимо более подробно рассмотреть понятие активационной функции, получившей свое название от биологического термина «активация» (возбуждение нервной клетки). Каждый нейрон в НС, как указывалось ранее, представляет собой элементарный блок, который суммирует входные сигналы и генерирует на их основе выходной (аналогичный уровню возбуждения в биологии).

Суммирование чаще всего осуществляется путем расчета средней взвешенной (линейной комбинации входных сигналов и их весов), а для определения выходного значения как раз и используется активационная функция.

Существует несколько несложных аналитических функций, удовлетворяющих данному требованию. Чаще всего в НС используют две из них:

– сигмоиду – f = 1/(1 + ea) (рис. 7.2);

– гиперболический тангенс – f = th(a) = (еа – е-a)/ (еа + е-a) (рис. 7.3); где а – параметр крутизны функции, f – выходное значение.


Рисунок 7.2 – Сигмоида

Рисунок 7.3 – Гиперболический тангенс

Важнейший вопрос, возникающий при построении нейросетевой модели, – определение архитектуры НС, в частности количества скрытых слоев и нейронов в них. При его решении рекомендуется руководствоваться следующими правилами.

1. Количество скрытых слоев в большинстве случаев не должно быть больше двух.

2. Если две обученные нейросети имеют одинаковый порядок ошибок обучения и обобщения, предпочтение следует отдать более простой (содержащей меньше скрытых слоев и нейронов).

3. Количество примеров обучающей выборки должно быть в 1,5–2 раза больше числа связей (весов).

4. Количество нейронов в скрытых слоях можно приблизительно

рассчитать по формуле с√mn, где п – число входных нейронов, т число выходов сети, с – константа (по умолчанию с = 4).

5. Другой существенный вопрос – определение момента, когда обучение сети следует прекратить. Проблема состоит в том, что слишком долгое обучение может привести к адаптации параметров НС (весов) к любым


нерегулярностям в обучающих данных (так называемое «переобучение сети»).

Истинная цель обучения сети состоит в таком подборе ее архитектуры и параметров, которые обеспечат минимальную погрешность распознавания тестового множества данных, не участвовавших в обучении.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: