Миркес Е. М.
Шрифт:
где Int(x) — функция, вычисляющая целую часть величины x путем отбрасывания дробной части. Очевидно, что величина x mod y лежит в интервале (-y, y).
Кодирование входного признака x при модулярной предобработке вектором Z производится по следующей формуле:
Таблица 8. Пример сигналов при модулярном вводе
x | x mod 3 | x mod 5 | x mod 7 | x mod 11 |
---|---|---|---|---|
5 | 2 | 0 | 5 | 5 |
10 | 1 | 0 | 3 | 10 |
15 | 0 | 0 | 1 | 3 |
Однако модулярная предобработка обладает одним отрицательным свойством — во всех случаях, когда yi≠yr1, при целом r, разрушается отношение предшествования чисел. В табл. 8 приведен пример векторов. Поэтому, модульная предобработка пригодна при предобработке тех признаков, у которых важна не абсолютная величина, а взаимоотношение этой величины с величинами y1, …, yk.
Примером такого признака может служить угол между векторами, если в качестве величин y выбрать yi=π/i.
Функциональная предобработка
Функциональная предобработка преследует единственную цель — снижение константы Липшица задачи. В разделе «Предобработка, облегчающая обучение», был приведен пример такой предобработки. Рассмотрим общий случай функциональной предобработки, отображающих входной признак x в k-мерный вектор z. Зададимся набором из k чисел, удовлетворяющих следующим условиям: xmin<y1<…<yk– 1<yk<xmax.
Таблица 9. Пример функциональной предобработки числового признака x∈[0,5], при условии, что сигналы нейронов принадлежат интервалу [-1,1]. В сигмоидной предобработке использована φ(x)=x/(1+|x|), а в шапочной — φ(x)=2/(1+x²)-1. Были выбраны четыре точки yi=i.
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, приведенную в разделе «Нейрон» этой главы, то формула (17) примет следующий вид:
Графики функций zi(x) представлены на рис. 2б. Видно, что с увеличением значения признака x ни одна функция не убывает, а их сумма возрастает. В табл. 9 представлены значения этих функций для двух точек x1=1.5 и x2=3.5.
Шапочная предобработка. Для шапочной предобработки используются любые функции, имеющие график в виде «шапочки». Например, функция φ(x)=1/(1+x²).