子曰:『工欲善其事,必先利其器。
昨天提到依照 Ground truth 改变的速度会让不同任务的标注有各种难易度:
而依照不同的难度会有不同的标注方法,接下来就让我们来谈谈各种标注方法吧。
持续创造训练资料集。
最常见的例子为真实 vs. 预测的点击率 (CTR),若使用者真的有点击就标注为 True,反之为 False,其标注流程如下:
其优点为:
缺点为:
常用的方法为日志分析 (log analysis),因为大部分资料都来自於监控系统时产生的日志。
其中开源的日志分析工具有:
若使用云端平台则有以下云端日志分析工具:
由人类手把手教学。
基本上就跟想像的一样,在前面已经讨论很多了,这里再复习一下步骤:
以上两种方法为比较常见的方法,接下来介绍一些进阶方法,它们的中心思想都是自动化标注流程以减少高昂的人力成本 (以标签的正确性为代价),那就让我们继续吧。
只手工标注一部分资料,剩下让演算法帮忙。
其做法为将少数由人类标注的资料与大量的未标注资料结合,利用已标注资料在特徵空间中的 cluster 或结构来推论剩余的标签为何。
假设不同类别的标签在特徵空间中必须 cluster 在一起或具有某些可辨别的结构。
此方法的优点如下:
用来标注的半监督式演算法称为标签传递 (Label propagation),它会以未标注资料和已标注资料的相似性或群体关系 (community structure) 作为标注的基准。
以 Graph-based label propagation 为例,它会利用相邻的已标注资料来进行标注,而这些标签则会传递到该 cluster 剩余的资料中:
*图片修改自 MLEP — Semi-supervised Learning
Label propagation 属於 转导推理 (transductive learning),也就是不学习映射函数,直接利用样本自身进行映射。
依据现有资料来智能取样尚未标注的资料 (专注於最重要的部分)。
主动学习 (Active Learning) 指的是可以智能取样资料的演算法,它会找出较能提升模型预测性的样本,因此特别适用於以下情境:
其中心思想为选择最能帮助模型学习的已标注资料,又细分为以下两种策略:
*图片修改自 MLEP — Active Learning
而主动学习的整体流程为:
以下为常见的主动学习技巧:
程序化 (Programmatic) 的标注方法,通常藉由 subject matter experts 设计的规则来标注。
弱监督是指使用若干不同来源的资讯产生标签,通常这些来源都是 SME 设计的规则,因此产生的标签是不完美的 (会有 "杂讯" 产生),也就是说不一定 100% 正确。
更精确来说,它会使未标注的资料存在数个 noisy 的条件分布,而其目标就是学习一个生成式模型来衡量这些杂讯来源的权重。
Snorkel 为最受欢迎的 weak supervision 框架,它不需要手动标注,可以程序化地建立与管理训练集,其原理如下:
以上就是今天的内容,我们当然还可以搭配前几天提到的资料增强 (Data Augmentation) 来增加有标签的资料量,藉由提升特徵空间的涵盖率可以改善模型表现,但今天就到此为止啦,明天见罗!!
<<: Day 22:1863. Sum of All Subset XOR Totals
"什麽叫你只会加密128位元?" --- 花了不少篇幅介绍两中区块加密方式,DE...
令人崩溃的期末专题进行了两个礼拜,终於在茫然的浑沌中摸索出一些头绪,对规划工作和时辰安排有比较好的掌...
Migration 是资料库的版本控制,让你和你的团队能够互相去共想资料库的结构,你是否曾经曾告诉你...
DAY21 MongoDB Profiler 如何监控效能差的操作 有处理过资料库效能问题的大概都知...
大家好,我是17King~ d(`・∀・)b 跟大家报告一个好消息! 我的书终於出版啦!!! (拍手...