打字猴:1.700533206e+09
1700533206 百面机器学习:算法工程师带你去面试 [:1700532174]
1700533207 百面机器学习:算法工程师带你去面试 07 图像数据不足时的处理方法
1700533208
1700533209
1700533210
1700533211 场景描述
1700533212
1700533213 在机器学习中,绝大部分模型都需要大量的数据进行训练和学习(包括有监督学习和无监督学习),然而在实际应用中经常会遇到训练数据不足的问题。比如图像分类,作为计算机视觉最基本的任务之一,其目标是将每幅图像划分到指定类别集合中的一个或多个类别中。当训练一个图像分类模型时,如果训练样本比较少,该如何处理呢?
1700533214
1700533215 知识点
1700533216
1700533217 迁移学习(Transfer Learning),生成对抗网络,图像处理,上采样技术,数据扩充
1700533218
1700533219 问题 在图像分类任务中,训练数据不足会带来什么问题?如何缓解数据量不足带来的问题?
1700533220
1700533221 难度:★★☆☆☆
1700533222
1700533223 分析与解答
1700533224
1700533225 一个模型所能提供的信息一般来源于两个方面,一是训练数据中蕴含的信息;二是在模型的形成过程中(包括构造、学习、推理等),人们提供的先验信息。当训练数据不足时,说明模型从原始数据中获取的信息比较少,这种情况下要想保证模型的效果,就需要更多先验信息。先验信息可以作用在模型上,例如让模型采用特定的内在结构、条件假设或添加其他一些约束条件;先验信息也可以直接施加在数据集上,即根据特定的先验假设去调整、变换或扩展训练数据,让其展现出更多的、更有用的信息,以利于后续模型的训练和学习。
1700533226
1700533227 具体到图像分类任务上,训练数据不足带来的问题主要表现在过拟合方面,即模型在训练样本上的效果可能不错,但在测试集上的泛化效果不佳。根据上述讨论,对应的处理方法大致也可以分两类,一是基于模型的方法,主要是采用降低过拟合风险的措施,包括简化模型(如将非线性模型简化为线性模型)、添加约束项以缩小假设空间(如L1/L2正则项)、集成学习、Dropout超参数等;二是基于数据的方法,主要通过数据扩充(Data Augmentation),即根据一些先验知识,在保持特定信息的前提下,对原始数据进行适当变换以达到扩充数据集的效果。具体到图像分类任务中,在保持图像类别不变的前提下,可以对训练集中的每幅图像进行以下变换。
1700533228
1700533229 (1)一定程度内的随机旋转、平移、缩放、裁剪、填充、左右翻转等,这些变换对应着同一个目标在不同角度的观察结果。
1700533230
1700533231 (2)对图像中的像素添加噪声扰动,比如椒盐噪声、高斯白噪声等。
1700533232
1700533233 (3)颜色变换。例如,在图像的RGB颜色空间上进行主成分分析,得到3个主成分的特征向量p1,p2,p3及其对应的特征值 λ1,λ2,λ3,然后在每个像素的RGB值上添加增量[p1,p2,p3]•[α1λ1,α2λ2,α3λ3]T,其中 α1,α2,α3是均值为0、方差较小的高斯分布随机数。
1700533234
1700533235 (4)改变图像的亮度、清晰度、对比度、锐度等。
1700533236
1700533237 图1.4展示了一些图像扩充的具体样例。
1700533238
1700533239
1700533240
1700533241
1700533242 图1.4 图像数据扩充样例
1700533243
1700533244 除了直接在图像空间进行变换,还可以先对图像进行特征提取,然后在图像的特征空间内进行变换,利用一些通用的数据扩充或上采样技术,例如SMOTE(Synthetic Minority Over-sampling Technique)算法。抛开上述这些启发式的变换方法,使用生成模型也可以合成一些新样本,例如当今非常流行的生成式对抗网络模型。
1700533245
1700533246 此外,借助已有的其他模型或数据来进行迁移学习在深度学习中也十分常见。例如,对于大部分图像分类任务,并不需要从头开始训练模型,而是借用一个在大规模数据集上预训练好的通用模型,并在针对目标任务的小数据集上进行微调(fine-tune),这种微调操作就可以看成是一种简单的迁移学习。
1700533247
1700533248
1700533249
1700533250
1700533251 百面机器学习:算法工程师带你去面试 [:1700532175]
1700533252 百面机器学习:算法工程师带你去面试 第2章 模型评估
1700533253
1700533254 “没有测量,就没有科学。”这是科学家门捷列夫的名言。在计算机科学特别是机器学习领域中,对模型的评估同样至关重要。只有选择与问题相匹配的评估方法,才能快速地发现模型选择或训练过程中出现的问题,迭代地对模型进行优化。模型评估主要分为离线评估和在线评估两个阶段。针对分类、排序、回归、序列预测等不同类型的机器学习问题,评估指标的选择也有所不同。知道每种评估指标的精确定义、有针对性地选择合适的评估指标、根据评估指标的反馈进行模型调整,这些都是机器学习在模型评估阶段的关键问题,也是一名合格的算法工程师应当具备的基本功。
1700533255
[ 上一页 ]  [ :1.700533206e+09 ]  [ 下一页 ]