Вот краткое изложение часто задаваемых вопросов по машинному обучению во время интервью с учеными данных. Я сделал шпаргалку максимально лаконичной. Все содержание является ключевым знанием, которое необходимо помнить. Надеюсь, это послужит руководством по подготовке к собеседованию в DS!

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

Определение: измеряет штраф между его прогнозируемым результатом и фактическим результатом.

Распространенные типы функции потерь

Линейная регрессия: квадрат потери (сумма квадратов ошибок)

Классификация (например, логистическая регрессия, дерево решений): логарифмическая потеря/кросс-энтропийная потеря

Мягкая кромка SVM: потеря шарнира

Градиентный спуск

  • Оптимизировать целевую функцию (минимизировать функцию потерь).
  • Найти локальный оптимум, можно найти глобальный оптимум только тогда, когда целевая функция выпукла.

Шаги:

1. Начните с первоначального предположения.

2. Каждый раз немного уменьшайте целевую функцию, используя отрицательное направление градиента (частная производная).

3. Остановитесь, пока не сойдетесь к локальному оптимуму.

Скорость обучения: определяет, насколько большой шаг мы делаем в градиентном спуске.

  • Если скорость обучения слишком мала: сходитесь медленно
  • Если скорость обучения слишком велика: выйти за пределы оптимума и не сойтись
  • Выбор адаптивной скорости обучения: делайте меньшие шаги при приближении к локальному минимуму
  • Одновременно обновить все параметры

Примечание. Функция стоимости линейной регрессии всегда является выпуклой функцией и всегда имеет один минимум.

Градиентный спуск, стохастический градиентный спуск и мини-пакетный градиентный спуск

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

  • особенно подходит для выпуклой функции

Стохастический градиентный спуск: используйте одну случайную точку данных за одну итерацию.

  • сходятся быстрее
  • снизить вероятность застревания в одном локальном оптимуме

Мини-пакет GD: используйте размер мини-пакета точек данных в одной итерации.

  • более эффективен, чем SGD, поскольку мы можем использовать векторизованную реализацию

Масштабирование объектов для градиентного спуска

  • Масштабирование признаков ускоряет сходимость градиентного спуска.
  • Геометрическое объяснение: направление градиентного спуска перпендикулярно контурной линии. Когда мы не реализуем масштабирование признаков перед градиентным спуском, контурная линия имеет овальную форму. Это не обязательно указывает на оптимум, что приводит к более медленной сходимости.

Нормальное уравнение

Решение в закрытой форме для линейной регрессии (матричная форма)

Градиентный спуск против нормального уравнения

  • Градиентный спуск хорошо работает, когда размер выборки n очень велик.
  • Нормальное уравнение должно вычислять (XᵀX)⁻¹, временная сложность O(n³)。 Существует проблема, когда матрица необратима. Если необратимый → не имеет единственного решения, вместо этого используйте градиентный спуск.
  • Причины необратимости: коллинеарность. Количество функций больше, чем количество точек данных (вместо этого используйте регуляризацию)

Логистическая регрессия

Обобщенная линейная модель. Целевая переменная является двоичной переменной.

Сигмовидная функция

Коэффициентная интерпретация

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

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

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

Функция потерь бинарной логистической регрессии (выпуклая функция)

  • Его можно получить с помощью оценки максимального правдоподобия (MLE).
  • Нет решения в закрытой форме. Нам нужно использовать градиентный спуск, чтобы найти оптимум.
  • Расширенная оптимизация в градиентном спуске: алгоритм BFGS часто быстрее, чем традиционный градиентный спуск.

Проблема классификации нескольких классов

Используйте классификацию One vs. All, создавайте несколько моделей бинарной классификации.