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

Нейронные сети довольно похожи на человеческий мозг. Они состоят из искусственных нейронов, принимают несколько входных сигналов и производят один выходной сигнал.

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

За кулисами нейронных сетей

В этой визуализации искусственной нейронной сети (ИНС) есть три нейронных слоя. Входной слой (слева, красный), скрытый слой (синий), а затем выходной слой (справа, красный).

Предположим, эта сеть предназначена для предсказания погоды. Входные значения будут атрибутами, относящимися к погоде, такими как время, влажность, температура воздуха, давление и т. Д. Эти значения затем будут переданы на скрытый слой, и ими будут манипулировать значения веса. Первоначально веса - это случайные уникальные значения для каждого соединения или синапса. Новые значения скрытого слоя передаются на выход, при этом снова обрабатываются значениями веса.

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

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

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

1. Алгоритм прямой связи…

Где n - нейрон на слое l, а w - значение веса на слое l, и i - значение на слое l-1. Все входные значения устанавливаются как первый слой нейронов. Затем каждый нейрон на следующих слоях берет сумму всех нейронов на предыдущем слое, умноженную на веса, которые соединяют их с соответствующим нейроном на этом следующем слое. Затем это суммарное значение активируется.

2. Общий алгоритм активации: сигмовидная…

Независимо от того, насколько высоко или низко входное значение, оно будет нормализовано до пропорционального значения от 0 до 1. Это считается способом преобразования значения в вероятность, которая затем отражает вес или достоверность нейрона. Это привносит в модель нелинейность, позволяя ей лучше понимать результаты наблюдений.

3. Функция стоимости…

Функция квадрата стоимости позволяет найти ошибку, вычислив разницу между выходными значениями и целевыми значениями. Целевые / желаемые значения могут быть двоичным вектором для классификации.

4. Обратное распространение…

Затем ошибка функции стоимости передается обратно путем умножения на производную сигмовидной функции S ’. Таким образом, δ сначала определяется следующим образом:

на выходном слое (начало обратного распространения). Затем мы вычисляем ошибку на каждом уровне, который можно рассматривать как рекурсивное накопление изменений, внесших вклад в ошибку (с точки зрения каждого уникального нейрона). Прошлые значения веса должны быть перенесены, чтобы соответствовать следующему слою нейронов.

Наконец, это изменение можно проследить до индивидуального веса, умножив его на значение входного нейрона, активированного этим весом.

5. Применение обновления скорости обучения / веса…

Теперь это изменение необходимо использовать для корректировки значения веса. Этап представляет собой скорость обучения:

Это пять основных алгоритмов, необходимых для запуска нейронной сети.

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

Оригинальная история здесь.

— — — — — — — — — — — — — — — — — —

Прочтите больше статей по науке о данных на OpenDataScience.com, включая учебные пособия и руководства от новичка до продвинутого уровня! Подпишитесь на нашу еженедельную рассылку здесь и получайте последние новости каждый четверг.