欢迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有问题可以随时与我交流, 谢谢大家!
版本1:线性回归
机器学习有许多应用,其中一个主要任务是预测。线性回归使用一个或多个自变量来预测因变量。它假设它们之间存在线性关系。
注意: 线性回归是用于理解和量化变量之间关系的总体过程或方法。
线性回归模型是这种关系的具体数学表示。
模型:
对于具有多个预测变量的线性回归:
y = β 0 + β 1 x 1 + . . . + β n x n + ϵ y = \beta_0 + \beta_1x_1 + ... + \beta_nx_n + \epsilon y=β0+β1x1+...+βnxn+ϵ
其中:
- y y y:我们要预测的因变量(或响应变量)。
- x 1 , . . . , x n x_1, ..., x_n x1,...,xn:影响预测的自变量(或预测变量)。
- β 0 , . . . , β n \beta_0, ..., \beta_n β0,...,βn: β 0 \beta_0 β0 是截距,而 β 1 , . . . , β n \beta_1, ..., \beta_n β1,...,βn 是表示各自自变量影响的系数。
- ϵ \epsilon ϵ:误差项,表示观测值和预测值之间的差异。
目标:
最小化观测值和预测值之间的平方差(残差)之和:
平方误差和 (SSE):
Minimize ∑ i ( β 0 + β 1 x i 1 + … + β n x i n − y i ) 2 \text{Minimize} \ \sum_i (\beta_0 + \beta_1 x_{i1} + \ldots + \beta_n x_{in} - y_i)^2 Minimize i∑(β0+β1xi1+…+βnxin−yi)2
这个 SSE 作为我们在线性回归中要最小化的损失函数。
简单线性回归:一个示例
考虑以下情景:
- x x x 代表一个自变量,如身高。
- y y y 表示我们要预测的因变量,如体重。
我们的目标是找到一个函数 g g g,使得 y = g ( x ) y = g(x) y=g(x)。给定一个包含 x x x 和 y y y 值的训练数据集,我们的任务是确定这个函数 g g g。这种找到合适函数 g g g 的过程称为回归。
注意: 回归广泛地指建模和分析多个变量的任何方法,重点在于因变量和一个或多个自变量之间的关系。
为了简单起见,我们可以假设 g g g 是一个线性回归模型:
g ( x ) = α x + β g(x) = \alpha x + \beta g(x)=αx+β
在这个方程中:
- α \alpha α 是这条线的斜率
- β \beta β 是截距。
为了得到一个最优模型,我们的任务是选择 α \alpha α 和 β \beta β 的值,使实际数据点和预测点之间的平方差最小化。形式上,这个最小化问题可以表示为:
Min ∑ i ( α x i + β − y i ) 2 \text{Min} \ \sum_i (\alpha x_i + \beta - y_i)^2 Min ∑i(αxi+β−yi)2
达到最小值的必要条件是将梯度设为零:
[ ∑ i 2 x i ( α x i + β − y i ) , 2 ∑ i ( α x i + β − y i ) ] = 0 \left[ \sum_i 2x_i (\alpha x_i + \beta - y_i), \ 2\sum_i (\alpha x_i + \beta - y_i) \right] = 0 [∑i2xi(αxi+β−yi), 2∑i(αxi+β−yi)]=0
通过计算,我们得到:
α = ∑ i x i y i − ∑ i x i ∑ i y i ∑ i x i 2 − ( ∑ i x i ) 2 \alpha = \frac{\sum_i x_i y_i - \sum_i x_i \sum_i y_i}{\sum_i x_i^2 - \left(\sum_i x_i\right)^2} α=∑ixi2−(∑ixi)2∑ixiyi−∑ixi∑iyi
β = 1 n ∑ i y i − α 1 n ∑ i x i \beta = \frac{1}{n} \sum_i y_i - \alpha \frac{1}{n} \sum_i x_i β=n1i∑yi−αn1i∑xi
确定 α \alpha α 和 β \beta β 的值后,我们可以将它们代入方程 g ( x ) g(x) g(x) 中,得到具体的线性回归模型。
线性回归的目标是找到最优参数 α \alpha α 和 β \beta β 的值,使 SSE 最小化。为此,我们需要了解 α \alpha α 和 β \beta β 的变化如何影响 SSE。
在线性回归中,目标是找到最佳拟合参数(系数) α \alpha α 和 β \beta β,使平方误差和(SSE)最小化。这就是我们对 α \alpha α 和 β \beta β 求偏导数的原因。
参考资料:
版本2:数据拟合线 aka 最小二乘法 aka 线性回归
介绍
在线性回归中,我们旨在找到最佳拟合线,该线最小化观测数据点和预测值之间的差异。这个过程称为最小二乘法。
寻找最佳拟合线
为了了解哪条线最适合数据,让我们从一条穿过数据平均 y 值的水平线开始。尽管这可能是最差的拟合,但它是一个好的起点。
我们通过查看这条线与数据点的接近程度来衡量这条线的拟合效果。
然而,如果我们简单地计算 ( b − y 1 ) + ( b − y 2 ) + ( b − y 3 ) + ( b − y 4 ) + ( b − y 5 ) + … (b-y_1)+(b-y_2)+(b-y_3)+(b-y_4)+(b-y_5)+… (b−y1)+(b−y2)+(b−y3)+(b−y4)+(b−y5)+…,其中 ( b − y 4 ) (b-y_4) (b−y4) 和 ( b − y 5 ) (b-y_5) (b−y5) 的值将是负的,这将从总值中减去,并使整体拟合看起来比实际情况更好。
早期研究这个问题时,人们可能尝试过取所有值的绝对值,然后发现这样做使得数学计算变得相当复杂。
为了解决这个问题,我们对每个项取平方以确保所有值为正。结果方程显示数据点到水平线的总距离。这被称为“残差平方和”(SSR),因为残差是实际数据和线之间的差异,我们将这些值的平方相加。
SSR = ( b − y 1 ) 2 + ( b − y 2 ) 2 + ( b − y 3 ) 2 + ( b − y 4 ) 2 + … = 24.62 \text{SSR} = (b - y_1)^2 + (b - y_2)^2 + (b - y_3)^2 + (b - y_4)^2 + \ldots = 24.62 SSR=(b−y1)2+(b−y2)2+(b−y3)2+(b−y4)2+…=24.62
最小二乘法
为了找到最佳拟合线,我们使用通用线方程 y = a ⋅ x + b y = a \cdot x + b y=a⋅x+b,其中 a a a 是斜率, b b b 是 y 截距。我们的目标是找到使 SSR 最小化的 a a a 和 b b b 值。
SSR = ∑ i = 1 n ( y i − ( a ⋅ x i + b ) ) 2 \text{SSR} = \sum_{i=1}^{n} (y_i - (a \cdot x_i + b))^2 SSR=i=1∑n(yi−(a⋅xi+b))2
这计算的是线与观测值之间的距离。
由于我们希望得到使平方和最小的线,这种寻找 “a” 和 “b” 最优值的方法称为 “最小二乘法”。
如果我们将残差平方和与线参数的每个可能值绘制在一起,我们将得到一个函数,显示残差如何随不同线的取向变化。为了找到线的最佳取向,我们需要对这个函数求导。导数表示函数在每个点的斜率。参数的最优值(“最小二乘”)出现在斜率为零的地方。本质上,不同线的取向对应于 a a a(斜率)和 b b b(截距)的不同值。
对斜率和截距求导,告诉我们最佳拟合的最优值在哪里。
这些计算通常由计算机算法执行,所以大多数人不需要手动计算这些导数。
关键概念
我们希望最小化观测值与拟合线之间距离的平方。
我们通过求导并找到导数等于0的地方来实现这一目标。最终的拟合线最小化了它与实际数据之间的平方和(即“最小二乘”)。在这种情况下,拟合线由以下方程定义: y = 0.77 ∗ x + 0.66 y = 0.77*x + 0.66 y=0.77∗x+0.66。
为什么在最小化线性回归中的SSR时,两个导数都要设为零
要理解为什么在最小化线性回归中的残差平方和(SSR)时,我们要将关于a
(斜率)和b
(截距)的导数都设为零,关键在于多变量优化的原理。
实际示例
在线性回归中,SSR是两个变量a
和b
的函数:
SSR ( a , b ) = ∑ i = 1 n ( y i − a x i − b ) 2 \text{SSR}(a, b) = \sum\limits_{i=1}^{n} (y_i - ax_i - b)^2 SSR(a,b)=i=1∑n(yi−axi−b)2
想象一下我们有一组数据点和一条拟合这些点的直线 y = a x + b y=ax+b y=ax+b。如果SSR关于 a a a的导数为正,略微增加 a a a会增加SSR,而略微减少 a a a会减少SSR。这种减少表明我们还没有找到最小的SSR,因为我们还可以调整 a a a以进一步最小化SSR。
同样地,如果SSR关于 b b b的导数为负,略微增加 b b b会减少SSR,这表明我们可以通过调整 b b b来改进拟合线(降低SSR)。
结论
总之,在某一点处非零导数表明朝导数符号相反的方向移动将会减少函数值(在这种情况下为SSR)。在线性回归中,我们需要关于 a a a和 b b b的两个导数都为零,以确保我们找到了最小的SSR,即拟合线最适合数据的地方。
如果导数为正,朝导数符号相反的方向移动意味着减少变量。
如果导数为负,朝导数符号相反的方向移动意味着增加变量。
线性回归小结
我们有一些关于体重和尺寸的数据。通过拟合一条线到这些数据,我们可以实现几个目标:
- 计算 R 2 R^2 R2:这帮助我们确定体重和尺寸是否相关。较大的 R 2 R^2 R2值意味着较强的相关性。
- 计算p值:这告诉我们 R 2 R^2 R2值是否具有统计显著性。
- 进行预测:我们可以使用拟合线基于体重预测尺寸。
使用数据进行预测是“机器学习”的一个基本方面,使线性回归成为一种基本形式的机器学习。
我们还讨论了多元回归。这涉及使用体重和血容量来预测尺寸,或者使用体重和血容量建模尺寸。多元回归通过以下方式扩展了简单线性回归的能力:
- 计算 R 2 R^2 R2:就像在简单回归中一样,但考虑多个变量。
- 计算p值:评估模型的显著性。
- 进行预测:给定体重和血容量预测尺寸。
这使得多元回归成为一种更高级的机器学习方法。
我们还探讨了使用离散测量值(如基因型)来预测尺寸。
最后,我们比较了不同的模型。左侧是简单回归,它使用体重预测尺寸。我们可以将这些预测与多元回归的预测进行比较,后者使用体重和血容量。这种比较帮助我们确定是否需要同时测量体重和血容量来准确预测尺寸,或者是否仅依靠体重。