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