Машинное обучение: изучите математические принципы линейной регрессии в одной статье

машинное обучение

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

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

Процесс моделирования машинного обучения

Наиболее распространенным вариантом использования машинного обучения является обучение с учителем: при наличии некоторых данных компьютер используется для изучения шаблона, а затем использует его для прогнозирования новых данных. Простая задача обучения с учителем может быть выражена как, учитывая N попарных пар данных(x_i, y_i)_{i=1}^N, использовать некоторую модель машинного обучения для ее моделирования, и получить модель (модель), в которой заданная пара данных является образцом (выборкой),xэто особенность,yистинное значение (метка).

收入与教育程度数据集 来源:An Introduction to Statistical Learning

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

Одномерная линейная регрессия

y = mx + b \tag{0}

В средней школе мы часто использовали приведенные выше уравнения для решения некоторых математических задач, уравнения описывают переменныеyс переменнойxи изменить. Графически уравнение представляет собой прямую линию. Если такая математическая модель установлена, то известно, чтоxмы можем предсказать\hat{y}. Статистики помещают небольшую шапку на переменную, чтобы указать, что это прогнозируемое значение, чтобы отличить его от фактических наблюдаемых данных. Уравнение имеет только одну независимую переменнуюx, и не содержит нелинейных элементов, таких как квадратные кубы, поэтому он называетсяЛинейное уравнение с одной переменной.

机器学习是一个选择最优参数的过程

При моделировании набора данных о доходах мы можемmиbБерите разные значения для построения разных линий, формируя таким образом семейство параметров. В семействе параметров существует оптимальная комбинация, которая описывает набор данных статистически оптимальным образом. Тогда процесс обучения с учителем можно определить как: задано N пар данных(x, y), чтобы найти лучшие параметрыm^*иb^*, чтобы модель могла лучше соответствовать данным.

На картинке выше показано, какая линия является лучшей, за исключением разных параметров? Как вы измеряете, оптимально ли модель соответствует данным? Машинное обучение измеряет эту проблему с помощью функции потерь. Функция потерь, также известная как функция стоимости, вычисляет прогнозы модели.ŷи истинное значениеyстепень различия между. Как видно из названия, эта функция вычисляет потери или стоимость ошибок модели, чем больше функция потерь, тем хуже модель и тем меньше она способна соответствовать данным. Статистики обычно используютL(\hat{y}, y)представлять функцию потерь.

预测值与真实值的误差

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

L(\hat{y_i}, y_i) = (\hat{y_i} - y_i)^2 \tag{1}

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

L(\hat{y}, y) = \frac{1}{N} \sum_{i=1}^N(\hat{y_i}- y_i)^2 \tag{2}
L(\hat{y}, y) =\frac{1}{N} \sum_{i=1}^N[(mx_i + b) - y_i]^2 \tag{3}

Формула 2 означает, что все ошибки набора данных суммируются и усредняются, а затем подставляются в формулу на основе этого\hat{y}=mx + b, получить уравнение 3.

m^*, b^* = \mathop{\arg\min}_{m, b}L(m, b) = \mathop{\arg\min}_{m, b}\frac{1}{N}\sum_{i=1}^N[(mx_i + b) - y_i]^2 \tag{4}

в формуле 4arg minэто общепринятая математическая запись для нахожденияLнаименьший параметр функцииm*иb*.

误差平方的几何解释

Графически ошибка представляет собой отрезок, а после возведения в квадрат получается квадрат, площадь которого суммируется и усредняется, что является функцией потерь формулы 3. Чем меньше средняя площадь всех квадратов, тем меньше потери. Для заданного набора данныхxиyЗначение известно, параметрmиbЕго нужно решить, и процесс решения модели — это процесс решения уравнения 4. ВышеупомянутоеНаименьших квадратовМатематическое представление , «квадрат» означает взятие квадрата, а «мин» означает функцию минимальных потерь. Пока что мы обнаружили, что с функцией потерь процесс машинного обучения разлагается на процесс поиска оптимального решения функции потерь, то есть нахождение задачи оптимизации.

平方函数有最小值

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

Решение параметра методом наименьших квадратов

Для функции в уравнении 4 можноmиbПроизводные получаются отдельно, когда производная равна 0, функция потерь наименьшая.

\frac{\partial}{\partial m}L(m, b) = \frac{2}{N}\sum_{i=1}^Nx_i(mx_i + b -y_i) \\=2m(\frac{1}{N}\sum_{i=1}^N{x_i}^2) + 2b(\frac{1}{N}\sum_{i=1}^Nx_i)-2(\frac{1}{N}\sum_{i=1}^N{x_iy_i})\tag{5}
\frac{\partial}{\partial b}L(m, b)=\frac{2}{N}\sum_{i=1}^Nmx_i+b-y_i \\=2m(\frac{1}{N}\sum_{i=1}^N{x_i}) + 2b - 2(\frac{1}{N}\sum_{i=1}^N{y_i}) \tag{6}

Уравнения 5 и 6 представляют собой пару функций потерь.mиbПроведите смещение.

\bar{x} = \frac{1}{N}\sum_{i=1}^N{x_i} \qquad \qquad \qquad \bar{y} = \frac{1}{N}\sum_{i=1}^N{y_i} \tag{7}
s^2 = \frac{1}{N}\sum_{i=1}^N{{x_i}^2} \qquad \qquad \quad \rho = \frac{1}{N}\sum_{i=1}^N{x_iy_i} \tag{8}

Результаты повторили некоторые изxиyУсловия суммирования для заданного набора данных, эти условия суммирования могут быть получены расчетным путем, являются константами и могут быть выражены уравнениями 7 и 8.

\frac{\partial}{\partial m}L(m, b) = 0 \Rightarrow ms^2 + b\bar{x} - \rho = 0 \ \tag{9}\\
\frac{\partial}{\partial b}L(m, b) = 0 \Rightarrow m\bar{x} + b - \bar{y} = 0 \tag{10}

Когда производная равна 0, можно получить минимальное значение, то есть оптимальное решение можно получить по формулам 9 и 10mиb.

m^*=\frac{\rho-\bar{x}\bar{y}}{s^2-{\bar{x}^2}} \qquad \qquad \qquad \qquad b^*=\bar{y}-\bar{x}m^* \tag{11}

Выше приведен процесс решения метода наименьших квадратов для одномерной линейной регрессии.

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

Множественная линейная регрессия

Теперь мы ставимxРасширено до многомерного случая, то есть несколько факторов совместно влияют на переменную.y. Это часто имеет место для реальных проблем.Например, для прогнозирования цен на жилье необходимо учитывать в том числе是否学区,房间数量,周边是否繁华,交通方便性Ждать. Существует D измерений влияющих факторов, и область машинного обучения называет эти D влияющие факторы какособенность(особенность). Каждый образец имеет предсказуемый\mathbf{y}и набор D-мерных векторов\mathbf{X}. исходные параметрыmстановится D-мерным вектором\mathbf{w}. Таким образом, некоторыеy_iможно выразить какb + \sum_{d=1}^Dw_dx_{i,d}x_{i, d}означает первыйiпримеры векторов\mathbf{x_i}Бdсобственные значения размерности.

y_i = b + \sum_{d=1}^Dw_dx_{i,d}\qquad \qquad b = w_{D+1} \tag{12}
y_i = \sum_{d=1}^{D+1}w_dx_{i,d} \tag{13}\\

Чтобы упростить выражение, член независимого смещения можно преобразовать в вектор, используя следующий метод.\mathbf{w}Среда: использоватьb=w_{D+1}для представления параметраb,будетbДобавьте к последнему биту вектора признаков, чтобы расширить D-мерный признак до измерения D+1, то есть в каждом\mathbf{x}Наконец, добавьте термин со значением 1, чтобы уравнение 13 можно было получить из уравнения 12.

\mathbf{w} = \left[  \begin{array}{c} w_1\\ w_2\\ \vdots\\ w_D \\ w_{D + 1} \end{array} \right]  \quad \mathbf{X} = \left[  \begin{array}{c} x_1\\ x_2\\ \vdots\\ x_N \end{array} \right] =  \begin{pmatrix}         x_{1,1} & x_{1,2} & \cdots & x_{1,D} & 1 \\         x_{2,1} & x_{2,2} & \cdots & x_{2,D} & 1\\         \vdots & \vdots & \ddots & \vdots & \vdots \\         x_{N,1} & x_{N,2} & \cdots & x_{N,D} & 1 \\ \end{pmatrix} \quad \mathbf{y} = \left[  \begin{array}{c} y_1\\ y_2\\ \vdots\\ y_N \end{array} \right] \tag{14}

Отдельные формы векторов показаны в уравнении 14. где вектор\mathbf{w}Представляет вес каждой функции в модели; матрица\mathbf{X}Каждая строка является выборкой, и каждая выборка имеет собственные значения D+1, которые являются значениями выборки в разных измерениях; вектор\mathbf{y}является истинным значением. Член суммирования может быть выражен в виде скалярного произведения:\sum_{d=1}^{D+1}w_dx_{i,d} =\mathbf{w}^\top \mathbf{x_i}. Данные, состоящие из N выборок, могут быть выражены как:\mathbf{y} = \mathbf{X}\mathbf{w}

y_i = \sum_{d=1}^{D+1}w_dx_{i,d} =\mathbf{w}^\top \mathbf{x_i} \Rightarrow \mathbf{y} = \mathbf{X}\mathbf{w}\tag{15}

Хотя уравнение 13 может описывать взаимосвязь между переменными, общая область машинного обучения предпочитает использовать форму векторного умножения, такую ​​​​как уравнение 15. Это связано не только с тем, что так проще выражать свои мысли, но и с тем, что современные компьютеры сделали большую оптимизацию для векторных вычислений.И ЦП, и ГП любят векторные вычисления, а параллельная обработка данных может выполняться в сотни тысяч раз быстрее. .

должны знать о том,Нежирный шрифт в формуле представляет собой скаляр, а полужирный шрифт представляет собой вектор или матрицу..

三元线性规划

Более сложная, чем одномерная линейная регрессия, множественная линейная регрессия состоит не из прямой линии, а из гиперплоскости в многомерном пространстве, а точки данных разбросаны по обеим сторонам гиперплоскости.

L(w) = (\mathbf{X}\mathbf{w}-\mathbf{y})^\top (\mathbf{X}\mathbf{w}-\mathbf{y}) = ||\mathbf{X}\mathbf{w}-\mathbf{y}||_2^2 \tag{16}

Функция потерь для множественной линейной регрессии все еще используется.预测值-真实值Для расчета квадрата , уравнение 16 является векторным представлением функции потерь всей модели. Здесь появляется вертикальная линия, которую называют квадратом нормы L2. Норма обычно используется для векторов и представляет собой математическую нотацию, часто используемую в области машинного обучения.Уравнение 17 показывает вектор\mathbf{x}Квадрат L2-нормы и ее производные.

\\ ||\mathbf{x}||_2^2 = ((\sum_{i=1}^Nx_i^2)^1/2)^2 \qquad \qquad \qquad \qquad \nabla||\mathbf{x}||_2^2=2\mathbf{x} \tag{17}\\
\frac{\partial}{\partial \mathbf{w}}L(\mathbf{w}) = 2\mathbf{X}^\top (\mathbf{X}\mathbf{w} - \mathbf{y}) = 0 \tag{18}

Для вектора в уравнении 16\mathbf{w}Возьмите производную, чтобы получить уравнение 18.

\mathbf{X}^\top\mathbf{X}\mathbf{w} = \mathbf{X}^\top \mathbf{y} \tag{19} \Rightarrow (\mathbf{X}^\top\mathbf{X})^{-1} \mathbf{X}^\top\mathbf{X}\mathbf{w}=(\mathbf{X}^\top\mathbf{X})^{-1} \mathbf{X}^\top \mathbf{y}
\mathbf{w}^* = (\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top \mathbf{y} \tag{20}\\

Уравнение 19 Вектор состава\mathbf{w}Матричное уравнение , согласно знанию линейной алгебры, оптимальное решение на самом деле состоит в том, чтобы решить это матричное уравнение, которое по-английски называется какNormal Equation.

Линейное программирование позволяет получить некоторое оптимальное решение, и эти оптимальные решения образуют оптимальную гиперплоскость.

Прочитав это, некоторые друзья, которые немного разбираются в машинном обучении, могут спросить, почему они не упоминаются при решении梯度下降. Фактически вместо решения матричных уравнений можно использовать градиентный спуск. Обращение матрицы в формуле 20 требует большого объема вычислений, а сложностьO(n^3)уровень. Когда размерность признака достигает более миллиона или количество отсчетов чрезвычайно велико, время расчета очень велико, а память одного компьютера не может даже сохранить эти параметры Метод решения матричного уравнения нереалистичен, и необходимо использовать метод градиентного спуска. Метод градиентного спуска аппроксимирует оптимальное решение с определенной точностью, а скорость решения очень выгодна при большом объеме данных, но может не дать возможности получить абсолютно оптимальное решение. Эта колонка будет подробно освещать градиентный спуск в будущем.

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

Примеры использования линейной регрессии

安斯库姆四重奏 来源:维基百科

Итак, когда именно можно использовать линейную регрессию? Статистик Анскомб дал четыре набора данных, известных как квартет Анскомба, Из распределения этих четырех наборов данных видно, что не все наборы данных могут быть построены с использованием одномерной линейной регрессии. Реальные проблемы имеют тенденцию быть более сложными, и практически невозможно, чтобы переменные идеально соответствовали линейным моделям. Таким образом, использование линейной регрессии требует следующих допущений:

  • Линейная регрессия – этовозвращениепроблема (регрессия).
  • переменная для предсказанияyс независимой переменнойxотношениялинейныйиз.
  • Ошибки следуют нормальному распределению со средним значением 0, иxгомоскедастичность.
  • Переменнаяxраспределение должно быть переменным.
  • Различные функции множественной линейной регрессии должны быть независимы друг от друга, чтобы избежать линейной корреляции.

Проблемы регрессии и классификации

Противоположностью регрессии является классификация, которая является переменной для прогнозирования.yВыходной набор конечен, и прогнозируемое значение может быть только одним из конечного набора. Когда прогнозируемая переменнаяyВыходной набор бесконечен и непрерывен, и мы называем это регрессией. Например, прогноз погоды, предсказывающий, будет ли завтра дождь, является задачей бинарной классификации, а прогноз количества осадков, выпадающих завтра, — задачей регрессии.

Между переменными существует линейная зависимость

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

Ошибки следуют нормальному распределению с нулевым средним

Понятие ошибки упоминалось в предыдущем процессе решения методом наименьших квадратов, и ошибка может быть выражена как误差 = 实际值 - 预测值.

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

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

Переменнаяxраспределение имеет вариативность

Линейная регрессия по переменнымxТакже есть требования, должны быть определенные изменения, и большая часть данных не может быть распределена по вертикали, как данные в правом нижнем углу Anscombe Quartet.

Множественная линейная регрессия между различными функциями, независимыми друг от друга

Если разные функции не являются независимыми друг от друга, это может привести к коллинеарности между функциями, что приведет к неточным моделям. В качестве крайнего примера используйте несколько функций при прогнозировании цен на жилье:房间数量,房间数量*2,-房间数量И т. д., функции линейно связаны, Если модель имеет только эти функции и не имеет других эффективных функций, хотя модель может быть обучена, модель неточна и имеет плохую предсказуемость.

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

Суммировать

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

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

公众号