2013-10-02 3 views
2

Я пытаюсь написать нейронную сеть для распознавания образов с hopfield. Я использую инструкции в книге Introduction to Neural Networks for C#, Second Edition, но я не использую его .dll-файлы и сам пишу все классы.Распознавание образов Hopfield

Джефф Хитон в своей книге говорит, что для поезда нейронной сети с Хопфилдом, мы должны получить входной шаблон (в матричной форме), а затем сделать это 3 шага:

1-Преобразование двоичного входа в двухполюсный (0 -> (-1), 1 -> 1)

2-Преобразование входного матрицы к строке матрицы (сохранить как M2), а затем перенести его (сохранить как M1), а после них умножения (М3 = M1 * M2)

3-Add to weight matrix (WeightMatrix + = M3)

Мой вопрос о шаге 2 ! Когда я конвертировать мою 8x8 матрицу грести матрицу с ниже код:

 int count = 0; 
     int[] RowMatrix = new int[64]; 
     for(int j=0; j<8;j++) 
      for (int i = 0; i < 8; i++) 
      { 
       RowMatrix[count] = PatternBipolar[i, j]; 
       count++; 
      } 

(PatternBipolar является входной шаблон, который преобразуется в биполярный) Мы имеем матрицу 1X64, и когда транспонировать мы имеем столбец матрицы 64X1. Поэтому, если мы умножим их (ColumnMatrix * RowMatrix, как говорится в книге), у нас есть матрица 64X64!

Но наша весовая матрица 8X8 (потому что у нас есть только 64 нейрона не 64 * 64 = 4096 !!! нейроны).

поэтому я смутился и нуждаюсь в help.pleas, помогите мне в решении этой проблемы и об этих матрицах. .

Я получаю входную матрицу с ниже формы, и использовать окно формы:

enter image description here

+3

Hi Pooria. Вы имели в виду назвать свое имя переменной «count»? Просто, чтобы вы знали, имя переменной, которое вы имеете прямо сейчас, означает что-то особенно «не связанное с программированием» на английском языке. –

+0

Привет Крис. Спасибо вам за подсказку! –

ответ

1

Наконец я нахожу свой ответ!

В сети Hopfield, когда мы используем n нейрон в нашей сети, нам нужна весовая матрица nXn. Нам просто нужно умножить матрицу строк, поступающую от ввода, в обратную. Тогда в весовой матрице мы имеем соотношение между каждой матрицей и другими.

Смежные вопросы