Как следует из названия второго метода оценивания, вычисляемая по этому способу оценка равна расстоянию от выданного сетью ответа до множества правильных ответов. Множество правильных ответов для примера N-ой задачи задается неравенствами
A[N]-R > A[I], для всех I<>N.
Предобработка входных данных
Все программы, кроме программы Hopfield.
Входные данные задачи распознавания черно-белых изображений представляют собой последовательность 0 и 1 (есть точка — 1, нет — 0). Такие данные не всегда оптимальны для решения задачи распознавания. В связи с этим возникает задача предобработки данных. Возможны различные виды предобработки — преобразования Фурье, построение различных инвариантов и т. п. В этой программе предусмотрено несколько видов предобработки:
Чистый образ
Сдвиговый автокоррелятор
Автокоррелятор сдвиг+отражение
Автокоррелятор сдвиг+вращение
Автокоррелятор сдвиг+вращение+отражение
В результате предобработки получается не только более информативный вектор входных сигналов, но иногда и вектор меньшей размерности. Кроме того, вектор входных сигналов, полученный предобработкой типа "сдвиговый автокоррелятор" является инвариантным к сдвигу.
Чистый образ
Все программы, кроме программы Hopfield.
Это «пустая» предобработка — никакой предобработки не производится.
Сдвиговый автокоррелятор
Все программы, кроме программы Hopfield.
Основная идея этого метода предобработки — сделать вектор входных сигналов нейронной сетиинвариантным к сдвигу. Другими словами, два вектора, соответствующие одному и тому же образу, расположенному в разных местах шаблона 10*10, после предобработки этим способом должны совпадать! Рассмотрим подробно метод вычисления автокоррелятора. Пусть дано изображение X. x[i,j] — точка изображения в i-ом ряду и j-ом столбце. Будем считать x[i,j]=0, если хотя бы один индекс (i или j) находится вне пределов интервала (1,10). Элемент автокоррелятора A — a[l,k] вычисляется по формуле:
a[l,k] = Сумма по i от 1 до 10 (Сумма по j от 1 до 10 < x[i,j]*x[i+l,j+k] >)
Другими словами, a[l,k] — число точек совпадающих при наложении изображения X на это же, но сдвинутое на вектор (l,k) изображение. Легко заметить, что ненулевыми могут быть только элементы автокоррелятора A с индексами –9<=l,k<=9. Однако a[l,k]=a[-l, –k] Таким образом можно рассматривать только часть коррелятора с индексами –9<=i<=9 и 0<=j<=9. Если Вы задаете размер автокоррелятора m*n, то входными сигналами для сети будут служить элементы a[i,j] при — (n-1)<=i<=(n-1), 0<=j<=m-1.
Автокоррелятор сдвиг+отражение
Все программы, кроме программы Hopfield.
Этот метод предобработки в качестве исходных данных использует сдвиговый автокоррелятор.Идея вычисления автокоррелятора сдиг+отражение (S) очень проста: Сложим значения, соответствующие симметричным точкам, и будем считать их новыми значениями. s[k,l]=a[k,l]+a[k, –l]. Очевидно, что автокоррелятор S инвариантен относительно сдвига и отражения. Кроме того, можно ограничиться только элементами с неотрицательными индексами. Если Вы задали размеры автокоррелятора m*n, то входными сигналами сети будут s[l,k] при 0<=l<=n-1, 0<=k<=m.
Автокоррелятор сдвиг+вращение
Все программы, кроме программы Hopfield.
Этот метод предобработки в качестве исходных данных использует сдвиговый автокоррелятор.Идея вычисления автокоррелятора очень проста: поворачиваем автокоррелятор A на 90 градусов относительно элемента a[0,0] и получаем элемент автокоррелятора R умножением соответствующих элементов — r[p,q]=a[p,q]*a[q, –p]. Очевидно, что автокоррелятор R инвариантен относительно сдвига и поворота на 90 градусов. Кроме того, можно ограничиться только элементами с неотрицательными индексами. Если вы задали размеры автокоррелятора m*n, то входными сигналами сети будут s[l,k] при 0<=l<=n-1, 0<=k<=m.
Автокоррелятор сдвиг+вращение+отражение
Все программы, кроме программы Hopfield.
Этот метод предобработки в качестве исходных данных использует автокоррелятор сдвиг+вращение.Идея вычисления автокоррелятора сдвиг+вращение+отражение (C) очень проста: Сложим значения, соответствующие симметричным точкам, и будем считать их новыми значениями. c[k,l]=r[k,l]+r[k, –l]. Очевидно, что автокоррелятор C инвариантен относительно сдвига, вращения и отражения. Кроме того, можно ограничиться только элементами с неотрицательными индексами. Если вы задали размеры автокоррелятора m*n, то входными сигналами сети будут с[l,k] при 0<=l<=n-1, 0<=k<=m.
Параметры нейронной сети
Все программы, кроме программы Hopfield.
Читать дальше