【吴恩达机器学习笔记】二、单变量线性回归

简介: 1. 代价函数定义:通过**代价函数(cost function)**得到的值,来获得最优解,值越小代表准确度越高。所以我们要通过找到代价函数的最小值,从而得到其对应的参数值,然后得到最佳拟合曲线。平方误差代价函数(The squared error dost function)

二、单变量线性回归

常用表达符号:

cb20d57ab7264703aa98d62896b9ed71.png

假设函数(Hypthesis)

f437c7a86dcf410cb3a9e65db9ad65fc.png

假设函数通过找到最优的两个参数,从而去获得一个与数据最佳拟合曲线

1. 代价函数

  • 定义:通过**代价函数(cost function)**得到的值,来获得最优解,值越小代表准确度越高。
  • 所以我们要通过找到代价函数的最小值,从而得到其对应的参数值,然后得到最佳拟合曲线。

平方误差代价函数(The squared error dost function)

f3e26b1bbd804a7788ba01860d4d4a96.png

其中在算式前面除以二是方便后续的求导计算,此函数可以解决大部分的回归问题。

这就是我们的线性回归模型。

而我们可以通过简化假设函数,从而去更好理解代价函数背后的含义。

366a115c29894290aa79e2ebcf31d90e.png

其代价函数图像如下:

bfa519a0e31640fb9e120452f85736f5.png

上面我们可以知道当参数等于1时,代价函数的值最小,所以将参数带回假设函数的方程中,我们就可以得到一条与数据能够最佳拟合的曲线。如果参数更多的话,就会更加复杂,下面是两个参数的三a90ffdfb37014e2b814ce44c73006b45.png维图像:

小结

因此,对于回归问题,我们只用归结为求出代价函数的最小值即可,下面就是我线性回归的目标函数。

84e7ac94e5284c389d7d67cb05a48a55.png

2. 梯度下降

  • 定义:我们会得到初始化的参数,然后通过改变参数不断地去寻找更小的J值。

053e7471f19b410b8a2e1fe2ddfc6b1c.png

  • 注意
  • 梯度下降的其中一个特点为,你可能会因为初始位置的偏差而得到两个不同的局部最优解,就如下图

7bc36493c4b54e6da340aae78fdf6821.pngaae079bd16aa49aa9a4eb06092b47d80.png

梯度下降算法(Gradient Descent Algorithm)

f9521c87aff04ff8a5acf6da7b30dd63.png

赋值与等号

  • :=在计算机中代表赋值,即将b赋值给a
  • =在计算机中代表真假判定,即判断a是否等于b

5a0d91ee16c34a19b9f6406d56ca35e3.png

算式中α用来控制下降的速率,值越大则梯度下降的越快,但是α的值不能太大或太小,原因如下:

  • 如果α太小,则需要很多很多步才能到达最低点。
  • 如果α太大,可能会导致无法收敛甚至发散,它可能会越过最低点。

eea423d22309423db4aa44e5fe9e523c.png

在梯度下降算法中,参数要同时更新,即下图图左侧为正确操作,右侧为不正确操作。

b369adad05614b22aaebdf72469a3a45.png

在算式最右边的那一块导数部分是J函数对参数求偏导即为切线斜率,详解如下:


如果所选参数在J函数曲线中切线斜率为正,那么导数块部分也为正,即参数会减去一个正值,从图像上来看,参数减小的方向往左即是往曲线最低点方向进行。

如果所选参数在J函数曲线中切线斜率为负,那么导数块部分也为负,即参数会减去一个负值,也就是加上一个正值,从图像上来看,参数增大的方向往右即也是往曲线最低点方向进行。

45d4ff3230ba4efeb8d6b69266bf96d2.png

所以通过图像可知,当运算已经达到了局部最低点,切线斜率为零,参数也不会再改变了,如下图:


b9cdc4d291b147b3aeb209adbb9545f4.png

小结

综上所述,当α处于正常范围内并且不变的话,函数任然可以找到局部最低点,因为越靠近最低点,切线斜率会越小直至等于零,所以它减小的幅度会越来越小,直至到达局部最低点。

fa0f6f48495a45eb8763b016dfea4716.png

3. 线性回归的梯度下降

  • 当学习完线性回归模型(下图右侧)与梯度下降算法(下图左侧)后,就是要解决两者结合的问题

0d1e69bf60f14b9fb52dc06dbff07b30.png

现在我们将线性回归模型带入梯度下降算法中计算,首先来计算导数这一部分,求出我们参数的导数部分表达式。

9a3afe36a0114a1ea23eb4900e0e8890.png

最后,带回到参数的正式表达式,就如下所示:

a12bccf16020429d9698aeeeed055a07.png

在梯度下降函数中,我们可能会因为初始值不同得到不同的局部最优值,但是在线性回归的代价函数中,总会得到一个最小并且唯一的最小值,即会得到一个凸函数(convex function),如下图所示:

d3999aa646fa4c339e4965edbf58edb5.png

所以只要用线性回归函数的梯度下降,最终总会得到一个全局的最优解,他没有其他的局部最优解。

而这个梯度下降问题就如下图所示,不断地改变参数值,从而找到最好拟合数据的曲线。


a057e9e7c79340a2906499032c007443.png

小结

总的来说,我们上面所用到的算法如下:

Batch 梯度下降法

意思是在每一步梯度下降时,它都会遍历了整个训练集的样本。

这是目前来说,我们第一个所学习的机器算法。

目录
相关文章
|
29天前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
48 1
|
6月前
|
机器学习/深度学习 算法 TensorFlow
机器学习算法简介:从线性回归到深度学习
【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
243 4
|
12天前
|
机器学习/深度学习 数据采集 算法
探索机器学习中的线性回归
【10月更文挑战第25天】本文将深入浅出地介绍线性回归模型,一个在机器学习领域中广泛使用的预测工具。我们将从理论出发,逐步引入代码示例,展示如何利用Python和scikit-learn库实现一个简单的线性回归模型。文章不仅适合初学者理解线性回归的基础概念,同时也为有一定基础的读者提供实践指导。
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
探索机器学习:从线性回归到深度学习
在这篇文章中,我们将一起踏上一场激动人心的旅程,穿越机器学习的广阔天地。我们将从最基本的线性回归开始,逐步深入到复杂的深度学习模型。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深入的理解。让我们一起探索这个充满无限可能的世界吧!
|
1月前
|
机器学习/深度学习 API
机器学习入门(七):线性回归原理,损失函数和正规方程
机器学习入门(七):线性回归原理,损失函数和正规方程
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从线性回归到深度学习
【9月更文挑战第4天】在这篇文章中,我们将深入探讨机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过实际的代码示例,揭示这些模型背后的数学原理,以及如何在现实世界的问题中应用它们。无论你是初学者还是有经验的数据科学家,这篇文章都将为你提供新的视角和深入的理解。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习的奥秘:从线性回归到深度学习
【8月更文挑战第26天】本文将带领读者走进机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将探讨各种算法的原理、应用场景以及实现方法,并通过代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的知识和技能。让我们一起揭开机器学习的神秘面纱,探索这个充满无限可能的领域吧!
|
3月前
|
机器学习/深度学习 人工智能 算法
探索机器学习:Python中的线性回归模型实现
【8月更文挑战第24天】在机器学习的世界中,线性回归是最基础也是应用最广泛的算法之一。本文将通过Python编程语言,使用scikit-learn库来实现一个简单的线性回归模型。我们将从理论出发,逐步深入到代码实现,最后通过一个实际数据集来验证模型的效果。无论你是机器学习的初学者,还是想要复习线性回归的基础知识,这篇文章都将为你提供有价值的信息。让我们一起踏上这段探索之旅吧!
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 吴恩达:机器学习的六个核心算法!
吴恩达教授在《The Batch》周报中介绍了机器学习领域的六个基础算法:线性回归、逻辑回归、梯度下降、神经网络、决策树和k均值聚类。这些算法是现代AI的基石,涵盖了从简单的统计建模到复杂的深度学习。线性回归用于连续变量预测,逻辑回归用于二分类,梯度下降用于优化模型参数,神经网络处理非线性关系,决策树提供直观的分类规则,而k均值聚类则用于无监督学习中的数据分组。这些算法各有优缺点,广泛应用于经济学、金融、医学、市场营销等多个领域。通过不断学习和实践,我们可以更好地掌握这些工具,发掘智能的乐趣。
112 1
算法金 | 吴恩达:机器学习的六个核心算法!
|
5月前
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
下一篇
无影云桌面