KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

Е. Миркес - Учебное пособие по курсу «Нейроинформатика»

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Е. Миркес, "Учебное пособие по курсу «Нейроинформатика»" бесплатно, без регистрации.
Перейти на страницу:

Таблица 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

Однако модулярная предобработка обладает одним отрицательным свойством — во всех случаях, когда yiyr1, при целом 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 вычисляется по следующей формуле:

(17)

Линейная предобработка. В линейной предобработке используется кусочно линейная функция:

(18)

Графики функций 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²).

Графики функций zi(x) представлены на рис. 2 в. Видно, что с увеличением значения признака x ни одна из функций zi(x) , ни их сумма не ведут себя монотонно. В табл. 9 представлены значения этих функций для двух точек x1=1.5 и x2=3.5.

Позиционная предобработка

Основная идея позиционной предобработки совпадает с принципом построения позиционных систем счисления. Зададимся положительной величиной y такой, что yk≥(xmin-xmax). Сдвинем признак x так, чтобы он принимал только неотрицательные значения. В качестве сигналов сети будем использовать результат простейшей предобработки y-ичных цифр представления сдвинутого признака x. Формулы вычисления цифр приведены ниже:

(19)

где операция сравнения по модулю действительного числа определена в (15). Входные сигналы сети получаются из компонентов вектора z путем простейшей предобработки.

Составной предобработчик

Поскольку на вход нейронной сети обычно подается несколько входных сигналов, каждый из которых обрабатывается своим предобработчиком, то предобработчик должен быть составным. Представим предобработчик в виде совокупности независимых частных предобработчиков. Каждый частный предобработчик обрабатывает одно или несколько тесно связанных входных данных. Как уже отмечалось ранее, предобработчик может иметь один из четырех типов, приведенных в табл. 10. На входе предобработчик получает вектор входных данных (возможно, состоящий из одного элемента), а на выходе выдает вектор входных сигналов сети (так же возможно состоящий из одного элемента).


Таблица 10. Типы предобработчиков

Тип Описание Number Предобрабатывает числовые входные данные Unordered Предобрабатывает неупорядоченные качественные признаки Ordered Предобрабатывает упорядоченные качественные признаки Binary Обрабатывает бинарные признаки

Необходимость передачи предобработчику вектора входных данных и получения от него вектора входных сигналов связана с тем, что существуют предобработчики получающие несколько входных данных и выдающие несколько входных сигналов. Примером такого предобработчика может служить предобработчик, переводящий набор координат планеты из сферической в декартову.

Для качественных признаков принято кодирование длинными целыми числами. Первое значение равно 1, второе — 2 и т. д. Числовые признаки кодируются действительными числами.

Лекция 9. Описание нейронных сетей

В первой части этой главы описана система построения сетей из элементов. Описаны прямое и обратное функционирование сетей и составляющих их элементов. Приведены три метода построения двойственных сетей и обоснован выбор самодвойственных сетей. Во второй части приведены примеры различных парадигм нейронных сетей, описанные в соответствии с предложенной в первой части главы методикой.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*