一元线性回归
用一条直线概括两个量之间的关系,再用它做预测。
一条直线能说明什么
气温越高,冰淇淋卖得越多;身高越高,臂展通常越长。两个量一起变的时候,我们常常想用一条直线把这种关系“概括”出来。有了这条直线,给出一个新的气温,就能估计那天大概能卖多少冰淇淋。
这就是线性回归:从数据里找一条直线,用它来做预测。图里的蓝点是收集到的数据,粗线是我们的模型。
训练数据模型曲线
残差y = 0.00·x + 0.00
均方误差 0.172
试着拖动两个滑块,让直线尽量贴近所有的点:
斜率 k决定直线有多陡。k 是正数,直线往右上走;k 是负数,往右下走。
截距 b决定直线整体往上还是往下挪,也就是 x = 0 时 y 的值。
红色虚线每个点到直线的竖直距离,叫做残差,就是模型在这个点上猜错了多少。
线性回归要找的,是让所有残差“加起来最小”的那条直线。“加起来最小”该怎么算,是下一个知识点“损失函数”要讲的事。
模型、参数和残差
一元线性回归的模型只有两个参数,斜率 和截距 :
对第 个数据点 ,模型的预测是 ,残差是预测值减真实值:
训练数据模型曲线
残差y = 0.00·x + 0.00
均方误差 0.172
“学习”就是根据数据选出 和 。如果用残差平方的平均值来衡量好坏,最优的 和 有现成的公式(、 是平均数):
最优直线一定经过点 。这个公式怎么来的,在“最小二乘与均方误差”里推导。神经网络没有这样的现成公式,只能一步步去找,这就是“梯度下降”。