机器学习入门:从线性回归到梯度下降

1 阅读4分钟

机器学习入门:从线性回归到梯度下降

在机器学习的世界里,我们最终的目标是寻找一个函数(Function),这个函数能帮我们将输入数据(Input)转化为我们想要的输出(Output)。根据你的笔记,我们可以将这个学习过程拆解为核心的三个步骤。

一、机器学习的任务分类

在进入具体步骤前,笔记首先提到了机器学习主要处理的三类问题:

  1. 回归(Regression) :输出是一个连续的数值(例如:预测明天的气温、房价预测)。
  2. 分类(Classification) :输出是一个类别(例如:判断邮件是垃圾邮件还是正常邮件,AlphaGo 下围棋选位置)。
  3. 结构化学习(Structured Learning) :输出是有结构的内容(例如:机器翻译、生成图片)。

二、机器学习的“三步走”框架

想要训练一个机器模型,本质上就是按照以下三个步骤进行:

第一步:定义模型(Model)—— 假设函数的长相

首先,我们需要建立一个带有未知参数的函数集合。

  • 公式假设:我们假设预测函数 (f(x)f(x)) 的形式,例如最简单的线性模型: y=wx+by = wx + b

  • 参数含义

    • (xx):输入的数据(已知 Feature)。
    • (ww):权重(Weight),决定输入的某种特征有多重要。
    • (bb):偏置(Bias),决定函数的起始偏移量。
    • (yy):模型的预测结果。
  • 目标:(ww) 和 (bb) 是未知的,机器学习的过程就是要把这两个数找出来。


第二步:定义损失函数(Loss Function)—— 评价好坏的标准

我们需要一个指标来告诉机器,它选的一组参数 ((w,b)(w,b)) 到底是好是坏。

  • Loss 的定义:(L(w,b)L(w,b)) 是关于参数 (ww) 和 (bb) 的函数。

  • 训练数据(Training Data) :我们利用已知的历史数据来计算误差。

  • 计算公式:通常使用平均误差来衡量。 L=1N_ne_nL = \frac{1}{N}\sum\_n e\_n 其中 (e_ne\_n) 是单样本误差,常见的计算方式有:

    1. MAE(平均绝对误差)e=yy^e = |y - \hat{y}| (预测值与真实值的距离绝对值)
    2. MSE(均方误差)e=(yy^)2e = (y - \hat{y})^2 (预测值与真实值的距离平方)
  • 结论:(LL)(LossLoss)越小,代表模型越精准。


第三步:优化(Optimization)—— 寻找最佳参数

这是机器学习最核心的步骤。我们要找到一组特定的 (ww^ *) 和 (bb^* ),使得 LossLoss 最小。

  • 数学表达w,b=argmin_w,bLw^*, b^* = \arg\min\_{w,b} L
  • 核心方法:梯度下降法(Gradient Descent)

三、核心算法:梯度下降(Gradient Descent)

如何找到让 LossLoss 最小的参数呢?笔记中详细记录了梯度下降的逻辑:

1. 基本思想

想象你在山上(Loss Function 的曲面),想要下山(找 LossLoss 最小值)。你环顾四周,找到坡度最陡的方向,往下走一步。

2. 算法流程(以参数 (ww) 为例)

  1. 随机初始化:随机选取一个初始值 (w_0w\_0)。

  2. 计算梯度(求导) :计算在 (w_0w\_0) 处的斜率(导数)。 Lw_w=w0\frac{\partial L}{\partial w}\bigg|\_{w=w^0}

  3. 更新参数:根据斜率移动参数。 w_1=w_0ηLw_w=w0w\_1 = w\_0 - \eta \frac{\partial L}{\partial w}\bigg|\_{w=w^0}

    • 这里的 (η\eta)(Eta)被称为学习率(Learning Rate)
    • 这是一个超参数(Hyperparameter),即“自定义”的参数,需要人为设定,决定了你一步跨多大。
  4. 迭代:重复上述步骤,直到找到极小值点或达到停止条件。

3. 关于参数 (bb)(偏置)

同理,对于参数 (bb),我们也做同样的操作: b_1=b_0ηLbb\_1 = b\_0 - \eta \frac{\partial L}{\partial b} 在实际操作中,(ww) 和 (bb) 是同时更新的。

四、常见问题与思考

笔记的最后提出了两个非常关键的思考点:

1. Local Minima(局部最小值)的迷思

  • 问题:梯度下降可能会让我们卡在一个“山谷”里,但这个山谷可能不是全山脉最低的地方(即卡在局部最优,没找到全局最优)。
  • 笔记中的观点:“Local minima 是个伪命题!”
  • 解释:这也是李宏毅老师课程中的一个经典观点。在高维空间(参数很多时),我们遇到的“卡住”通常是鞍点(Saddle Point),而非真正的局部最小值。这意味着在深度学习中,Local Minima 往往不是最大的障碍。

2. 模型调整

  • 如果我们观察到预测结果和真实数据的图像差距很大,可能说明 (y=wx+by = wx + b) 这个模型太简单了(Underfitting)。
  • 这时候我们需要“重建模型”,比如引入更多次项((x2)(x^2))或使用更复杂的神经网络。

总结

这几页笔记完美概括了监督学习(Supervised Learning)的核心逻辑:设定函数集 → 用 Loss 评价函数 → 用梯度下降解出最优解

a164bf523d509299f3cd1ee2158249a6.jpg

918e0b37c659333ed29a758e1f751998.jpg