Градиентный спуск (GD) — это алгоритм оптимизации, ориентированный на поиск локального минимума/максимума определенной функции. Это делается итеративно, начиная со случайной точки, а затем делая шаги в направлении отрицательного градиента функции — как показано на диаграмме ниже (https://regenerativetoday.com/machine-learning-gradient- спуск-концепт/). Более того, градиентный спуск работает не для каждой функции. Есть два требования к функции, чтобы GD работал: функция должна быть дифференцируемой и выпуклой (https://towardsdatascience.com/gradient-descent-algorithm-a-deep-dive-cf04e8115f21).

Дифференцируемость означает, что для каждой точки области определения функции существует производная. Не все функции такие, подумайте о f(x)=1/x (https://math.mit.edu/~djk/calculus_beginners/chapter09/section03.html). Выпуклость актуальна для непрерывных функций, это означает, что для любых двух различных точек на графике функции линия, соединяющая их, находится над графиком между этими точками (https://mathworld.wolfram.com/ConvexFunction.html).

В целом, мы можем думать о градиенте как о векторе, указывающем в направлении наискорейшего подъема функции. Если мы делаем шаги в направлении, противоположном вектору, мы будем двигаться в направлении ближайшей точки минимума функции (https://www.uio.no/studier/emner/matnat/ifi/IN3050/v23 /groups/gradient-descentascent.pdf).

Таким образом, мы можем использовать градиентный спуск, чтобы минимизировать ошибки между фактическими результатами и ожидаемыми результатами при обучении моделей машинного обучения. Существует несколько вариантов градиентного спуска, таких как: пакетный градиентный спуск, стохастический градиентный спуск и мини-пакетный градиентный спуск (https://www.javatpoint.com/gradient-descent-in-machine-learning) — подробнее о них. и другие в будущих статьях. Кстати, градиентный спуск был открыт Огюстеном-Луи Коши в середине 18 века (https://www.deeplearning.ai/the-batch/gradient-descent-its-all-downhill/).

Увидимся в следующий раз ;-) Вы также можете подписаться на мой твиттер — @boutnaru (https://twitter.com/boutnaru).