Вас когда-нибудь пугала идея нейронной сети ?? Выглядела ли идея кодирования простой нейронной сети утомительной задачей?

Что ж, если я скажу, что кодирование нейронной сети на Python - один из самых простых кодов, которые вы когда-либо писали.

Нам даются характеристики: количество часов, которые мы работаем, количество дней, в которые мы берем отпуск, и просим предсказать нашу оценку на основе этих 2 параметров.

Давайте попробуем создать двухслойную нейронную сеть и попробуем решить эту проблему.

Сначала давайте создадим сеть и рассчитаем размеры входных показателей.

Это видео покажет вам, как рассчитываются уравнения.

Таким образом, окончательные уравнения таковы:

Давайте напишем следующие уравнения на Python и создадим нейронную сеть с прямой связью.

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

Чтобы найти оптимальный вес, мы сначала вычисляем функцию стоимости, которая определяется формулой

Теперь давайте напишем нашу функцию стоимости на Python.

Попробуем найти оптимальные веса с помощью Gradient Boosting. Для этого нам нужно найти производную функции стоимости по W1 и W2.

В следующем видео показано, как рассчитать dJdW1 и dJdW2.

Следовательно, окончательные уравнения для dJdW1 и dJdW2 следующие:

Попробуем оценить их на Python

Когда у нас есть производные, нам просто нужно запустить оптимизатор, чтобы найти веса.

Мы бы использовали функцию Optimize Scipy, чтобы получить оптимизированные веса, используя вычисленные выше производные.

Теперь у нас есть окончательные веса.

Итак, теперь вы можете указать количество часов, которые мы работаем, и количество дней, в которые мы берем отпуск, чтобы рассчитать свою оценку с помощью этой простой нейронной сети.

Получите коды по адресу: https://github.com/divapriya/NeuralNetworkBasic

Вдохновение: работа Стивена Уэлча в Lumiverse.

Http://lumiverse.io/series/neural-networks-demystified