Учебное пособие по курсу «Нейроинформатика»
Шрифт:
Примером такого признака может служить угол между векторами, если в качестве величин y выбрать yi=π/i.
Функциональная предобработка
Функциональная предобработка преследует единственную цель — снижение константы Липшица задачи. В разделе «Предобработка, облегчающая обучение», был приведен пример такой предобработки. Рассмотрим общий случай функциональной предобработки, отображающих входной признак x в k-мерный вектор z. Зададимся набором из k чисел, удовлетворяющих следующим условиям: xmin<y1<…<yk– 1<yk<xmax.
Таблица 9.
x | z1(x) | z2(x) | z3(x) | z4(x) |
---|---|---|---|---|
Линейная предобработка | ||||
1.5 | 0.5 | – 0.5 | – 1 | – 1 |
3.5 | 1 | 1 | 0.5 | – 0.5 |
Сигмоидная предобработка | ||||
1.5 | 0.3333 | – 0.3333 | – 0.6 | – 0.7142 |
3.5 | 0.7142 | 0.6 | 0.3333 | – 0.3333 |
Шапочная предобработка | ||||
1.5 | 0.6 | 0.6 | – 0.3846 | – 0.7241 |
3.5 | – 0.7241 | – 0.3846 | 0.6 | 0.6 |
Пусть φ — функция, определенная на интервале [xmin– yk, xmax– y1], а φmin,φmax — минимальное и максимальное значения функции φ на этом интервале. Тогда i-я координата вектора z вычисляется по следующей формуле:
Линейная предобработка. В линейной предобработке используется кусочно линейная функция:
Графики функций zi(x) представлены на рис. 2а. Видно, что с увеличением значения признака x ни одна функция не убывает, а их сумма возрастает. В табл. 9 представлены значения этих функций для двух точек — x1=1.5 и x2=3.5.
Сигмоидная предобработка. В сигмоидной предобработке может использоваться любая сигмоидная функция. Если в качестве сигмоидной функции использовать функцию S2, приведенную в разделе «Нейрон» этой
Графики функций zi(x) представлены на рис. 2б. Видно, что с увеличением значения признака x ни одна функция не убывает, а их сумма возрастает. В табл. 9 представлены значения этих функций для двух точек x1=1.5 и x2=3.5.
Шапочная предобработка. Для шапочной предобработки используются любые функции, имеющие график в виде «шапочки». Например, функция φ(x)=1/(1+x²).
Графики функций zi(x) представлены на рис. 2 в. Видно, что с увеличением значения признака x ни одна из функций zi(x) , ни их сумма не ведут себя монотонно. В табл. 9 представлены значения этих функций для двух точек x1=1.5 и x2=3.5.
Позиционная предобработка
Основная идея позиционной предобработки совпадает с принципом построения позиционных систем счисления. Зададимся положительной величиной y такой, что yk≥(xmin– xmax). Сдвинем признак x так, чтобы он принимал только неотрицательные значения. В качестве сигналов сети будем использовать результат простейшей предобработки y-ичных цифр представления сдвинутого признака x. Формулы вычисления цифр приведены ниже:
где операция сравнения по модулю действительного числа определена в (15). Входные сигналы сети получаются из компонентов вектора z путем простейшей предобработки.
Составной предобработчик
Поскольку на вход нейронной сети обычно подается несколько входных сигналов, каждый из которых обрабатывается своим предобработчиком, то предобработчик должен быть составным. Представим предобработчик в виде совокупности независимых частных предобработчиков. Каждый частный предобработчик обрабатывает одно или несколько тесно связанных входных данных. Как уже отмечалось ранее, предобработчик может иметь один из четырех типов, приведенных в табл. 10. На входе предобработчик получает вектор входных данных (возможно, состоящий из одного элемента), а на выходе выдает вектор входных сигналов сети (так же возможно состоящий из одного элемента).
Таблица 10. Типы предобработчиков
Тип | Описание |
---|---|
Number | Предобрабатывает числовые входные данные |
Unordered | Предобрабатывает неупорядоченные качественные признаки |
Ordered | Предобрабатывает упорядоченные качественные признаки |
Binary | Обрабатывает бинарные признаки |
Необходимость передачи предобработчику вектора входных данных и получения от него вектора входных сигналов связана с тем, что существуют предобработчики получающие несколько входных данных и выдающие несколько входных сигналов. Примером такого предобработчика может служить предобработчик, переводящий набор координат планеты из сферической в декартову.