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

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

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

В Gradient Descent есть много типов, из которых 3 основных.

  • Первый называется пакетным градиентным спуском и относится к модели, которая просматривает все обучающие данные при вычислении каждой функции стоимости, а затем обновляет модель один раз за всю итерацию или «эпоху обучения». Хотя этот метод может быть более эффективным в вычислениях, он может привести к менее точным результатам, поскольку он не обновляется часто.
  • Второй известен как стохастический градиентный спуск. Он также вычисляет функцию затрат для каждого обучающего примера, но вместо этого обновляет линию наилучшего соответствия модели после каждого отдельного примера. Таким образом, хотя вычисления обходятся дороже, они предлагают большую точность наряду с более подробной информацией об обучении для программиста.
  • Наконец, последний и наиболее часто используемый алгоритм называется Mini Batch Gradient Descent. Как и следовало ожидать, он уравновешивает функции двух предыдущих алгоритмов, выбирая определенный размер пакета, и обновляет модель после оценки указанного пакета. Таким образом, это по-прежнему быстрее, чем обновление каждого обучающего примера, но при этом повышается точность и информация.

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