Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 1/8
Кратко:
- Обучение моделей линейной регрессии и нейронных сетей с помощью градиентного спуска.
- Написание алгоритма стохастического градиентного спуска.
- Освоение регуляризации моделей.
- Изучение работы нейронных сетей.
- Обучение займет 8 уроков по 10-15 минут каждый.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 2/8
Кратко:
- Градиентный спуск используется для обучения линейной регрессии.
- Функция потерь представлена в векторном виде и вычисляется как скалярное произведение разности векторов.
- Градиенты векторных функций вычисляются аналогично производным.
- Решение градиентного спуска для линейной регрессии быстрее прямого метода за счет сокращения времени на итерации.
- Сложность решения прямым методом равна np², в то время как градиентный спуск в p раз быстрее.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 3/8
Кратко:
- Стохастический градиентный спуск ускоряет обучение алгоритмов.
- Обучение происходит на мини-батчах или батчах, которые меняются случайным образом.
- Размер батча обычно составляет 100-200 объектов.
- Количество батчей равно числу итераций для завершения одной эпохи.
- Алгоритм SGD работает с гиперпараметрами: размер батча, количество эпох и величина шага.
- Вычислительная сложность SGD: T(n, b, p) ~ np.
- Алгоритмом SGD линейная регрессия обучается быстрее, чем прямым методом.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 4/8
Кратко:
- Эта статья посвящена написанию алгоритма SGD для модели линейной регрессии на Python.
- В ней предлагается создать класс SGDLinearRegression, который будет содержать гиперпараметры, такие как размер шага.
- Метод init класса используется для инициализации объекта с гиперпараметрами.
- Размер шага можно передать модели при создании класса, а затем сохранить его в атрибуте.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 5/8
Кратко:
- Регуляризация линейной регрессии используется для предотвращения переобучения модели.
- Она ограничивает значения весов, чтобы избежать их чрезмерного влияния на алгоритм.
- Формула функции потерь включает скалярное произведение весов на себя, что ограничивает их значения.
- Вес регуляризации (λ) контролирует силу регуляризации и добавляется в формулу вычисления градиента.
- Линейная регрессия с евклидовым расстоянием между весами называется гребневой регрессией.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 6/8
Кратко:
- Нейронная сеть - это модель, которая состоит из множества простых моделей, например, линейных регрессий.
- Нейронная сеть работает по принципу сетей нервных клеток, то есть из нейронов строит сложные зависимости между входными и выходными данными.
- Значения h₁ и h₂ передаются в логистическую функцию σ(x): где e - число Эйлера; приблизительно равно 2.718281828.
- Логистическая функция в нейронной сети - это функция активации (англ. activation function).
- Она добавляется в нейрон после умножения значений входов на веса, когда выходы нейрона становятся входами для других нейронов.
- Промежуточная переменная (h₁, h₂) - это произведение значения входа на вес: Для удобства промежуточные переменные h₁ и h₂ обозначим вектором h.
- Предсказание нейронной сети вычисляется по формуле: Запишем эту формулу через векторную функцию.
- Веса w₁ и w₂ обозначим столбцами матрицы W.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 7/8
Кратко:
- Обучение нейронных сетей требует формулировки задачи обучения.
- Нейронная сеть представляет собой функцию от входного вектора и параметров.
- Параметры сети включают веса нейронов.
- Функция потерь (например, MSE) используется для оценки качества обучения.
- Задача обучения заключается в минимизации функции потерь с помощью алгоритма SGD.
- Алгоритм обучения аналогичен SGD для линейной регрессии, но с использованием градиента для нейронной сети.
Спринт 16/24 → Тема 4/8: Обучение градиентным спуском → Урок 8/8
Заключение
Теперь вы умеете:
- Программировать алгоритм SGD;
- Уменьшать переобучение методом регуляризации;
- Строить и обучать нейронные сети.
Заберите с собой
Чтобы ничего не забыть, скачайте шпаргалку и конспект темы.
В следующей теме вы познакомитесь с градиентным бустингом.