Теперь я это понимаю, и вы тоже должны - !!!

Нейронные сети:

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

Он состоит из четырех основных объектов:

  • Слои: все обучение происходит в слоях. Есть 3 уровня 1) Вход 2) Скрытый и 3) Выход
  • функция и метка: входные данные в сеть (функции) и выход из сети (метки)
  • функция потерь: метрика, используемая для оценки производительности на этапе обучения.
  • оптимизатор: улучшите обучение, обновив знания в сети

давайте глубже, чтобы понять, как все работает:

Вес

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

Предвзятость

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

Слои

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

Типичная нейронная сеть принимает вектор входных данных и скаляр, содержащий метки. Наиболее удобная настройка - это двоичная классификация всего с двумя классами: 0 и 1.

Характеристики и ярлыки

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

Функция активации

Функции активации - это математические уравнения, которые определяют выходной сигнал нейронной сети. Эта функция привязана к каждому нейрону в сети и определяет, должен ли он быть активирован («запущен») или нет, в зависимости от того, релевантен ли вход каждого нейрона для предсказания модели. Функции активации также помогают нормализовать выходной сигнал каждого нейрона до диапазона от 1 до 0 или от -1 до 1.

Некоторые примеры функции активации:

Функция потерь

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

Оптимизатор

Алгоритмы оптимизации помогают нам минимизировать (или развернуть) функцию Цель (другое название функции Ошибка ) E (x), которая представляет собой просто математическую функцию, зависящую от внутренних обучаемых параметров модели, которые используются при вычислении цели. значения (Y) из набора предикторов (X), используемых в модели. Например, мы называем значения веса (W) и смещения (b) нейронной сети как ее внутренние обучаемые параметры, которые используются при вычислении выходных значений и изучаются и обновляются в направлении оптимального решения, т.е. минимизируют потери в процессе обучения сети, а также играют важную роль в обучении процесс модели нейронной сети.

Прямое распространение

Входные данные X предоставляют исходную информацию, которая затем распространяется на скрытые блоки на каждом уровне и, наконец, производит выходные данные y ^. Архитектура сети влечет за собой определение ее глубины, ширины и функций активации, используемых на каждом уровне. Глубина - это количество скрытых слоев. Ширина - это количество единиц (узлов) на каждом скрытом слое, поскольку мы не контролируем ни входной слой, ни размеры выходного слоя. Существует довольно много наборов функций активации, таких как Выпрямленная линейная единица, сигмоида, гиперболический тангенс и т. Д.. Исследования доказали, что более глубокие сети превосходят сети с большим количеством скрытых устройств. Поэтому всегда лучше и не повредит обучать более глубокую сеть (с уменьшающейся отдачей).

Обратное распространение

Позволяет информации вернуться от стоимости назад по сети для вычисления градиента. Следовательно, выполните цикл по узлам, начиная с последнего узла, в обратном топологическом порядке, чтобы вычислить производную выходных данных конечного узла по отношению к хвосту узла каждого ребра. Это поможет нам узнать, кто несет наибольшую ответственность за ошибку, и изменить параметры в этом направлении. Формулы следующих производных помогут нам написать функции обратного распространения: Поскольку b ^ l всегда является вектором, сумма будет по строкам (поскольку каждый столбец является примером).

Заключение

Надеюсь, я смог немного прояснить это для вас, kNN, это один из основных алгоритмов, я буду применять гораздо больше объяснений алгоритмов, потому что почему бы и нет :)

Github: https://github.com/zahrael97

LinkedIn: https://www.linkedin.com/in/zahraelhamraoui97/

Gmail: [email protected]

Захра Эльхамрауи