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

ELI5

С точки зрения статистики, регрессионный анализ - это эксперимент, чтобы увидеть, может ли возникновение одного события быть связано с другим (ссылка ELI5)

Что же тогда такое линейная регрессия (обычный метод наименьших квадратов) с точки зрения того, что мы используем для машинного обучения: Линейная регрессия - это метод, посредством которого вычисляя расстояние множества точек от среднего, вы можете увидеть, насколько близко оно соответствует прямой ( Ссылка на ELI5 )

Подробное руководство по обучению

Регрессия - настолько важная тема для начала построения интуиции для машинного обучения, что действительно стоит потратить время, чтобы углубиться в эту тему. Я лично узнал из 2 источников, первый - это курс UW Applied ML на Coursera, профессор Эмили Фокс просто превосходно объясняет интуицию, лежащую в основе регрессии, и углубляется в отдельные аспекты линейной регрессии, включая формирование функции стоимости, пытаясь минимизировать ее с помощью решение в закрытой форме, как это не всегда возможно и как его можно аппроксимировать градиентным спуском. Ссылка здесь".

Мои два цента

Как мы обсуждали в предыдущем посте, модель машинного обучения - это предположение, которое мы делаем о том, как устроен мир, или, скорее, как работает система, лежащая в основе проблемы, которую мы пытаемся решить. Теперь, предполагая, что у нас есть входное значение x и выходное значение y, которое мы пытаемся предсказать, y = f (x) + ϵ, где f (x) - модель, а - неприводимая ошибка. В случае регрессии, в частности, линейной регрессии f (x) = mx + b + ϵ, где m - наклон прямой, а b - член смещения. Неприводимая ошибка - это именно то, на что это похоже, ее нельзя полностью устранить, построив все более и более совершенные модели. На самом деле, если вы подходите к модели, которая имеет 0 ошибок, это означает, что вы переобучились имеющимся обучающим данным, и, следовательно, модель не сможет хорошо обобщить для новых, невидимых данных. ϵ имеет некоторые важные свойства, E [все ϵ по данным] = 0, то есть ошибка с одинаковой вероятностью будет + ve или отрицательной (имеет нулевое среднее значение), и поэтому f (x) с одинаковой вероятностью будет выше или ниже фактического у. Значения m и b, которые также называют коэффициентами, выводятся с течением времени путем оптимизации функции стоимости. здесь, как мы видим, есть только одна входная функция, то есть x, если мы используем несколько входных функций, таких как f (x) = m1x1 + m2x2 +… + mnxn + b + ϵ, это называется множественной линейной регрессией. Мы также можем применять функции к входному объекту, чтобы изменить его, чтобы сделать регрессию нелинейной.

Так почему бы всегда не использовать линейную регрессию?

ну, потому что в большинстве случаев это неправильно, но все же полезно. Как вы понимаете, не все взаимосвязи можно объяснить, проведя прямую линию через данные. Что ж, в этом случае мы можем применить преобразование ко входу, чтобы он мог быть полиномиальной кривой. Однако с этим тоже есть проблема. чем выше степень полинома, тем выше вероятность переобучения. Это также применимо к большему количеству функций, особенно в случае, когда количество образцов, которые мы должны обучить модели «n», не намного больше, чем количество функций или размеров «d». Когда это происходит, модель, возможно, может изучить каждую комбинацию входных и соответствующих выходных данных, чтобы обеспечить модель с высокой степенью переобучения. Это большая проблема! особенно в эпоху данных, в которой мы живем, очень возможно иметь данные очень большого размера. К счастью, есть способ справиться с этим, этот метод называется регуляризацией. Это один из самых мощных инструментов машинного обучения, о котором мы поговорим в следующем посте.

Фрагмент кода

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