Нейроинформатика

       

Настройка одноэлементных систем для решения задач


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

  1. Линейная регрессия и восстановление простейших закономерностей [2.13, 2.14];
  2. Линейная фильтрация и адаптивная обработка сигналов [2.15];
  3. Линейное разделение классов и простейшие задачи распознавания образов [2.16, 2.17, 2.18].

Задача линейной регрессии состоит в поиске наилучшего линейного приближения функции, заданной конечным набором значений: дана выборка значений вектора аргументов x1, ..., xm, заданы значения функции F в этих точках: F(xi)=fi, требуется найти линейную (неоднородную) функцию

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

Настройка одноэлементных систем для решения задач

(1)

Необходимо особенно подчеркнуть, что метод наименьших квадратов не является ни единственным, ни наилучшим во всех отношениях способом доопределения задачи регрессии. Его главное достоинство - квадратичность минимизируемого критерия и линейность получаемых уравнений на коэффициенты

Настройка одноэлементных систем для решения задач
.

Явные формулы линейной регрессии легко получить, минимизируя квадратичный критерий качества регрессии. Обозначим

Настройка одноэлементных систем для решения задач

Найдем производные минимизируемой функции H по настраиваемым параметрам:

Настройка одноэлементных систем для решения задач

где xij - j-я координата вектора xi.

Приравнивая частные производные H нулю, получаем уравнения, из которых легко найти все

Настройка одноэлементных систем для решения задач
(j=0,...,n). Решение удобно записать в общем виде, если для всех i=1,...,m обозначить
Настройка одноэлементных систем для решения задач
и рассматривать n +1-мерные векторы данных xi и коэффициентов
Настройка одноэлементных систем для решения задач
. Тогда

Настройка одноэлементных систем для решения задач

Обозначим p n +1-мерный вектор с координатами

Настройка одноэлементных систем для решения задач
; Q - матрицу размером
Настройка одноэлементных систем для решения задач
с элементами
Настройка одноэлементных систем для решения задач
.

В новых обозначениях решение задачи линейной регрессии имеет вид:

Настройка одноэлементных систем для решения задач

(2)


Пересчитывая по приведенным формулам p, Q, Q-1 и
Настройка одноэлементных систем для решения задач
после каждого получения данных, получаем процесс, в котором последовательно уточняются уравнения линейной регрессии. И требуемый объем памяти, и количество операций имеют порядок n2 - из-за необходимости накапливать и модифицировать матрицу Q-1. Конечно, это меньше, чем потребуется на обычное обращение матрицы Q на каждом шаге, однако следующий простой алгоритм еще экономнее. Он вовсе не обращается к матрицам Q, Q-1 и основан на уменьшении на каждом шаге величины
Настройка одноэлементных систем для решения задач
- квадрата ошибки на векторе данных xm +1 регрессионной зависимости, полученной на основании выборки
Настройка одноэлементных систем для решения задач
.

Вновь обратимся к формуле (2) и будем рассматривать n +1-мерные векторы данных и коэффициентов. Обозначим
Настройка одноэлементных систем для решения задач
. Тогда

Настройка одноэлементных систем для решения задач


(5)
Последняя элементарная формула столь важна в теории адаптивных сумматоров, что носит "именное название" - формула Уидроу. "Обучение" адаптивного сумматора методом наискорейшего спуска состоит в изменении вектора коэффициентов
Настройка одноэлементных систем для решения задач
в направлении антиградиента ?2: на каждом шаге к
Настройка одноэлементных систем для решения задач
добавляется
Настройка одноэлементных систем для решения задач
, где h - величина шага.

Если при каждом поступлении нового вектора данных x изменять
Настройка одноэлементных систем для решения задач
указанным образом, то получим последовательную процедуру построения линейной аппроксимации функции F(x). Такой алгоритм обучения легко реализуется аппаратными средствами (изменение веса связи
Настройка одноэлементных систем для решения задач
есть произведение прошедшего по ней сигнала xj на ошибку ? и на величину шага). Возникает, однако, проблема сходимости: если h слишком мало, то сходимость будет медленной, если же слишком велико, то произойдет потеря устойчивости и сходимости не будет вовсе. Детальному изложению этого подхода и его приложений посвящен учебник [2.15].

Задача четкого разделения двух классов по обучающей выборке ставится так: имеется два набора векторов x1, ..., xm и y1,...,ym. Заранее известно, что xi относится к первому классу, а yi - ко второму. Требуется построить решающее правило, то есть определить такую функцию f(x), что при f(x)>0 вектор x относится к первому классу, а при f(x)<0 - ко второму.



Координаты классифицируемых векторов представляют собой значения некоторых признаков (свойств) исследуемых объектов.

Эта задача возникает во многих случаях: при диагностике болезней и определении неисправностей машин по косвенным признакам, при распознавании изображений и сигналов и т.п.

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

  1. искать дополнительные признаки, позволяющие разделить классы;
  2. примириться с неизбежностью ошибок, назначить за каждый тип ошибок свой штраф (c12 - штраф за то, что объект первого класса отнесен ко второму, c21 - за то, что объект второго класса отнесен к первому) и строить разделяющее правило так, чтобы минимизировать математическое ожидание штрафа;
  3. перейти к нечеткому разделению классов - строить так называемые "функции принадлежности" f1(x) и f2(x) - fi(x) оценивает степень уверенности при отнесении объекта к i-му классу (i=1,2), для одного и того же x может быть так, что и f1(x)>0, и f2(x)>0.


Линейное разделение классов состоит в построении линейного решающего правила - то есть такого вектора
Настройка одноэлементных систем для решения задач
и числа
Настройка одноэлементных систем для решения задач
(называемого порогом), что при
Настройка одноэлементных систем для решения задач
относится к первому классу, а при
Настройка одноэлементных систем для решения задач
- ко второму.

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

Простейший и подчас очень удобный выбор состоит в проектировании на прямую, соединяющую центры масс выборок. Центр масс вычисляется в предположении, что массы всех точек одинаковы и равны 1. Это соответствует заданию
Настройка одноэлементных систем для решения задач
в виде

Настройка одноэлементных систем для решения задач
= (y1 + y2 +... +ym)/m - (x1 + x2 +... + xn)/n. (6)

Во многих случаях удобнее иметь дело с векторами единичной длины.


Нормируя
Настройка одноэлементных систем для решения задач
, получаем:

Настройка одноэлементных систем для решения задач
= ((y1 + y2 +... +ym)/m - (x1 + x2 +... + xn)/n)/||(y1 + y2 +... +ym)/m - (x1 + x2 +... + x n)/n||.

Выбор
Настройка одноэлементных систем для решения задач
может производиться из различных соображений. Простейший вариант - посередине между центрами масс выборок:

Настройка одноэлементных систем для решения задач
0=(((y1 + y2 +... +ym)/m,
Настройка одноэлементных систем для решения задач
) +((x1 + x2 +... + x n)/n,
Настройка одноэлементных систем для решения задач
))/2.

Более тонкие способы построения границы раздела классов
Настройка одноэлементных систем для решения задач
учитывают различные вероятности появления объектов разных классов, и оценки плотности распределения точек классов на прямой. Чем меньше вероятность появления данного класса, тем более граница раздела приближается к центру тяжести соответствующей выборки.

Можно для каждого класса построить приближенную плотность вероятностей распределения проекций его точек на прямую (это намного проще, чем для многомерного распределения) и выбирать
Настройка одноэлементных систем для решения задач
, минимизируя вероятность ошибки. Пусть решающее правило имеет вид: при
Настройка одноэлементных систем для решения задач
>
Настройка одноэлементных систем для решения задач
x относится к первому классу, а при
Настройка одноэлементных систем для решения задач
<
Настройка одноэлементных систем для решения задач
- ко второму. В таком случае вероятность ошибки будет равна

Настройка одноэлементных систем для решения задач


где p1, p2 - априорные вероятности принадлежности объекта соответствующему классу,
Настройка одноэлементных систем для решения задач
,
Настройка одноэлементных систем для решения задач
- плотности вероятности для распределения проекций
Настройка одноэлементных систем для решения задач
точек x в каждом классе.

Приравняв нулю производную вероятности ошибки по
Настройка одноэлементных систем для решения задач
, получим: число
Настройка одноэлементных систем для решения задач
, доставляющее минимум вероятности ошибки, является корнем уравнения:

Настройка одноэлементных систем для решения задач


(7)
либо (если у этого уравнения нет решений) оптимальным является правило, относящее все объекты к одному из классов.

Если принять гипотезу о нормальности распределений:

Настройка одноэлементных систем для решения задач


то для определения
Настройка одноэлементных систем для решения задач
получим:

Настройка одноэлементных систем для решения задач


Настройка одноэлементных систем для решения задач


Если это уравнение имеет два корня
Настройка одноэлементных систем для решения задач
, (
Настройка одноэлементных систем для решения задач
) то наилучшим решающим правилом будет: при
Настройка одноэлементных систем для решения задач
объект принадлежит одному классу, а при
Настройка одноэлементных систем для решения задач
или
Настройка одноэлементных систем для решения задач
- другому (какому именно, определяется тем, которое из произведений
Настройка одноэлементных систем для решения задач
больше). Если корней нет, то оптимальным является отнесение к одному из классов. Случай единственного корня представляет интерес только тогда, когда ?1=?2. При этом уравнение превращается в линейное и мы приходим к исходному варианту - единственной разделяющей точке
Настройка одноэлементных систем для решения задач
.

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



Если сразу ставить задачу об оптимальном разделении многомерных нормальных распределений, то получим, что наилучшей разделяющей поверхностью является квадрика (на прямой типичная "квадрика" - две точки). Предполагая, что ковариационные матрицы классов совпадают (в одномерном случае это предположение о том, что ?1=?2), получаем линейную разделяющую поверхность. Она ортогональна прямой, соединяющей центры выборок не в обычном скалярном произведении, а в специальном:
Настройка одноэлементных систем для решения задач
, где ? - общая ковариационная матрица классов. За деталями отсылаем к прекрасно написанной книге [2.17], см. также [2.11, 2.12, 2.16].

Важная возможность усовершенствовать разделяющее правило состоит с использовании оценки не просто вероятности ошибки, а среднего риска: каждой ошибке приписывается "цена" ci и минимизируется сумма
Настройка одноэлементных систем для решения задач
. Ответ получается практически тем же (всюду pi заменяются на ci pi), но такая добавка важна для многих приложений.

Требование безошибочности разделяющего правила на обучающей выборке принципиально отличается от обсуждавшихся критериев оптимальности. На основе этого требования строится персептрон Розенблатта - "дедушка" современных нейронных сетей [2.1].

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

Настройка одноэлементных систем для решения задач


Настройка одноэлементных систем для решения задач


Здесь xi (i=1,..,n) - векторы из обучающей выборки, относящиеся к первому классу, а yi (j=1,..,m) - ко второму.

Удобно переформулировать задачу. Увеличим размерности всех векторов на единицу, добавив еще одну координату -
Настройка одноэлементных систем для решения задач
к
Настройка одноэлементных систем для решения задач
, x0=1 - ко всем x и y0 =1 - ко всем y. Сохраним для новых векторов прежние обозначения - это не приведет к путанице.

Наконец, положим zi = xi (i=1,...,n), zj = -yj (j=1,...,m).

Тогда получим систему n +m неравенств

Настройка одноэлементных систем для решения задач


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

Итерационный алгоритм решения этой системы чрезвычайно прост.


Он основан на том, что для любого вектора x его скалярный квадрат (x,x) больше нуля. Пусть
Настройка одноэлементных систем для решения задач
- некоторый вектор, претендующий на роль решения неравенств
Настройка одноэлементных систем для решения задач
, однако часть из них не выполняется. Прибавим те zi, для которых неравенства имеют неверный знак, к вектору
Настройка одноэлементных систем для решения задач
и вновь проверим все неравенства
Настройка одноэлементных систем для решения задач
и т.д. Если они совместны, то процесс сходится за конечное число шагов. Более того, добавление zi к
Настройка одноэлементных систем для решения задач
можно производить сразу после того, как ошибка (
Настройка одноэлементных систем для решения задач
) обнаружена, не дожидаясь проверки всех неравенств - и этот вариант алгоритма тоже сходится [2.2].


Содержание раздела