Учебное пособие по курсу «Нейроинформатика» | страница 55
Таблица 7. Кодирование параметра после разбиения на два сигнала
Предположим, что все входные параметры предобработаны в соответствии с формулой (1). Перенумеруем примеры обучающего множества так, чтобы были верны следующие неравенства: x>l>1<x>l>2<,…,x>l>N, где N — число примеров в обучающем множестве. При этом, возможно, придется исключить ряд пар параметр-ответ с совпадающими значениями параметра. Если в какой-либо из таких пар значения ответов различаются, то это снижает возможную полезность данной процедуры.
Наиболее простой путь — разбить диапазон l-го параметра на два. Зададимся точкой x. Будем кодировать l-й параметр двумя входными сигналами в соответствии с табл. 7. При таком кодировании критерий Липшица, очевидно, уменьшится. Вопрос о выборе точки x может решаться по-разному. Простейший путь — положить x=(a-b)/2. Более сложный, но часто более эффективный — подбор x исходя из требования минимальности критерия Липшица.
Приведенный выше способ уменьшения критерия Липшица не единственный. В следующем разделе рассмотрен ряд способов предобработки, решающих ту же задачу.
Другие способы предобработки числовых признаков
В данном разделе будет рассмотрено три вида предобработки числовых признаков — модулярный, позиционный и функциональный. Основная идея этих методов предобработки состоит в том, чтобы сделать значимыми малые отличия больших величин. Действительно, пусть для ответа существенно изменение величины признака на единицу при значении признака порядка миллиона. Очевидно, что простейшая предобработка (1) сделает отличие в единицу неразличимым для нейронной сети при абсолютных значениях порядка миллиона.
Все эти виды предобработки обладают одним общим свойством — за счет кодирования входного признака несколькими сигналами они уменьшают сложность задачи (критерий Липшица).
Модулярная предобработка
Зададимся некоторым набором положительных чисел y>1, …, y>k. Определим сравнение по модулю для действительных чисел следующим образом:
x mod y = x-y·Int(x/y), (15)
где 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 |