Опубликован: 01.03.2007 | Доступ: свободный | Студентов: 1638 / 246 | Оценка: 4.58 / 4.39 | Длительность: 20:15:00
Специальности: Программист
Лекция 2:

Решение задач нейронными сетями

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

Решение задач нейронными сетями

Вычислительный центр СО РАН в г. Красноярске

А.Н.Горбань

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

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

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

  1. Классификация (с учителем) (персептрон Розенблатта [2.1, 2.2, 2.3]).
  2. Ассоциативная память (сети Хопфилда [2.4, 2.5, 2.6, 2.7]).
  3. Решение систем линейных уравнений (сети Хопфилда [2.8]).
  4. Восстановление пробелов в данных (сети Хопфилда).
  5. Кластер-анализ и классификация (без учителя) (сети Кохонена [2.9, 2.10, 2.11, 2.12]).

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

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

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

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

Задача линейной регрессии состоит в поиске наилучшего линейного приближения функции, заданной конечным набором значений: дана выборка значений вектора аргументов x1, ..., xm, заданы значения функции F в этих точках: F(xi)=fi, требуется найти линейную (неоднородную) функцию \varphi {\rm{(x) = (}}\alpha {\rm{,x) +}}\alpha_0, ближайшую к F. Чтобы однозначно поставить задачу, необходимо доопределить, что значит "ближайшую". Наиболее популярен метод наименьших квадратов, согласно которому \varphi ищется из условия

\sum\limits_{i = 1}^m {(F(x^i ) - \varphi (x^i ))^2 \to \min} ( 1)

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

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

\begin{array}{l}
 \Delta_i = (F(x^i ) - \varphi (x^i ));{\rm{ }}H = \sum\limits_{i = 1}^m {\Delta_i^2}{\rm{=}}\sum\limits_{i = 1}^m {(F(x^i ) - \varphi (x^i ))^2} = \\ 
 = \sum\limits_{i = 1}^m {(f_i - (\alpha ,x^i ) - \alpha_0 )^2}. \\ 
 \end{array}

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

$ {\frac{\partial H}{\partial \alpha_j}}{\rm{ = }}{\sum\limits_{i = 1}^m {\Delta_i x_j^i}{\rm{, (}}j = 1,...,n)}{\rm{; }}{\frac{\partial H}{\partial \alpha_0}}{\rm{ = }}{\sum\limits_{i = 1}^m {\Delta_i}} $
.

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

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

\Delta_i = f_i - (\alpha ,x^i ),{\rm{ }}\partial H/\partial \alpha_j = \sum\limits_{i = 1}^m {\Delta_i x_j^i {\rm{ }}(j = 0,1,...,n).}

Обозначим p n +1 -мерный вектор с координатами p_j = \frac{1}{m}\sum\limits_{i = 1}^m {f_i x_j^i} ; Q - матрицу размером {\rm{(n + 1)}} \times {\rm{(n + 1)}} с элементами q_{jk} = \frac{1}{m}\sum\limits_{i = 1}^m {x_j^i x_k^i}.

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

\varphi {\rm{(x) = (}}\alpha {\rm{,x)}}{\rm{,}}\alpha {\rm{= Q}}^{-1}{\rm{p}}. ( 2)