При обучении нейронных сетей иногда возникают ситуации, когда дальнейшее обучение нейронной сети невозможно. В этом случае необходимо проанализировать причины. Возможно несколько видов анализа. Одной из возможных причин является высокая сложность задачи, определяемая как выборочная оценка константы Липшица.
Для упрощения задачи необходимо уменьшить выборочную оценку константы Липшица. Наиболее простой способ добиться этого — увеличить расстояние между входными сигналами. Рассмотрим пару примеров —
Определим среди координат векторов
Таблица 7. Кодирование параметра после разбиения на два сигнала
Предположим, что все входные параметры предобработаны в соответствии с формулой (1). Перенумеруем примеры обучающего множества так, чтобы были верны следующие неравенства:
Наиболее простой путь — разбить диапазон
Приведенный выше способ уменьшения критерия Липшица не единственный. В следующем разделе рассмотрен ряд способов предобработки, решающих ту же задачу.
Другие способы предобработки числовых признаков
В данном разделе будет рассмотрено три вида предобработки числовых признаков — модулярный, позиционный и функциональный. Основная идея этих методов предобработки состоит в том, чтобы сделать значимыми малые отличия больших величин. Действительно, пусть для ответа существенно изменение величины признака на единицу при значении признака порядка миллиона. Очевидно, что простейшая предобработка (1) сделает отличие в единицу неразличимым для нейронной сети при абсолютных значениях порядка миллиона.
Все эти виды предобработки обладают одним общим свойством — за счет кодирования входного признака несколькими сигналами они уменьшают сложность задачи (критерий Липшица).
Модулярная предобработка
Зададимся некоторым набором положительных чисел
где
Кодирование входного признака
Таблица 8. Пример сигналов при модулярном вводе
5 | 2 | 0 | 5 | 5 |
10 | 1 | 0 | 3 | 10 |
15 | 0 | 0 | 1 | 3 |
Однако модулярная предобработка обладает одним отрицательным свойством — во всех случаях, когда
Примером такого признака может служить угол между векторами, если в качестве величин
Функциональная предобработка
Функциональная предобработка преследует единственную цель — снижение константы Липшица задачи. В разделе «Предобработка, облегчающая обучение», был приведен пример такой предобработки. Рассмотрим общий случай функциональной предобработки, отображающих входной признак