Python机器学习-Python-机器学习-回归算法课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python机器学习-Python-机器学习-回归算法课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 机器 学习 回归 算法 课件
- 资源描述:
-
1、第8章 回归算法 回归算法是一种预测连续型变量的方法。它的根本思想是通过已给样本点的因变量和自变量的关系,进而设定一个数学模型,来拟合这些样本点。回归算法就是为了找到最佳的模型。回归方法的核心有两个。第一,假设合适的模型,比如使用一次曲线拟合,还是用二次曲线拟合?第二个是寻找最佳的拟合参数,不同的参数对应了模型的不同的形态,如何找到最佳的参数是关键的一步。8.1 从二次函数到机器学习 在高中的数学知识体系中,我们寻找二次曲线的最大值和最小值的方法是令导数为0,这样的方法也可以用在求解回归算法的问题中。但是在机器学习领域并不推崇这种思想,因为再实际应用中,使用导数为0的方法,会增加计算机计算的复
2、杂度,消耗大量计算资源。而机器学习的求解方法则会在高维空间的求解中体现出计算的优势。本章会详细介绍机器学习中求解回归曲线的方法梯度下降。并从求解二次曲线为起点,比较导数方法与梯度下降方法的异同,从而加深对梯度下降方法的理解。8.1.1 二次函数最优求解方法在高中时期,大家经常遇到函数最大值、最小值的求解问题。比如,给出方程,求其最小值(y值),以及最小值的所在位置(x值)。如图8.1所示,我们很容易看出的最小值是0,最小值的位置是。在高中我们使用的求解方法是求曲线的导数,令,求得。导数求解的方法的几何解释是最低点的位置是斜率为0的位置,也就是的位置。大家觉得这不就是简单的高中知识吗,机器学习有
3、什么联系呢?其实现在比较火热的深度学习和经典的线性回归、逻辑回归算法,最根本的思想就是求解类二次曲线的最小值。我们后续章节会深入探讨深度学习背后的数学思想。接下来,我们介绍机器学习中,求解二次函数最小值的方法。图8.1 二次函数曲线8.1.2 梯度下降 在已知曲线是,我们很容易通过求导来求得最小值以及它的位置。但如果你不知道曲线的全貌是,又该如何求解呢?如图8.2所示,现在已知点,6400和这个点周围曲线的形状。现在的任务是找到该曲线的最小值的点,你应该如何做呢?图8.2 二次函数曲线(部分)设想一下,你站在半山坡上,看不到山顶,也看不到山谷,只能看到周围的情景,你要下山,你要怎么做呢?对,沿
4、着山坡最大的坡度向下走!当走到下一个位置时,再选择最大的坡度向下走,这样不停的走,我们就可以走到山下。让我们一起来看一下,这个思想在数学上的解释。回到图8.2,按照下山的思想,我们应该将点向左移动一点。如图8.3所示,我们从点(80,6400)移动到了点(72,5184)。同样的道理,在这个点我们观察一下,应该继续向左移动。如图8.4所示,我们现在移动了点(64.8,4199.04)的位置,同样的道理,继续观察,我们还应该向左移动,这样循环往复,我们会不会走到山底呢?图8.3 二次函数曲线(部分)图8.4 二次函数曲线(部分)如图8.5所示,我们移动了93次,最终到达了点(0,0)位置(这里计
5、算精度是小数点后两位),也就是说我们已经逼近了最小值(0,0)点。在此过程中每一步下降过程的坐标。我们用梯度下降的方法实现了求解二次函数的最小值,虽然他不像导数方法那么完美能直接定位到原点(0,0),但是只要我们增加迭代次数,我们就能无限接近最小值点。接下来,我们需要懂得,梯度下降的一些细节,比如每次步长应该如何选择呢?如果步长选择太大,很有可能会越过最小值点。图8.5 二次函数曲线(部分)8.1.3 梯度下降python实现 已知函数,以及它的导数。伪代码:第1步,随机初始化一个坐标()第2步,将移动至位置,记为,并求出。这里是所谓的学习速率,是该点的导数。第3步,重复第二步,获得()点。第
6、1000步,获得()点的位置。Python实现:8.1.4 初始值的选择与学习速率的选择初始值的选择依托于所假设的数学模型,这里的数学模型会在今后的章节讨论。不同的数学模型反映在二次函数上则会是随机的初始点。速率的选择是以梯度下降思想的核心,选择直接影响了最后结果的好坏以及整个算法的效率。1.过小,将导致无法找到最小值如图8.6所示,初始点我们选择(100,100),当时,移动了100次,才到达x=55附近。虽然在这种情况下我们仍可以增加移动次数最终到达最小值的点,但是却耗费了大量的时间和算力。特别是在工程应用中,时间和算力决定了一个算法是否有实际价值。而在极端情况下,当足够小,将无法到达最小
展开阅读全文