
机器学习故事汇-梯度下降
今天咱们的故事继续上一次线性回归来说,还不熟悉的小伙伴机票在这!机票直达-线性回归
当时咱们怎么唠的,是不是很多情况下要求解的目标没办法直接求呀!那该怎么办呢?咱们来用机器学习中最常用的套路-优化求解,也就是一步一步朝着最优解的方向前进!
首先给出目标函数(还记得线性回归中的目标函数吗?)也就是我们要达到的目标是使得目标函数最小(最小对应着梯度下降问题,也就是下山,那么最大也就是梯度上升,求极大值)可以把我们的优化目标看成一座山,山是由我们两个参数组成的,从上图可以看出在山中有一个山谷的最低点,这个最低点所对应的参数就是我们要求解的值!
那该怎么求解呢?下山要一步一步来,第一步要找到合适的下山方向,也就是参数所对应的梯度方向(偏导)因为我们要沿着最快的方向去下山,所以梯度的方向是最合适的(多个参数的时候需要各自求其偏导)。找到方向之后我们就该实际的去走啦,那一次走多大呢?经验表明一次走那么一小小小小步是比较合适的,因为如果步伐太大容易偏离全局最优解只得到局部最优解。方向与步长都搞定了,接下来按着我们设计好的路线更新参数就可以啦!
下山的方式也有很多种,我们来对比一下。
批量梯度下降:如上式需要综合考虑所有养那本,这就太慢了,但是效果还是蛮好的。
随机梯度下降:观察发现,每一次进行参数更新,只选择了一个样本,这样速度极快,但是代价就是一旦样本有瑕疵,会对结果产生很大的干扰!所以随机梯度下降会产生很大的浮动。
小批量梯度下降:这个就友好多了,综合了上面两位的优缺点,在迭代的时候选择一批(32,64,128比较常见)个样本来平均计算梯度的更新方向,这个就是现在应用最广的梯度下降方法啦!一个字,实用!
接下来我们再来研究一下步长(学习率)对结果产生的影响,从图中可以看到很多条线并且它们之间有着明显的差异,为啥模型不收敛!效果不好!没达标!罪魁祸首就是学习率了,它对我们结果会产生非常大的影响,一般情况下我们都是用较小的学习率,较多的迭代次数来满足它!
这张图是一个在真实数据集下使用逻辑回归进行迭代的目标函数变化情况,可以看到当我们使用梯度下降的时候目标函数最终达到了一个收敛状态,现在已经最好了吗?我们可以再增大些迭代次数再看看!
继续增大迭代次数,发现目标函数又发生了变化,所以要让模型更完美,需要更多轮次的训练!我们再来对比下不同的梯度下降策略!
这张图看起来有点乱呀,没有达到熟练状态,损失函数值还在乱蹦跶,这个就是随机梯度下降的结果,可以看出来这样的模型是不好的,只用一个样本来更新参数是不够的!所以现在我们很少使用随机梯度下降来解决实际问题。(那真的没办法用它了吗?也可以代价就是用极小的学习率配上极大的迭代次数,那为啥不用小批量的呢?)
最后的这张图就是收尾图啦,首先观察只用了4000次迭代就比之前的效果要好很多!这里做了如下两个工作。
(1):对数据进行了标准化,让数据各个特征均值为0方差为(数据预处理的常规套路)
(2):使用了小批量梯度下降进行迭代(保证了收敛性同时也加快了速度)
两个简单的操作就使得我们的模型效果快速达到了收敛状态,请记住这俩套路,你会一直沿用下去的!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12CDA 数据分析师:业务数据分析步骤的落地者与价值优化者 业务数据分析是企业解决日常运营问题、提升执行效率的核心手段,其价值 ...
2025-09-12用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10CDA 数据分析师:商业数据分析实践的落地者与价值创造者 商业数据分析的价值,最终要在 “实践” 中体现 —— 脱离业务场景的分 ...
2025-09-10机器学习解决实际问题的核心关键:从业务到落地的全流程解析 在人工智能技术落地的浪潮中,机器学习作为核心工具,已广泛应用于 ...
2025-09-09SPSS 编码状态区域中 Unicode 的功能与价值解析 在 SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案 ...
2025-09-09