Нейронная сеть Хопфилда — Википедия

Так например, если входной сигнал определяется 10 параметрами, то нейронная сеть Хопфилда формируется из одного уровня с 10 нейронами. Сеть Хопфилда однослойная и состоит из N{\displaystyle N}искусственных нейронов.

В процессе работы динамика таких сетей сходится (конвергирует) к одному из положений равновесия. Каждый нейрон связывается со всеми остальными 9-ю нейронами, таким образом в сети образуется 90 (10 x 9) связей. Алгоритм обучения сети Хопфилда существенно отличается от таких классических алгоритмов обучения перцептронов, как метод коррекции ошибки или метод обратного распространения ошибки.

Расчет в матричном виде

Как только веса заданы, обученная сеть становится способной «распознавать» входные сигналы — то есть, определять, к какому из запомненных образцов они относятся. На вход сети сначала придают значения исходного вектора (поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер).

Простая линейная регрессия

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

Мультилинейная регрессия

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

Апдейт для тех, кто сочтет статью полезной и занесет в избранное. Есть приличный шанс, что пост уйдет в минуса, и я буду вынужден унести его в черновики. Это все и близко не академично, зато надеюсь что понятно. Источник — www.wired.com/special_multimedia/2009/st_infoporn_1702, слегка облагородил и перевел из дюймов в сантиметры. Это больше имеет отношение к методам классификации и принятия решений, что тянет еще на один мануал.

В нашем случае это будет сумма (W_p — W)^2 для всех точек. Собственно, отсюда и пошло название «метод наименьших квадратов». Его особенность в том, что он чувствителен по отношению к выбросам и тем самым, считает такие модели менее качественными. В результате, для оптимальных значений a и b sum(E_i) будет минимальным. Пересылаем в Матлаб числа из столбца L и отдельно из W, без заголовков.

Как оценить качество модели?

Получаем наконец-то коэффициенты регрессии: regr=polyfit(L,W,1). То есть мы можем получить наши значения W_p: W_p=L*repr(1)+repr(2). Формула на графике показывает связь W_p и W. В идеале там будет W_p = W*1 + 0. Вылезла дискретизация исходных данных — облако точек клетчатое.

Про коэффициент корреляции стоит рассказать отдельно, потому что его часто используют абсолютно неправильно. Тогда коэффициенты регрессии можно будет найти по такой формуле: repr=inv(L’*L)*L’*W. Если его не добавлять, то в регрессии будет всего один член: W_p=a*L. То есть у нас в дело идет не только рост, но и все остальные, так сказать, горизонтальные размеры. Подготовка данных точно такая же: обе матрицы в матлаб, добавление столбца единиц, расчет по той же самой формуле.

Значит, вклад этого параметра в вес минимален. У бюста и особенно у бедер он больше, т.е. сантиметр на талии дает меньшую прибавку к массе, чем на груди. А больше всего на вес влияет объем задницы. В таком случае надо выбросить один из параметров, или воспользоваться методом главных компонент для снижения количества предикторов. Если у нас малая выборка и/или много предикторов, то мы рискуем попасть в переопределенность модели.

Плюс Эксель для визуальной подготовки данных тоже большое подспорье для начинающего. Уровень для начинающих очень приличный. В обоих книгах математика на уровне интегралов и производных, но на простых примерах. Все-таки вы каким-то окольным путем идете. У нас есть две колонки с данными, W и L. Предполагаем прямую зависимость (строка 1, где кси — некая случайная величина). В прикладном анализе данных или, например, оценочных моделях, количество вводных переменных может быть несколько десятоков.

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

Что еще посмотреть: