Мысли вслух, Борис Крюк

Базовые концепты

Позвольте представить вам уравнение прямой на плоскости: y=kx+b. Так получилось, что многие переменные в мире связаны именно линейной зависимостью.

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

Таким образом, наше «линейное уравнение» преобразуется в уравнение вида: Y=kx+b+ę. Добавленный параметр ę означает ошибку для каждой точки множества, так как мы «приближаем результат к истине».

Можно ли измерить «силу» линейной зависимости?

Да. Самый простой способ — коэффициент корреляции Пирсона r (2). Если r стремится к 1, мы заключаем, что линейная корреляция сильная. Если r стремится к -1, мы заключаем, что отрицательная линейная корреляция является сильной. Если r = 0, мы заключаем, что переменные линейно некоррелированы.

Задача инженера по машинному обучению — подобрать коэффициенты (k; b) для получения наиболее точного результата аппроксимации. В машинном обучении для этого есть термин: функция стоимости (3). Другими словами, наша задача состоит в том, чтобы минимизировать функцию стоимости.

Как минимизировать функцию стоимости?

Градиентный спуск — это самый простой алгоритм нахождения коэффициентов простой линейной регрессии, чтобы функция стоимости (J) принимала наименьшее значение. Работает это так: мы постоянно обновляем коэффициенты (k;b) следующим образом (4) до сходимости. Альфа означает скорость обучения, которую устанавливает инженер. У сходимости есть четкое определение: если обновление функции стоимости (J) принимает значение меньше, чем Ę=0,001 за цикл, мы объявляем сходимость и считаем, что коэффициенты (k; b) близки к глобальному минимуму функции (5). Таким образом, мы находим коэффициенты (реализации оценок k и b, говоря научным языком), чтобы функция стоимости (J) принимала глобальный минимум.

Делаем градиентный спуск быстрее

При вычислении коэффициентов градиентного спуска вычисляется производная функции (производная — это наклон касательной функции в заданной точке). Именно поэтому мы можем представить, что алгоритм (Градиентный спуск) ищет способ соскользнуть на дно ямы (глобальный минимум функции). Если данные имеют разные масштабы, яма может иметь вид (6), неудобный для сползания вниз. Оказывается, этот вопрос можно решить, «выровняв» границы карьера путем преобразования данных (7). Для этого необходимо привести данные к одному порядку (процесс называется масштабированием признаков).

Есть много способов выполнить этот шаг, но сейчас мы разберем один из самых простых и эффективных: нормализацию Z-показателя. Таким образом, применяя следующие шаги (8) для каждого числа в наборе, мы приводим данные к более однородному состоянию и увеличиваем скорость Градиентного спуска.

Крюк Борис