线性回归是监督学习中回归问题的一种基本算法。它的主要目的是通过将线性方程拟合到观测数据,来建立一个或多个解释变量(特征)与连续目标变量之间的关系模型。可以将其理解为在数据点中找出“最拟合”的直线(或在更高维度中的超平面)。简单线性回归:用一个特征建立模型简单线性回归是一种预测目标变量 $y$ 的方法,它基于单个特征 $x$。这种关系由直线方程表示:$$ y = \beta_0 + \beta_1 x + \epsilon $$让我们来解释这个方程:$y$: 我们想要预测的目标变量(例如,房价)。$x$: 我们用于预测的输入特征(例如,房屋面积,以平方英尺计)。$\beta_0$: 截距(或偏置)。这是当 $x$ 为零时 $y$ 的预测值。几何上,它是回归线与 y 轴的交点。$\beta_1$: 特征 $x$ 的系数(或斜率)。它表示特征 $x$ 增加一个单位时,目标变量 $y$ 的变化量。正的 $\beta_1$ 表示 $y$ 倾向于随 $x$ 的增加而增加,而负的 $\beta_1$ 则表示反向关系。$\epsilon$: 误差项(或残差)。它表示 $y$ 的实际观测值与模型预测值($\beta_0 + \beta_1 x$)之间的差异。它衡量了 $y$ 中未由与 $x$ 的线性关系解释的变化量。训练简单线性回归模型的目标是找到截距($\beta_0$)和斜率($\beta_1$)的最优值,从而最小化所有数据点的总误差($\epsilon$)。{"layout": {"xaxis": {"title": "特征 (x)"}, "yaxis": {"title": "目标 (y)"}, "title": "简单线性回归示例"}, "data": [{"x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "y": [2.5, 3.1, 4.5, 5.0, 6.8, 7.2, 8.9, 9.1, 10.3, 11.5], "mode": "markers", "name": "数据点", "marker": {"color": "#228be6"}}, {"x": [1, 10], "y": [2.1, 11.1], "mode": "lines", "name": "拟合线", "line": {"color": "#f03e3e", "width": 3}}]}一张散点图,显示了数据点以及通过简单线性回归找到的最拟合直线。多元线性回归:用多个特征建立模型在大多数情况下,目标变量依赖于不止一个特征。多元线性回归通过考虑多个输入特征($x_1, x_2, ..., x_n$)来预测目标 $y$,从而扩展了简单的情况。方程变为:$$ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_n x_n + \epsilon $$这里:$y$: 目标变量。$x_1, x_2, \dots, x_n$: 输入特征(例如,房屋面积、卧室数量、房龄)。$\beta_0$: 截距,表示当所有特征($x_1, \dots, x_n$)都为零时 $y$ 的预测值。$\beta_1, \beta_2, \dots, \beta_n$: 每个对应特征的系数。每个 $\beta_i$ 表示特征 $x_i$ 增加一个单位时 $y$ 的预期变化,假设所有其他特征保持不变。这种“保持不变”的属性对于解释结果很重要。$\epsilon$: 误差项,衡量了未由特征的线性组合解释的变化量。模型在 n 维特征空间中找到最拟合的超平面。目标保持不变:找到最小化预测误差的系数($\beta_0, \beta_1, \dots, \beta_n$)。“线性”假设需要认识到,线性回归其本质上假设特征与目标变量之间存在线性关系。模型试图使用直线或超平面捕获其基础趋势。如果真实关系是非线性的(例如,急剧弯曲),简单的线性模型可能无法提供准确的预测(它可能欠拟合数据)。我们将在后面讨论处理非线性的方法,但对于许多问题,线性回归提供了一个不错的起点和一个高度可解释的模型。如何找到“最拟合”算法如何确定系数($\beta$s)的最优值?最常用的方法是普通最小二乘法 (OLS)。OLS 通过寻找一条线(或超平面),使得实际目标值 ($y$) 与模型预测值 ($\hat{y}$) 之间平方差的和最小。将差值平方可以确保正负误差不会相互抵消,并对较大的误差施以更重的惩罚。尽管数学细节涉及微积分或线性代数,但目标很简单:最小化总平方误差。可解释性线性回归的一个重要优点是它的可解释性。所学到的系数($\beta_1, \dots, \beta_n$)直接量化了每个特征与目标之间的关系,假设其他特征保持不变。例如,如果“房屋面积”的 $\beta_1$ 为 150,这表明,平均而言,每增加一平方英尺的房屋面积,房价会增加 150 美元,同时保持卧室数量等其他因素不变。这使得理解模型的行为并解释其预测变得更容易。既然我们已经掌握了线性回归背后的原理,后续章节将演示如何使用 Scikit-learn 实现、训练和评估这些模型。