机器学习笔记【Week10】

发布于:2025-06-28 ⋅ 阅读:(17) ⋅ 点赞:(0)

一、为什么需要大数据

  • 背景:如果模型表现 欠拟合(高偏差),增加样本数量能缓解模型的欠拟合问题。
  • 挑战:使用标准梯度下降在大规模数据集上非常慢,一次迭代就需遍历所有样本,计算代价巨大。
  • 解决方案
    1. 先用学习曲线检查是否有必要用整个数据集;
    2. 如果需要,则采用更高效的优化方式。

二、随机梯度下降

算法思想

  • 传统梯度下降基于全量样本计算梯度 ∇J,全局一致但计算昂贵。
  • SGD 每次只从一个样本计算梯度并更新参数,即时启动迭代,计算量和内存需求都大幅减少。

SGD 步骤

θ := 初始化参数
Repeat {
  随机打乱训练集
  for each (x⁽ⁱ⁾, y⁽ⁱ⁾) in 训练集 {
    计算梯度 g := ∇_θ J(θ; x⁽ⁱ⁾, y⁽ⁱ⁾)
    更新 θ := θ − α * g
  }
}

原理分析

  • 更新方向有噪声(来自随机样本),但长期累计仍趋近全局最优。
  • 不必等待完整代价计算就能快速逼近,可以提前观察收敛趋势。

三、小批量梯度下降

  • 每次用一个小批量(batch)样本计算梯度并更新,做出折中方案。
  • 优势
    • 可应用向量化和并行计算,高效;
    • 波动介于批量和随机之间,收敛更稳定。

四、学习率调节与 SGD 收敛分析

评估收敛的方法

  • 不适合买入绘制完整代价曲线,可采用滑动窗口策略:每隔一段迭代计算最近一批次平均代价,然后绘图。

学习率调整

  • 如果曲线震荡:降低 α;
  • 若无下降趋势:可能模型设定错误;
  • 若曲线抖动但下降:正常可接受;
  • 如上升趋势明显:α 过大,应立即减小。

动态学习率

随着迭代次数 t 增大调整学习率
α : = α 0 1 + k ⋅ t \alpha := \frac{\alpha_0}{1 + k\cdot t} α:=1+ktα0
帮助算法在靠近最优时收敛更稳定。

五、在线学习

适用场景

  • 数据流式输入(如网站点击、在线交易),数据量巨大且实时。

原理 + 示例

  • 与 SGD 类似,但不依赖全集,仅一条一条学习,且立即丢弃样本,节约空间。
  • Example:快递报价预测:接收用户询价,立即调整模型。

原理要点

  • 可适应用户偏好动态变化;
  • 实时反馈机制,适合推荐系统、动态定价、广告竞价等场景。

六、MapReduce & 数据并行

核心思路

  • 将整体任务分成子任务 → 多节点并行处理 → 汇总(Reduce)。
  • 梯度计算能拆分为样本的梯度求和。

可视化流程

Master:
  指派任务 → 多个 Worker
Worker:
  各自计算梯度
Master:
  聚合梯度 → 更新参数

关键价值

  • 利用高速网络与分布式硬件,加速计算;
  • 适用于可拆分计算的线性/逻辑回归、神经网络、矩阵分解等。

七、整体流程与任务拆解

OCR 系统拆解为 3 大模块:

  1. 文字检测:识别图中存在文本的大致位置;
  2. 字符切分:将文字区域分割成单字符图像;
  3. 字符分类:识别每个字符的真实内容(字母/数字…)。

每个环节都可能使用分类或深度学习模型。

八、滑动窗口检测机制

  • 对整张图使用固定大小窗口滑动;
  • 每次 window crop 后分类是否包含文字;
  • 使用多尺度象素金字塔扩展可检测不同大小的目标;
  • 交并比合并重复区域,过滤宽高比异常窗口。

原理归纳

  • 滑窗方式将检测拆为大量 “是否包含对象” 的分类任务;
  • 可以用 CNN、SVM、逻辑回归做二分类;
  • 自上而下设计 pipeline;当前的 YOLO/SSD 也是类似原理。

九、数据扩充策略

两种方法生成海量数据

  1. 人工合成:使用不同字体+随机背景生成字符图片;
  2. 增强法增强:对真实样本进行模糊/扭曲/旋转模拟现实。

原理说明

  • 用人工变换扩充训练集维度,减少模型对数据不足的依赖;
  • 提升模型鲁棒性,减轻过拟合。

十、上限分析

方法步骤:

  1. 手动将某一模块置为 “理想输出”;
  2. 评估整体性能提升;
  3. 判断改进收益,优先优化该模块。

举例效果

  • 文字检测若变成100%正确,系统准确率可提升最显著;
  • 字符分割改善效果较小;
  • 字符分类若完美(100%识别),也能显著提升整体性能。

原理逻辑

  • 识别系统中每个模块的性能增量;
  • 聚焦瓶颈,合理分配资源。

网站公告

今日签到

点亮在社区的每一天
去签到