【机器学习基础】一元线性回归(适合初学者的保姆级文章)

简介: 【机器学习基础】一元线性回归(适合初学者的保姆级文章)

1 线性模型

给定由d个属性描述的示例x,其中xi是x在第i个属性上的取值,线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即

一般用向量形式写成

w和b学得之后,模型就得以确定


2 一元线性回归

一元线性回归是一种统计分析方法,用于建立一个自变量和一个因变量之间的线性关系模型。在一元线性回归中,只有一个自变量(即解释变量)与一个因变量(即被解释变量)相关。

该模型的目标是找到一个最佳拟合直线,使得该直线能够最好地拟合已知的数据点并预测未知的数据点。最常用的评估拟合程度的指标是最小二乘法,它通过最小化观测值与拟合直线的差距的平方和来确定最佳拟合直线。

一元线性回归的模型可以表示为:Y = β₀ + β₁X + ε 其中,Y 是因变量,X 是自变量,β₀ 和 β₁ 是模型的系数,ε

是随机误差项。

通过一元线性回归,我们可以估计自变量和因变量之间的关系,并进行预测和推断。

以上是官方解释,看不懂没事,我们来举一个经典的例子:

2.1 引例及模型表示

这个例子是关于预测房屋价格的,我们已知这样一个数据集:

横坐标表示房屋的面积,纵坐标表示房屋的价格。我们的目标是预测在给定房屋面积的情况下,房屋的价格是多少。例如,如果你的朋友的房子是1250平方英尺大小,你可以使用上面的数据集来预测其可能售价。那么,我们应该如何进行预测呢?

你可以构建一个模型,比如拟合一条直线,如上图所示。从这个模型来看,也许你可以告诉你的朋友,他可以以大约220000(美元)左右的价格卖掉这个房子。这其实就是一个回归问题的例子!

Notation:

  • 𝑚:训练集中实例的数量
  • 𝑥 :特征/输入变量
  • 𝑦 :目标变量/输出变量
  • (𝑥, 𝑦) :训练集中的实例
  • (x(i), y(i)):第𝑖 个观察实例
  • ℎ :学习算法的解决方案或函数也称为假设(hypothesis)

ℎ是一个函数,也是模型,代表的是从输入到输出的一个映射。这里输入是房屋尺寸大小,输出是房屋的价格。

在一元线性回归模型中如何表示h呢?

这里表示的就是单变量(一元)线性回归,其图像描述如下图所示:

回到例子中,我们需要借助h来预测房价。实际上 ,我们是要将训练集(已知的部分数据)“喂”给我们的学习算法,进而学习得到一个函数ℎ,然后将我们要预测的房屋的尺寸作为输入变量输入给ℎ,预测出该房屋的交易价格作为输出变量输出为结果。这个过程类似于在中学学到的求解直线方程,只是需要多次迭代。

那这个迭代过程究竟跟我们中学阶段的求解有什么区别呢?这里就要引出下面这个概念:

2.2 代价函数(Cost function)

对于一元线性函数,每一对参数都可以得到一种曲线的画法

那么哪一种是最适合的呢?我们用假设函数来表示我们预测结果的模型。那么,这个模型好还是不好呢?我们需要有一个判别标准,这个标准就叫作代价函数。其表示形式如下:

对于代价函数的解释:

  • 通过训练集我们可以得到假设函数h,即我们建立的模型,
  • y是在这个点相应的ground truth
  • 通过输入测试集的自变量向函数h和y,得出预测出来的结果与实际的结果,让两者相减得到误差,通过误差可以看出我们预测的结果好还是不好
  • 求和再平方相当于求他们的方差,即预测值与真实值的差距的波动程度
  • 们的最终目标就是最小化代价函数

那么我们现在的问题就转化为了如何利用训练集最小化代价函数


3 一元梯度下降求参数

如何求解代价函数呢?我们通常使用梯度下降的方法。

3.1 代价函数的简化

我们先理解含有一个参数的代价函数。

下面是当 𝜃1 = 1时的代价函数与假设函数

下面是 𝜃1 = 0.5时的曲线

下面做出 𝜃1 = 0 时的曲线并把代价函数所有的点连起来

由图像我们可以知道,当J(θ 1 \theta _{1}θ1)取最小值时的参数所对应的假设函数是拟合数据最好的直线。

3.2 二元的代价函数

上面是之含有一个参数的代价函数,这里我们把另一个参数加上去,看看怎么求解:

再利用上面的方法,尝试每一个特殊的点,得到代价函数在坐标系中的位置后将他们连起来,我们就得到了一个二元代价函数,它是一个三维图形

同样利用上面的方法,遍历每一个参数θ 0 \theta _{0}θ0θ 1 \theta _{1}θ1,找到使得代价函数最小的参数。

多了一个参数相当于多了一个维度,图像也由一开始的二维拓展到了三维。求代价函数的最小值仍然是我们的目标。

可是要遍历的点太多了,我们怎么知道哪里是最小的点呢?下面介绍求代价函数最小值的方法:梯度下降

3.3 梯度下降

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一。

3.3.1 理解梯度下降

举个例子,梯度下降法就是从山顶找一条最短的路走到山谷最低的地方。在这个过程中,每次都会沿着当前点的梯度方向(即函数在该点的斜率)走一步,逐步向最低点靠近。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。

那么具体到一元线性回归的代价函数,我们如何使用梯度下降呢?

3.3.2 利用梯度下降求解线性回归

接下来我们让梯度下降与线性回归相结合(关键在于对代价函数求偏导):

主要思想如下:

其中𝑎是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向 向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。

偏导( φ φ θ j J ( θ ) ) (\frac{\varphi }{\varphi \theta _{j}}J(\theta ))(φθjφJ(θ))的目的是为了确定下山的方向

当偏导大于0或小于0时代表了函数的不同增长趋势,与导数的意义相同

每走一步(每一次迭代)我们都需要确定新的参数,因为只有更新了参数才能确定下一步的方向。

每走一步都计算其梯度,经过不断的迭代,最终就可以找到最小值了

公式的推导

这样,我们就可以通过迭代,更快的找到最小值了

相关文章
|
6月前
|
机器学习/深度学习 算法 TensorFlow
机器学习算法简介:从线性回归到深度学习
【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
243 4
|
11天前
|
机器学习/深度学习 数据采集 算法
探索机器学习中的线性回归
【10月更文挑战第25天】本文将深入浅出地介绍线性回归模型,一个在机器学习领域中广泛使用的预测工具。我们将从理论出发,逐步引入代码示例,展示如何利用Python和scikit-learn库实现一个简单的线性回归模型。文章不仅适合初学者理解线性回归的基础概念,同时也为有一定基础的读者提供实践指导。
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
探索机器学习:从线性回归到深度学习
在这篇文章中,我们将一起踏上一场激动人心的旅程,穿越机器学习的广阔天地。我们将从最基本的线性回归开始,逐步深入到复杂的深度学习模型。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深入的理解。让我们一起探索这个充满无限可能的世界吧!
|
6月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】解释什么是线性回归?
【5月更文挑战第15天】【机器学习】解释什么是线性回归?
|
1月前
|
机器学习/深度学习 API
机器学习入门(七):线性回归原理,损失函数和正规方程
机器学习入门(七):线性回归原理,损失函数和正规方程
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从线性回归到深度学习
【9月更文挑战第4天】在这篇文章中,我们将深入探讨机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过实际的代码示例,揭示这些模型背后的数学原理,以及如何在现实世界的问题中应用它们。无论你是初学者还是有经验的数据科学家,这篇文章都将为你提供新的视角和深入的理解。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习的奥秘:从线性回归到深度学习
【8月更文挑战第26天】本文将带领读者走进机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将探讨各种算法的原理、应用场景以及实现方法,并通过代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的知识和技能。让我们一起揭开机器学习的神秘面纱,探索这个充满无限可能的领域吧!
|
3月前
|
机器学习/深度学习 人工智能 算法
探索机器学习:Python中的线性回归模型实现
【8月更文挑战第24天】在机器学习的世界中,线性回归是最基础也是应用最广泛的算法之一。本文将通过Python编程语言,使用scikit-learn库来实现一个简单的线性回归模型。我们将从理论出发,逐步深入到代码实现,最后通过一个实际数据集来验证模型的效果。无论你是机器学习的初学者,还是想要复习线性回归的基础知识,这篇文章都将为你提供有价值的信息。让我们一起踏上这段探索之旅吧!
|
5月前
|
机器学习/深度学习 数据采集 算法
【机器学习】线性回归:以房价预测为例
【机器学习】线性回归:以房价预测为例
362 1
|
5月前
|
机器学习/深度学习 数据可视化 算法
【阿旭机器学习实战】【29】产品广告投放实战案例---线性回归
【阿旭机器学习实战】【29】产品广告投放实战案例---线性回归
下一篇
无影云桌面