Новосибирский Государственный Университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 2219 / 533 | Оценка: 4.52 / 4.28 | Длительность: 12:23:00
ISBN: 978-5-9556-0063-5
Специальности: Программист
Лекция 5:

Виды нейронных сетей и способы организации их функционирования

< Лекция 4 || Лекция 5: 1234 || Лекция 6 >

Предобработка данных

Нормировка и центрирование данных (предобработка) используются почти всегда (кроме тех случаев, когда данные представляют собой бинарные векторы с координатами 0,1 или \pm1, либо символьные последовательности). Цель этих преобразований - сделать так, чтобы каждая компонента вектора данных лежала в отрезке [-1,1] (или [0,1] ) или, по крайней мере, не слишком далеко выходила из этого отрезка, и её характерный разброс тоже был бы единичным.

Стандартные преобразования исходной выборки x^p, p \,{=}\, 1,2, \ldots,
M:

x_i^p =[x_i^p  - M(x_i^p)]/ \sigma(x_i^p) или x_i^p
=[x_i^p -
M(x_i^p)]/ max | x_i^p - M(x_i^p)|, где x_i^p - i -я компонента вектора x^p,

M(x_i^p) = (\sum {x_i^p})/n - выборочная оценка математического ожидания x_i^p ;

\sigma(x_i^p) = \{\sum_i^p[x_i^p - M(x_i^p)]^2/n\}^{1/2} - выборочная оценка среднего квадратичного отклонения. Любое изменение выборки \{x^p\} должно, согласно этим формулам, менять и нормировку. Нормировка и центрирование вписывают исходную выборку в куб со стороной 2, вершинами которого являются векторы с координатами \pm 1.

Интерпретация ответов сети

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

Масштабирование является естественной операцией при обработке выходных сигналов. Стандартные (обезразмеренные) НС формируются так, чтобы их выходные сигналы лежали в интервалах [-1,1] (или [0,1] ). Если нам нужно получить сигнал в интервале [a,b], то нужно преобразовать выходной сигнал y\in [-1,1]:

y = (a + b)/2 + (b -  a)y/2.

В задачах классификации наиболее распространено правило интерпретации "победитель забирает все": число нейронов равно числу классов, номер нейрона с максимальным сигналом интерпретируется как номер класса. К сожалению, если классов много, то этот наглядный метод является слишком расточительным, потребляет слишком много выходных нейронов.

Знаковая интерпретация требует только k=log_2m нейронов ( m - число классов). Строится она так. Пусть y_1, \ldots, y_k - совокупность выходных сигналов нейронов. Заменим в этой последовательности положительные числа единицами, а отрицательные - нулями. Полученную последовательность нулей и единиц рассматриваем как номер класса в двоичной записи.

Порядковая интерпретация является еще более емкой, чем знаковая. В ней с помощью k нейронов можно описать принадлежность к k! классам (а не 2^k как для знаковой). Пусть y_1, \ldots,
y_k - выходные сигналы. Проведем их сортировку и обозначим через n_i номер i -го сигнала после сортировки (1 соответствует наименьшему сигналу, k - наибольшему). Перестановку \sigma = (n_1,n_2, \ldots, n_k) рассмотрим как слово, кодирующее номер класса. Всего возможно k! перестановок. Этим интерпретатором можно пользоваться, если характерная ошибка выходного сигнала меньше 1/k. Даже при k=10 получаем реализуемые требования к точности (< 1/10) и богатые возможности (10! классов).

< Лекция 4 || Лекция 5: 1234 || Лекция 6 >