Leon Yi

08 为什么关注“人类水平表现”?(Why Human-Level Performance?)

08 为什么关注“人类水平表现”?(Why Human-Level Performance?) 一、背景与动机 近年来,越来越多的机器学习团队开始将算法性能与人类表现进行比较,主要原因有两点: 深度学习技术的飞速进步 在语音识别、图像分类、自然语言处理等多个任务上,算法性能已逼近甚至超越人类水平。 人类行为是天然的性...

07 何时应改变开发、测试集和评估指标(When to change dev、test sets and metrics)

07 何时应改变开发、测试集和评估指标(When to change dev、test sets and metrics) 一、核心思想:评估指标与开发/测试集是“目标”,需随项目演进动态调整 开发集(dev set)和评估指标(metric)共同定义了模型优化的 目标方向。 如果当前指标或数据分布 无法准确反映真实业务需求或用户偏好,就应果断修改它们。 不要固守一个不合适...

06 开发集和测试集的大小(Size of dev and test sets)

06 开发集和测试集的大小(Size of dev and test sets) 🧠 一、背景与动机 在传统机器学习时代,数据集规模较小(如几十到几千个样本),常采用固定比例划分: 70/30 划分:70% 训练,30% 测试 60/20/20 划分:60% 训练,20% 开发(验证),20% 测试 但在现代深度学习中,数据集规模极大(如百万级甚至更大),这种固定比例不再...

05 训练集、开发集、测试集划分(Train、Dev、Test Distributions)

05 训练集、开发集、测试集划分(Train、Dev、Test Distributions) 🎯 一、核心思想:开发集与测试集必须来自同一分布 在构建机器学习系统时,开发集(Dev Set)和测试集(Test Set)的设立方式直接影响团队迭代效率。 关键原则: 开发集和测试集应来自相同的分布,并且该分布应代表你未来希望模型表现良好的真实应用场景。 ❌ 错误做法示例 ...

04 满足指标(Satisficing Metrics)与优化指标(Optimizing Metrics)

04 满足指标(Satisficing Metrics)与优化指标(Optimizing Metrics) 一、问题背景 在机器学习系统开发中,我们常常需要同时考虑多个性能指标(如准确率、运行时间、内存占用、假阳性率等)。 然而,将所有指标线性组合成一个单一实数评估指标(例如加权求和)往往不自然、不直观,甚至可能误导模型选择。 例如: 准确率(accuracy)越...

03 单一数字评估指标(Single Number Evaluation Metric)

03 单一数字评估指标(Single Number Evaluation Metric) 🎯 课程核心思想 在机器学习系统开发过程中,快速迭代是提升性能的关键。而要实现快速判断哪个模型/超参数/算法更好,必须依赖一个单一实数评估指标(single real-number evaluation metric) 。 多指标(如查准率 + 查全率、多个地区的错误率)虽然信息丰富,但会阻碍快速决...

02 正交化(Orthogonalization)

02 正交化(Orthogonalization) 一、正交化的核心思想 正交化(Orthogonalization) 是一种系统性调试与优化机器学习模型的方法论。其核心理念是: 每个“控制旋钮”(即调整手段)应尽可能只影响一个目标性能指标,而不干扰其他方面。 这类似于老式电视机上的旋钮: 一个旋钮只调高度, 一个只调宽度, 一个只调梯形校正, 而不是一...

01 为什么是ML策略?(Why ML Strategy?)

01 为什么是ML策略?(Why ML Strategy?) 1. 什么是ML策略? 机器学习策略是指在优化和改进机器学习系统时所采取的方法。它帮助你更快速、高效地提升系统的性能,避免走弯路。 2. 启发性例子 以猫分类器为例,假设已经达到了90%的准确率但仍未满足需求。这时可以考虑以下几种改进方法: 收集更多的训练数据。 增加训练集的多样性(如不同姿势的猫咪图片)。 ...

35 TensorFlow 基础与自动微分机制

一、核心目标   通过一个简单的二次损失函数优化问题,演示 TensorFlow 程序的基本结构,并揭示其如何自动完成: 前向计算(定义损失函数) 反向传播(自动求导) 参数更新(优化器)   从而为训练复杂神经网络打下基础。 二、示例问题:最小化一个二次损失函数   给定损失函数: [J(w) = w^2 - 10w + 25 = (w - 5)^2]  ...

34 深度学习框架(Deep Learning Frameworks)的价值与选择标准

一、为什么需要深度学习框架?   尽管从零开始用 Python + NumPy 实现神经网络(如前向传播、反向传播、梯度下降等)有助于理解底层原理,但在实际工程中存在明显局限: 难以扩展:实现 CNN、RNN、Transformer 等复杂结构代码量大、易出错; 效率低下:NumPy 在 CPU 上运行,缺乏 GPU 加速、自动并行、内存优化; 重复造轮子:每个项目都要重写...