Сеть Хопфилда как я понимаю это простейшая сеть с ассоциативной памятью..
работа всей сети разделена на 2-а этапа это обучение и собственно само распознавание(классификацию) вот
первый этап обучения это просто навсего вычисление весовой матрицы W которая считается один раз и потом используется во втором этапе классификации.
Сам первый этап этап обучения может быть реализован 2-мя путями асинхронно или синхронно (причём обучение т.е. вычисление W[i,j] лучше производить асинхронно т.к. тогда мы не попадём в ситуацию зацикливания т.е. установление баланса) вот если честно мне это не понятно почему мы туда должны не попасть???
вычисление матрицы W происходит по правилу Хебба.
Итак
Code
public const int m = 10;//размеры изображения
public const int n = 10;//размеры изображения
public const int N = m * n;//число нейронов в сети
public const int P = 10;//число обучающих выборок
public int[,] W = new int[N + 1, N + 1];//матрица синапсов
public int[,] testArrLImg = new int[P, N];//Тестовые изображения в линейном виде(на которых сеть обучается)
public Matrix[] testArrImg = new Matrix[P];//тестовые изображения в виде матрицы(на которых сеть обучается)
public int[] testLImg = new int[N];//наше входное изображение которое надо распознать в линейном виде
public Matrix testImg = new Matrix();//наше входное изображение которое надо распознать в виде матрицы
//тогда вычисление матрицы W таково
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (i == j) W[i, j] = 0;
else
{
for (int t = 0; t < P; t++)
{
W[i, j] += testArrLImg[t, i] * testArrLImg[t, j];
}
}
}
}
вот я так понимаю как вычислять матрицу W если что не правильно сори подскажите может что не понял)) т.е. по сути матрица W это как бы матрица скорелируемости всех входных образов при помощи которой потом и будет найден ответ так?Добавлено (30.11.2008, 01:46)
---------------------------------------------
ну ещё в данном коде матрица W заполняется асинхронно насколько я понимаю))
Добавлено (02.12.2008, 16:45)
---------------------------------------------
вроде говорили что форум не мёртвый!!!
пока это не очень заметно...((