Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Кодирование упорядоченных качественных признаков
Таблица 6. Кодирование упорядоченного качественного признака
Состояние Вектор входных сигналов α1 (b,a,a,…,a) α2 (b,b,a,…,a) αn (b,b,…,b,b)Упорядоченные частные признаки, в отличие от неупорядоченных, имеют отношение порядка между состояниями. Однако кодирование их разными значениями одного входного сигнала неразумно из-за того, что расстояние между состояниями не определено, а такое кодирование эти расстояния задает явным образом. Поэтому, упорядоченные частные признаки рекомендуется кодировать в виде стольких входных сигналов, сколько состояний у признака. Но, в отличие от неупорядоченных признаков, накапливать число сигналов с максимальным значением. Для случая, когда все состояния обозначены через α1 < α2 < … < αn, рекомендуемая таблица кодировки приведена в табл. 6.
Числовые признаки
При предобработке численных сигналов необходимо учитывать содержательное значение признака, расположение значений признака в интервале значений, точность измерения значений признака. Продемонстрируем это на примерах.
Содержательное значение признака. Если входными данными сети является угол между двумя направлениями, например, направление ветра, то ни в коем случае не следует подавать на вход сети значение угла (не важно в градусах или радианах). Такая подача приведет к необходимости «уяснения» сетью того факта, что 0 градусов и 360 градусов одно и тоже. Разумнее выглядит подача в качестве входных данных синуса и косинуса этого угла. Число входных сигналов сети увеличивается, но зато близкие значения признака кодируются близкими входными сигналами.
Точность измерения признака. Так в метеорологии используется всего восемь направлений ветра. Значит, при подаче входного сигнала сети необходимо подавать не угол, а всего лишь информацию о том, в какой из восьми секторов этот угол попадает. Но тогда имеет смысл рассматривать направление ветра не как числовой параметр, а как неупорядоченный качественный признак с восемью состояниями.
Расположение значений признака в интервале значений. Следует рассмотреть вопрос о равнозначности изменения значения признака на некоторую величину в разных частях интервала значений признака. Как правило, это связано с косвенными измерениями (вместо одной величины измеряется другая). Например, сила притяжения двух небесных тел при условии постоянства массы однозначно характеризуется расстоянием между ними. Пусть рассматриваются расстояния от 1 до 100 метров. Легко понять, что при изменении расстояния с 1 до 2 метров, сила притяжения изменится в четыре раза, а при изменении с 99 до 100 метров — в 1.02 раза. Следовательно, вместо подачи расстояния следует подавать обратный квадрат расстояния c'=1/c².
Простейшая предобработка числовых признаков
Как уже отмечалось в разделе «Различимость входных данных» числовые сигналы рекомендуется масштабировать и сдвигать так, чтобы весь диапазон значений попадал в диапазон приемлемых входных сигналов. Эта предобработка проста и задается следующей формулой:
(1)
где [a,b] — диапазон приемлемых входных сигналов, [cmin,cmax] — диапазон значений признака c, c' — предобработанный сигнал, который будет подан на вход сети. Предобработку входного сигнала по формуле (1) будем называть простейшей предобработкой.
Оценка способности сети решить задачу
В данном разделе рассматриваются только сети, все элементы которых непрерывно зависят от своих аргументов (см. главу «Описание нейронных сетей»). Предполагается, что все входные данные предобработаны так, что все входные сигналы сети лежат в диапазоне приемлемых входных сигналов [a,b]. Будем обозначать вектора входных сигналов через xi, а требуемые ответы сети через fi. Компоненты векторов будем обозначать нижним индексом, например, компоненты входного вектора через xij. Будем полагать, что в каждом примере ответ является вектором чисел из диапазона приемлемых сигналов [a,b]. В случае обучения сети задаче классификации требуемый ответ зависит от вида используемого интерпретатора ответа (см. главу «Оценка и Интерпретатор ответа» ).
Нейронная сеть вычисляет некоторую вектор-функцию F от входных сигналов. Эта функция зависит от параметров сети. Обучение сети состоит в подборе такого набора параметров сети, чтобы величина была минимальной (в идеале равна нулю). Для того чтобы нейронная сеть могла хорошо приблизить заданную таблично функцию f необходимо, чтобы реализуемая сетью функция F при изменении входных сигналов с xi на xj могла изменить значение с fi на fj. Очевидно, что наиболее трудным для сети должно быть приближение функции в точках, в которых при малом изменении входных сигналов происходит большое изменение значения функции. Таким образом, наибольшую сложность будет представлять приближение функции f в точках, в которых достигает максимума выражение . Для аналитически заданных функций величина называется константой Липшица. Исходя из этих соображения можно дать следующее определение сложности задачи.
Сложность аппроксимации таблично заданной функцииf, которая в точках xi принимает значения fi, задается выборочной оценкой константы Липшица, вычисляемой по следующей формуле:
(2)
Оценка (2) является оценкой константы Липшица аппроксимируемой функции снизу.
Для того, чтобы оценить способность сети заданной конфигурации решить задачу, необходимо оценить константу Липшица сети и сравнить ее с выборочной оценкой (2). Константа Липшица сети вычисляется по следующей формуле:
(3)
В формулах (2) и (3) можно использовать произвольные нормы. Однако для нейронных сетей наиболее удобной является евклидова норма. Далее везде используется евклидова норма.
В следующем разделе описан способ вычисления оценки константы Липшица сети (3) сверху. Очевидно, что в случае сеть принципиально не способна решить задачу аппроксимации функции f.
Оценка константы Липшица сети
Оценку константы Липшица сети будем строить в соответствии с принципом иерархического устройства сети, описанным в главе «Описание нейронных сетей». При этом потребуются следующие правила.
Для композиции функций f∘g=f(g(x)) константа Липшица оценивается как произведение констант Липшица:
Λf∘g ≤ ΛfΛg (4)
Для вектор-функции f=(f1, f2, … fn) константа Липшица равна:
(5)
Способ вычисления константы Липшица
Для непрерывных функций константа Липшица является максимумом производной в направлении r=(r1, …, rn) по всем точкам и всем направлениям. При этом вектор направления имеет единичную длину:
Напомним формулу производной функции f(x1, …, xn) в направлении r:
(6)
Синапс
Обозначим входной сигнал синапса через x, а синаптический вес через α. Тогда выходной сигнал синапса равен αx. Поскольку синапс является функцией одной переменной, константа Липшица равна максимуму модуля производной — модулю синаптического веса:
Λs=|α| (7)
Умножитель
Обозначим входные сигналы умножителя через x1, x2 Тогда выходной сигнал умножителя равен . Используя (6) получаем . Выражение r1x2+r2x1 является скалярным произведением векторов (r1, r2) и, учитывая единичную длину вектора r, достигает максимума, когда эти векторы сонаправлены. То есть при векторе