вступление

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

Линейная регрессия

Представьте, что вы идете в продуктовый магазин, чтобы купить бутылку воды и две банки содовой. Всего вам выставят счет на 6 долларов. 1,5 доллара за бутылку с водой, 2 доллара за банку газировки и 0,5 доллара в качестве налога. Этот пример можно использовать, чтобы объяснить, как работает линейная регрессия. Вы используете линейную регрессию для прогнозирования числового значения, которое в вашем случае является общей стоимостью ваших покупок. Модель регрессии получает входные данные: ваш заказ на одну бутылку с водой и две банки содовой. Модель умножает каждый входной элемент на его соответствующий вес: цену товара, добавляет значение смещения: налог и возвращает прогноз. Это может показаться слишком простым, чтобы быть хорошей моделью, но работает на удивление хорошо. Взгляните на рисунок ниже.

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

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

Обучение линейной и логистической регрессии

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

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

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

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

Итак, чтобы собрать все вместе, модели линейной и логистической регрессии состоят из параметров весов и смещения. Значения этих параметров узнаются с помощью градиентного спуска!

Заключение

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