![[中英对照] 主动机器学习:基于 Python 实现(双语对](/storage/uploads/4411_578b6753-8cbc-4636-9174-11becba3b489.jpg)
![[中英对照] 主动机器学习:基于 Python 实现(双语对](/storage/uploads/4411_7f5a8996-1153-4594-a25f-7eb5dd3fb327.jpg)
![[中英对照] 主动机器学习:基于 Python 实现(双语对](/storage/uploads/4411_83e0f267-9c62-4ae6-b6a3-38796b79859e.jpg)
资源介绍
照版电子书)
书籍核心内容
(一)主动机器学习基础(第一部分)
这部分旨在为读者搭建主动机器学习的基础框架,深入解析其核心概念与关键构成。
主动机器学习概述:主动机器学习是一种动态迭代的机器学习方法,算法能主动与 “预言机”(如人类标注者、专业标注系统等)交互,获取数据标签。其核心目标是挑选最具信息价值的数据点进行标注,相较于依赖大量预标注数据的传统监督学习,以及仅处理无标签数据的无监督学习,它通过半监督学习策略,在减少标注工作量的同时提升模型准确率。在计算机视觉的图像分类、目标检测,自然语言处理的文档分类、翻译,异常检测的欺诈识别,推荐系统的用户偏好收集,医疗诊断的病例分析等多个领域都有出色应用。
关键组成与交互流程:主动机器学习系统包含无标签数据集(算法可从中查询数据点,规模可从数万到数百万不等)、查询策略(核心机制,决定选择哪些数据点获取标签)、机器学习模型(如神经网络、随机森林等待训练的预测模型)和预言机(提供标签的来源)四大关键组件。各组件通过 “查询策略筛选数据点→预言机标注→新标注数据训练模型→更新模型指导下一轮查询” 的循环流程协同工作,让模型不断优化。
查询策略场景:主要有三种场景。成员查询合成中,模型可自行生成新数据点请求标注,虽能针对性探索薄弱环节,但在处理图像、音频等复杂数据时难度大且易过拟合;流数据选择性采样适用于用户行为、传感器实时数据等场景,能实时决策是否标注,节省存储,但无法回溯已丢弃数据,且难适应数据分布变化;池式采样从静态数据池选取数据标注,灵活性高,可反复查询调整策略,不过对存储和计算资源要求较高,是当前实际应用中较实用的方案。
与被动学习的对比:被动学习依赖固定预标注数据集,模型训练过程无交互,且数据标注存在依赖专家、耗时长、易出错、成本高、难适应新情况等问题。而主动学习通过动态选择标注数据,减少所需标注数据量,还能通过多轮迭代调整策略,降低成本并提升模型适应性。
(二)查询策略框架设计(第二部分)
这部分聚焦主动机器学习中关键的查询策略框架,详细讲解多种主流策略的原理、实现与优劣。
不确定性采样:该策略针对模型预测不确定性高的数据点,通常是靠近分类边界的数据。包含 least - confidence 采样(计算 1 与模型最自信预测概率的差值,差值大则优先级高)、边际采样(选取前两类预测概率差值最小的数据)、置信比采样(选择前两类预测概率比值最小的数据)、熵采样(挑选类别概率分布熵最大,即不确定性最高的数据)四种方法。具有直观、计算高效、适用范围广等优点,还能助力异常检测和识别标注错误。
委员会查询方法:通过多个模型组成 “委员会”,选择成员间分歧大的数据点。最大分歧法直接依据成员预测标签的分歧程度选择;投票熵法计算成员投票分布的熵,熵高则分歧大;平均 KL 散度法衡量单个模型与委员会平均预测分布的差异,差异大的数据优先。该方法能促进数据多样性探索,可组合多种模型,但训练多个模型计算成本高,且需不断重新训练委员会模型。
期望模型变化(EMC)采样:旨在选择标注后对模型参数和预测改变最大的数据点,常通过计算期望梯度长度(EGL)评估,梯度长的 data 对模型影响大。能主动探索数据空间中影响显著的区域,适配多种模型,且无需每次都完整重新训练模型,但计算成本高,实际应用较少。
期望误差减少(EER)采样:关注标注后模型泛化误差的预期降低程度,通过损失函数(如对数损失、0 - 1 损失)计算预期误差。可直接优化泛化误差,避免过拟合,但估算误差减少过程计算量大,同样在实际中应用有限。
密度加权采样:结合数据点的信息价值与局部密度,平衡信息性和数据分布代表性,避免过度采样密集区域。常用 k 近邻密度、核密度估计(KDE)、K 均值聚类、最大均值差异(MMD)等方法计算密度。能提升模型性能、减少标注样本量且适用于各类数据,但在高维数据中密度估计难度较大。
(三)实际应用与工具(第三部分)
这部分将理论与实践结合,介绍主动机器学习在实际场景中的应用及相关工具。
计算机视觉应用:在图像分类任务中,以 CIFAR - 10 数据集为例,先构建简单 CNN 或使用预训练模型,从少量标注数据起步,通过不确定性采样选择模型不确定的图像标注,逐步扩充训练集提升模型在测试集上的准确率。针对目标检测,以脑肿瘤检测数据集为例,利用 Ultralytics 的 YOLO 模型,先训练初始标注数据,再依据模型对未标注图像预测的置信度,选择低置信度图像标注并更新模型,改善检测精度相关指标。在实例分割任务中,类似地以草莓数据集为例,使用 YOLOv8 - seg 模型,通过主动选择标注数据优化分割性能,其输出的掩码能更精细地定位目标。
大数据处理:针对视频数据量大、帧间冗余多的问题,引入 Lightly 工具。先使用预训练目标检测模型对视频帧进行推理,筛选关键类别预测结果,再创建 Lightly 所需的配置文件,接着调度主动学习任务,结合多样性、类别平衡、预测分数等策略选择关键帧。还可集成自监督学习(SSL)微调模型,提升嵌入特征质量,最后将选中帧发送到标注平台(如 Encord)进行标注,构建高效的视频数据处理流程。
效率评估与提升:构建高效的主动机器学习流水线需实现数据存储、模型运行、结果处理与标注平台的自动化衔接,选择合适的硬件(如 AWS EC2 实例),并通过配置文件参数化设置策略、模型等,提升可扩展性。同时,借助日志记录、MLOps 平台(如 ClearML)监控运行状态,利用数据库(如 MongoDB)管理标注队列。确定主动学习运行停止时机时,需结合预设性能指标(如准确率、精度)、避免过拟合、考虑资源约束、关注性能提升边际效益,并通过反馈循环持续评估调整。在生产环境中,主动学习可通过不确定性采样、异常检测、委员会查询、反馈循环等机制,早期检测数据漂移(输入数据统计特性变化)和模型衰减(模型性能下降),及时调整模型,保障模型长期有效。
工具与包应用:scikit - learn 虽非专为主动学习设计,但提供大量传统机器学习算法和工具,可作为基础模型开发,并与其他主动学习包结合使用,例如在客户细分场景中,先通过 KMeans 聚类,再结合逻辑回归分类器,通过主动学习迭代优化模型。modAL 基于 scikit - learn,提供丰富的主动学习策略(如不确定性采样、委员会查询),支持自定义策略,能便捷集成到现有工作流,适用于图像分类、回归等任务,例如在图像分类中用其不确定性采样选择标注数据,或构建多模型委员会提升数据选择的有效性。此外,还有 Label Studio(开源多类型数据标注工具,支持主动学习集成)、Prodigy(高效 NLP 标注工具,实时反馈迭代)、Encord Active(聚焦图像视频的主动学习标注平台)、Cleanlab(检测修正标签错误)等多种工具,可根据项目需求选择,助力高效实现主动机器学习流程。
三、书籍适用人群与价值
本书适合数据科学家、机器学习工程师、研究人员以及希望优化机器学习工作流程的人员。无论是初次接触主动机器学习,还是想提升现有模型性能的从业者,都能从中获取通过策略性查询和学习技术优化数据利用的知识。通过阅读本书,读者可掌握减少标注成本、提升模型性能的实用策略,将主动学习应用于计算机视觉、自然语言处理等多个领域,提升模型效率与适应性,为实际机器学习项目提供有力的理论指导和实践支持。