机器学习入门——回归&梯度下降法
目录
导入
我们之前讲过的感知机算法和k近邻算法解决的都是分类问题,就是根据现有数据集来判断待预测样本属于哪一类。比如:判断一张图片中是否含有猫(二分类问题),根据学生的考试分数,划分成绩等级为“优秀”“良好”“及格”“不及格”(多分类问题)。
而还有一类问题是这样的:如何根据房屋的面积、房间数量,预测房屋的售价?”“手机的使用时长与剩余电量之间是否存在可量化的关系?”这些就是我们的回归问题。
回归问题的定义和分类
定义
给定已知的特征数据,构建模型预测未知的、可连续变化的数值结果,强调“连续值”是核心标志。
分类
这里我们按模型拟合的函数形式分类
线性回归(Linear Regression)
假设特征与结果之间存在线性关联,即模型拟合的函数为一次多项式形式,数学表达式为 。
非线性回归(Non-linear Regression)
假设特征与结果之间存在非线性关联,模型拟合的函数为二次及以上多项式、指数函数、对数函数等非一次形式,例如(二次回归)、
(指数回归)。
参数求解思路
“参数求解” 的核心目标是找到一组最优模型参数(如我们上面线性回归中的权重 w 和偏置 b),使模型对已知数据的拟合误差最小化,同时避免过拟合以保证对未知数据的泛化能力。
参数求解过程
主要以下几步:
-
定义损失函数(Loss Function):损失函数是量化 “模型预测值” 与 “真实值” 之间差异的指标,是参数优化的 “目标导向”—— 我们的最终目的是让损失函数值最小化。
-
确定优化目标:即 “最小化损失函数”。
-
选择优化策略:根据模型参数的数量、损失函数的可微性、模型结构复杂度,选择不同的求解方法(如解析法、梯度下降法、启发式搜索等),这是参数求解的核心差异点。
梯度下降法
这里我们发现当数据量巨大,特征巨多时,直接求解参数太复杂了,这时候梯度下降法就可以派上用场了。它就像“下山找最低点”一样,通过不断迭代调整w和b,逐步靠近损失函数的最小值,高效求出线性回归的参数。

核心思想
核心思想就是下山,站在山的某位置(当前参数),通过判断“最陡下坡方向”(梯度反方向),一步步向山脚(损失函数最小值点)移动,最终找到最优参数。
3个关键概念
1. 梯度: 梯度是损失函数对所有参数的“偏导数向量”,它描述了损失函数在当前参数点变化率最大的方向(即“最陡上坡方向”)。例如,线性回归中参数为 ,梯度就是
,每个元素对应一个参数的变化率。
2. 负梯度方向:由于我们的目标是“最小化损失函数”(下山),而非“最大化”(上山),因此需要沿梯度的反方向(负梯度方向)更新参数——这是让损失函数下降最快的方向。
3. 学习率:学习率是“每一步下山的步长”:步长太小,收敛速度慢(下山要走很多步);步长太大,可能越过山脚(损失函数震荡,甚至无法收敛)。

基本步骤
- 初始化参数:给模型参数赋初始值(如随机赋值、全设为0),得到初始参数
。
- 计算梯度:用当前参数
计算损失函数
,再通过求导得到损失对参数的梯度
。
- 更新参数:沿负梯度方向调整参数,公式为:
,
为迭代次数,每迭代一次,参数向“损失更小”的方向靠近。
- 判断收敛:重复步骤2-3,直到满足停止条件:损失函数的变化量小于阈值(如
; 达到预设的最大迭代次数(如迭代1000次后停止)。
更多推荐


所有评论(0)