本文主要介绍线性回归模型,该模型主要应用于监督学习中目标变量是连续数值型的场景。
一元线性回归模型
线性回归模型是数据科学领域最简单的模型,很多复杂的模型 (如多项式回归、逻辑回归、SVM) 都是建立在线性回归模型的基础上的,或者是从其中能找到线性回归模型的影子。最简单的线性回归模型就是一元线性回归模型,其模型的形式就是:
y
=
a
x
+
b
(1)
y=ax+b \tag{1}
y=ax+b(1)
由式(1)可知,线性回归是针对连续数值型变量的模型,且样本只有一个特征,即只有一个自变量。所谓线性,是指方程是线性的,也就是在寻找一条直线来拟合数据;所谓回归,是指用方程来模拟变量之间是如何关联的。线性回归就是要找一条直线,并且让这条直线尽可能地拟合训练样本中的数据点。
虽然我们可以找到一条拟合训练集的直线,但是同一训练样本可以拟合出很多条直线,我们如何判断那条直线是最适合的?这就引出了如何评价模型结果的好坏,又通过什么样的方式来判断?接下来我们通过损失函数来了解线性回归的评价标准。
损失函数
为了衡量模型的效果,很自然的就会想到衡量预测值与真实值之间的差别。假设预测值为f(x),真实值为y,样本的数量为n,那么就有:
∑
i
=
1
n
(
f
(
x
i
)
−
y
i
)
2
(2)
\sum_{i=1}^n(f(x_i)-y_i)^2 \tag{2}
i=1∑n(f(xi)−yi)2(2)
也就是每一个样本的预测值与真实值差的平方和,取平方是为了消除负数的影响。
式(2)就是均方误差(MSE, Mean Squared Error),它对应了常用的欧氏距离(也就是计算两点之间距离)。均方误差是机器学习中回归问题经常使用的评价方式,在机器学习中称之为损失函数。可以看到一个公式在不同的地方会有不同的名字,很容易搞混,但我们只要理解其中的基本思想就会很清楚了。
所以,现在我们知道了损失函数是衡量回归模型误差的函数,也就是我们要的“直线”的评价标准。这个函数的值越小,说明直线越能拟合我们的数据。
得到损失函数后,又如何求得使损失函数最小的a和b呢,接下来我们通过最小二乘法来获得问题的解。
最小二乘法
回归方程里,求得特征对应的最佳回归系数的方法是最小化误差的平方和,也就是损失函数。
假设式(2)的值为S,将式(1)代入式(2)可得:
S
=
∑
i
=
1
n
(
f
(
x
i
)
−
a
x
i
−
b
)
2
(3)
S =\sum_{i=1}^n(f(x_i)-ax_i-b)^2 \tag{3}
S=i=1∑n(f(xi)−axi−b)2(3)
在xi和yi已知的前提下,式(3)是a和b的二次函数。由微积分的知识可知,要求得a和b的最小值分别对a和b求偏导,当两者的偏导数为0时取得最小值。如下所示:
∂
S
∂
a
=
2
∑
i
=
1
n
(
y
i
−
a
x
i
−
b
)
x
i
=
0
(4)
\frac {\partial S } {\partial a }=2\sum_{i=1}^n(y_i - ax_i-b)x_i = 0 \tag{4}
∂a∂S=2i=1∑n(yi−axi−b)xi=0(4)
∂ S ∂ b = 2 ∑ i = 1 n ( y i − a x i − b ) = 0 (5) \frac{\partial S}{\partial b} = 2\sum_{i=1}^n(y_i-ax_i-b)=0 \tag{5} ∂b∂S=2i=1∑n(yi−axi−b)=0(5)
将xi和yi代入(4)和(5)式中就可以得到a和b的最小值。
总结
本文简单介绍了一元线性回归模型及其损失函数,并通过最小二乘法求得线性方程的最小参数。
4245




被折叠的 条评论
为什么被折叠?



