介绍
线性回归是一种有监督机器学习算法,它分为简单线性回归和多元线性回归。从数学角度直观理解,它就是通过某个公式(比如
y
=
a
+
b
x
1
+
c
x
2
y=a+bx_1+cx_2
y=a+bx1+cx2),来表达一个
y
y
y值和
n
n
n个
x
x
x值之间的关系。
y
y
y值:指目标变量target,也就是我要预测的值,是连续型的;
x
x
x值:指预测变量predictors,也叫维度或特征,可以连续也可以离散;
a
b
c
abc
abc值:指我们要求解的参数,也叫模型model;
简单线性回归
我们熟悉的一元一次方程 y = a + b x y=a+bx y=a+bx,其实就是典型的简单线性回归函数,它是坐标轴上的一条直线, a a a表示截距, b b b表示斜率。在机器学习中,我们也常表达为 y = w 0 x 0 + w 1 x 1 y=w_0x_0+w_1x_1 y=w0x0+w1x1形式, w w w是权重值weight的缩写。
如何理解“简单”与“线性”两个词?
“简单”是指计算时只需要考虑一个 x x x值,当然很简单啦;“线性”是因为 x x x为一次方,计算出的 y y y值,在坐标轴中呈现“线性的变化”。
什么样的模型准确性更高?
如果一条直线,在坐标轴中穿过的样本点越多,则说明模型越准确,因为它能更好的拟合这些数据样本点。当然,通常情况它是不可能穿过所有样本点的。另外我们在实际训练过程中,并不会去刻意追求完美的模型。
多元线性回归
其表达式为
y
=
w
0
x
0
+
w
1
x
1
+
w
2
x
2
+
.
.
.
+
w
n
x
n
y=w_0x_0+w_1x_1+w_2x_2+...+w_nx_n
y=w0x0+w1x1+w2x2+...+wnxn形式。
一般情况,我们做模型预测,肯定不止考虑一个维度。比如房价的预测,需要考虑的因素就很多,包括历史价格走势、供求影响、交通情况、是否学区房、政策影响等,只有进行综合的评估和训练,才能得到更符合实际情况的模型。
上图表示的就是一个线性平面在拟合三维空间中的数据样本点;
为了表达方便,我们通常将公式写成
y
^
=
W
T
X
\hat{y}=W^{T}X
y^=WTX形式,
y
^
\hat{y}
y^表示预测值。如果要表达真实值
y
y
y,则还需要加上样本点之间的误差
ε
\varepsilon
ε,表达式为
y
^
=
W
T
X
+
ε
\hat{y}=W^{T}X+\varepsilon
y^=WTX+ε形式。
什么是误差?
以简单线性回归为例,如下图所示,青色数据样本为真实值
y
y
y,直线上同一
x
x
x位置的红色样本点为预测值
y
^
\hat{y}
y^,它们之间的距离
r
=
∣
y
−
y
^
∣
r=|y-\hat{y}|
r=∣y−y^∣就是误差,使用
ε
\varepsilon
ε符号表示。简单理解误差就是真实样本点与预测样本点之间的距离。那为啥会产生误差呢?因为我们几乎不可能找到一条同时穿过所有样本点的完美直线。
为什么我们要考虑误差?
因为通过误差可以计算 L o s s Loss Loss损失函数,当 L o s s Loss Loss 最小时,我们可以得到最佳模型,也就是我们所说的“最优解”。