Прошло много времени с тех пор, как я написал первую статью о машинном обучении для всех. Отныне постараюсь чаще публиковать статьи.

Краткое примечание: К сожалению, Medium не поддерживает установку математического типа (латекс и т. Д.), Поэтому я помещаю математические формулы в виде изображений в статьи и понятия не имею, выглядят ли уравнения элегантно на разных устройствах.

Сегодняшняя тема - Обобщенные линейные модели, набор общих моделей машинного обучения для задач контролируемого обучения (как для регрессии, так и для классификации).

Начнем с моделей линейной регрессии. Я думаю, что каждый, так или иначе, сталкивался с моделями линейной регрессии во время учебы в университете. Цель моделей линейной регрессии - найти линейное соответствие между наблюдаемыми функциями и наблюдаемыми реальными выходными данными, чтобы, когда мы видим новый экземпляр, мы могли предсказать результат. В этой статье мы приняли, что есть N наблюдений с выходными y и M функциями x для обучения.

Мы определяем M-мерный вектор w для представления весов, которые сопоставляют входы с выходами. Мы также определяем размерную матрицу X N на M для представления всех входных данных. y определяется как N-мерный выходной вектор.

Наша цель - найти наилучшее w, которое минимизирует эвклидово расстояние между действительным выходным вектором y и приближением X w. Для этой цели мы обычно используем ошибку наименьших квадратов и матричное исчисление, чтобы минимизировать ее. Здесь мы используем L для представления функции потерь (ошибки).

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

Вначале мы говорили, что результаты реальны. Фактически мы предположили, что выходные данные выбираются из нормального распределения. Давайте определим это явно, установив среднее значение распределения равным Xw, а дисперсию - I (единичная дисперсия).

Теперь наша цель - найти w, который максимизирует вероятность y, равного p (y | X, w ). Мы определили p (y | X, w) как нормальное распределение выше, поэтому мы знаем его развернутую форму, которая является pdf нормального распределения.

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

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

Решение MAP

Вышеприведенное решение называется методом максимального правдоподобия, потому что именно это мы и сделали, максимизируя вероятность. Мы можем положить априорные вероятности на веса и максимизировать апостериорное распределение w вместо вероятности y.

В приведенных выше уравнениях мы определили нулевое среднее, априорную единичную дисперсию по весу w и производную функцию потерь с использованием отрицательного логарифмического апостериорного распределения. При предварительном распределении w старайтесь поддерживать значения веса около среднего значения, которое в данном случае равно 0. Этот процесс называется L2-регуляризацией (регрессия Риджа), которая штрафует маргинальные значения w, как это можно увидеть в функции потерь.

Предыдущее распределение отражает наши взгляды на значения w и не обязательно должно быть нормальным распределением. Если мы поместим распределение Лапласа в качестве априорного, член регуляризации будет 1-нормой w (L1 регуляризация-лассо).

Чтобы лучше проиллюстрировать эффект регуляризации, я приведу вам пример. Предположим, у нас есть точка данных с функциями [2,1] и выходом 3. Существует бесконечно много способов установить веса для этой проблемы, но среди них регуляризация L2 предпочтет [1,1], а регуляризация L1 предпочтет [ 1.5,0], потому что 2-норма [1,1] и 1-норма [1.5,0] являются наименьшими среди всех возможных решений. Таким образом, мы видим, что регуляризация L2 пытается максимально приблизить все значения весов к 0. С другой стороны, L1-регуляризация предпочитает разреженные решения.

Регрессия Пуассона

Мы использовали линейную регрессию для получения реальных результатов. Более конкретно, если выходные значения являются счетчиками, то мы можем изменить распределение правдоподобия и использовать ту же настройку для этой новой проблемы. Распределение Пуассона является подходящим распределением для моделирования данных подсчета, и мы будем его использовать.

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

Мы берем производную функции потерь по w и приравниваем ее к 0. Насколько я понимаю, у нее нет решения в замкнутой форме, в отличие от линейной регрессии. Но мы можем использовать методы неограниченной оптимизации для поиска итерационных решений, и ниже я предоставил для этого метод градиентного спуска. В методе градиентного спуска мы постепенно обновляем веса и делаем небольшие шаги в отрицательном направлении градиента потерь (потому что это направление, в котором потери уменьшаются по отношению к w).

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

Выше я представил модели для задач регрессии, но обобщенные линейные модели также могут использоваться для задач классификации. В задаче классификации с двумя классами вероятность определяется распределением Бернулли, т.е. выходными данными являются либо 1, либо 0.

На этот раз мы используем сигмовидную функцию для отображения выходных данных линейной модели в диапазон (0,1), потому что среднее значение Бернулли должно быть в этом диапазоне.

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

Полиномиальная логистическая регрессия

Если количество классов больше 2, распределения Бернулли недостаточно для описания данных. В этом случае мы предпочитаем полиномиальное распределение. Для задачи классификации K-класса мы выражаем результат с помощью однократного кодирования. При однократном кодировании каждый вывод выражается K-мерными векторами со всеми нулями, кроме индекса, который принимает значение 1 и показывает класс экземпляра.

На этот раз мы определяем K различных вероятностей, которым может принадлежать y. У каждого класса своя вероятность и вес. Поэтому, в отличие от описанных выше моделей, мы определяем K различных весовых векторов.

Вероятность каждого класса должна быть больше 0, поэтому мы можем взять экспоненту линейного отображения, как это делается в регрессии Пуассона. Но на этот раз существует K различных вероятностей, и их сумма должна быть равна 1. Следовательно, ее нужно нормализовать, и для этого мы используем функцию softmax.

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

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