30、数据标注质量控制:从评估到聚合

数据标注质量控制:从评估到聚合

1. Krippendorff’s alpha的扩展应用

Krippendorff’s alpha不仅可用于互斥标签任务,还能处理更复杂的任务。通过改变其公式中的标签权重,可以处理顺序数据和旋转数据。例如,有三种类型的分类任务:
- 互斥标签任务 :重复之前示例中的标签权重。
- 顺序量表任务 :如从“Bad”到“Excellent”的顺序,对于相邻的注释(如“Good”和“Excellent”)给予部分分数。
- 旋转类别任务 :以罗盘方向为例,偏差90度的给予部分分数(如“North”和“West”),偏差180度的给予零分(如“North”和“South”)。

不过,Krippendorff’s alpha在用于训练数据时存在一些不足。它最初是为学校随机分配试卷给多个评分者的场景推导的,没有考虑到不同标注者基于所见内容可能有不同的预期一致性。在创建训练数据时,我们常常会非随机地分配标注任务,比如将难题交给更多人裁决。

2. 个体标注者一致性

个体标注者层面的一致性有多种用途。可以从宏观层面计算标注者在所有响应中的可靠性,也可以查看他们在特定标签或数据段上的一致性高低。这有助于判断标注者的准确性,或者发现多样化的有效标注。

3. 标注者间一致性
3.1 多数一致性

计算标注者间一致性最简单的指标是计算每个标注者在给定任务上与多数人一致的频率。多数一致性通过查看一个人在每个任务上与最常见标注标签一致的次数来衡量。例

相关推荐

30K开源语料库实战:从数据清洗到模型训练全流程解析

在自然语言处理领域,高质量语料库是模型训练的基石。其核心原理在于通过系统化的数据收集、清洗和标注,将原始文本转化为结构化、低噪声的机器可读格式,从而显著提升模型学习效率与效果。这一过程的技术价值在于解决了数据准备阶段的共性痛点,如去除网页噪音、统一编码格式、实现文本规范化以及进行有效的数据去重与标注。在实际应用场景中,经过预处理的语料库能够直接支持多种下游任务,例如文本分类、情感分析、命名实体识别以及语言模型的领域自适应微调。本文聚焦于一个约3万条样本的开源语料库项目,详细拆解其数据构成与处理管道,并演示如

weixin_30372371的博客 434

AI在心理健康监测中的技术突破与应用实践

心理健康监测正经历从传统问卷到AI驱动的技术革新。通过多模态数据分析(如微表情、语音特征等),AI能够实现更精准的心理状态评估与早期预警。核心技术涉及智能可穿戴设备、语音分析系统和文本交互分析,结合特征工程与实时处理技术,显著提升预测准确率。应用场景包括抑郁症、躁郁症等心理疾病的早期发现与干预。然而,数据质量、特征选择和伦理边界仍是关键挑战。本文通过实际案例,探讨了AI在心理健康领域的落地难点与解决方案,如数据标注优化、硬件选型及伦理合规设计。

weixin_26759093的博客 303

机场鸟类数据集构建实战:从数据采集到模型部署的航空安全AI解决方案

目标检测作为计算机视觉的核心任务,其原理是通过算法自动识别图像或视频中的特定对象并定位其位置。这项技术通过卷积神经网络等模型提取特征,实现高精度识别,在安防监控、自动驾驶、工业质检等领域具有重要价值。在航空安全场景中,针对鸟击风险,构建专用的机场鸟类数据集成为实现智能预警的关键。本文聚焦于小目标检测和复杂背景下的实战挑战,深入解析数据采集、清洗、标注的全流程,探讨如何通过数据增强、模型选型与优化,训练出高召回率的实时检测系统,为机场鸟情监测提供可靠的AI感知基础。

tang_zongyun的博客 432

AI泡沫退潮后,一线从业者的四条务实生存主线

人工智能作为新一轮通用技术,其价值实现不在于模型参数规模或概念热度,而在于能否嵌入真实业务流程、产生可量化ROI。从技术原理看,AI本质是数据驱动的模式识别与决策增强工具;其核心价值在于降本增效、提升准确率与缩短交付周期;典型应用场景覆盖制造业质检、金融信贷审批、基层医疗筛查等高确定性领域;随着企业采购重心从‘买模型’转向‘买能力’,技术选型正经历从闭源大模型到开源小模型+领域精调、从单体架构到模块化智能体的关键转向。本文基于多个已落地的制造业AI质检、法律科技与教育垂类项目,系统梳理泡沫退潮期的技术务实路

329

真实工作流数据:下一代AI训练数据的核心价值与实践

机器学习训练数据是AI模型能力的基础,其质量直接影响模型的泛化性能。传统标注数据虽然规整,但往往缺乏真实业务场景中的上下文依赖和复杂决策逻辑。真实工作流数据从实际业务操作中自然产生,包含完整的任务执行序列和专家决策过程,为模型提供了情境完整性的学习价值。这种数据天然具备高相关性,能有效提升模型在客服助手、代码生成等具体应用场景中的实战能力。通过自动化标注和多模态数据融合技术,真实工作流数据正在成为解决AI模型在实际业务中表现平平的关键路径,特别适用于需要复杂决策和错误恢复的智能系统构建。

weixin_34189116的博客 344

30、数据标注的质量控制与聚合方法

本文探讨了数据标注中的质量控制与聚合方法,重点介绍了Krippendorff’s alpha的扩展应用、标注员间一致性的计算、不可靠标注员的处理方式,以及按标签和人口统计特征分析一致性等内容。同时,文章提出了多种标注聚合方法,并通过实际案例分析验证了这些方法在提升训练数据质量方面的有效性。最终总结了数据标注中质量控制的关键策略,为机器学习模型提供高质量的训练数据。

beta5的博客 69

30、数据标注的质量控制

本文深入探讨了数据标注过程中的质量控制方法与策略。重点介绍了Krippendorff's alpha在不同标注任务类型中的应用及其局限性,分析了个体标注者一致性的重要性以及预期一致性的计算方法。文章还讨论了如何去除不可靠标注者、避免p-hacking,并通过混淆矩阵分析错误模式。针对标注聚合,提出了考虑错误相关性的置信度计算方法。最后,通过实际案例分析和未来发展趋势展望,全面阐述了数据标注质量控制的关键要素和实践策略。

pea55的博客 178

人工智能训练师三级·分级自测真题75题|基础/进阶/挑战三档,精准定位水平

人工智能训练师三级·分级自测真题摘要 本文提供了一套75题的分级自测试卷,分为基础、进阶和挑战三个难度等级(各25题),帮助考生精准评估备考水平。基础级检测基本概念掌握(合格标准≥80%正确率),进阶级考察核心应用能力,挑战级针对综合拓展知识。试卷涵盖数据清洗、模型测试、提示词工程等关键考点,每题附答案解析。建议考生按难度梯度完成测试,通过错题分析定位薄弱环节,并参考文末水平对照表制定针对性复习计划。配套资源包括全真模拟试卷和高频考点精讲,适合不同备考阶段的考生进行水平自测和能力提升。 (字数:150字)

白话机器学习 252

Krippendorff 的 Alpha:计算 Krippendorff 的 Alpha 作为评估者间一致性的度量。-matlab开发

Krippendorff 的 Alpha 是评价者间一致性的度量,衡量评价者(贴标签者、编码者)对分配给项目的标签的同意程度。 它在不同的测量级别上运行,实施的是名义、有序和间隔。 在有限的情况下,它与 Fleiss 的 Kappa 相同,但 Krippendorff 的 Alpha 适用于更广泛的问题,并且可以处理缺失的条目,因为它不需要每个项目的评分者数量相同。 此实现将观察矩阵和所需的测量级别作为输入并计算 Alpha。 结果已针对现有 SPSS 宏进行了验证。 有关 Krippendorff Alpha 的更多详细信息,请参阅http://en.wikipedia.org/wiki/Krippendorff's_alpha

【RF】Receiver Function接收函数:从理论到实践的深度解析

本文深入解析地震学中的接收函数(Receiver Function, RF)技术,从理论原理到实践操作。文章将RF比作地球的“听诊器”,详细阐述了其通过反褶积剥离震源影响、揭示地下结构(如莫霍面)的核心机制,并提供了使用Python和rf库进行数据处理、计算、动校正与叠加的完整实战流程,同时探讨了其应用、局限性与常见问题的解决方案。

Jerry的专栏 122

Android蓝牙Mesh组网实战:从零搭建智能灯光控制系统(附完整代码)

本文详细介绍了基于Android平台开发蓝牙Mesh智能灯光控制系统的完整实战流程。从环境搭建、核心概念解析,到设备扫描配网、网络初始化、模型配置与消息通信,提供了完整的代码实现和调试技巧。重点讲解了如何使用开源Mesh库实现设备发现、分组控制、场景管理等核心功能,并分享了实际项目中遇到的典型问题与解决方案。

weixin_29174013的博客 662

[QT笔记]QTableView与QTableWidget表头设置实战对比

本文深入对比了QT开发中QTableView与QTableWidget在表头设置上的核心差异与实践方法。QTableWidget提供开箱即用的便捷API,适合快速开发;而QTableView遵循模型-视图架构,表头数据由模型管理,虽设置稍复杂但灵活性与扩展性更强。文章通过实战代码示例,详细解析了两种组件的适用场景、性能考量及常见避坑指南,帮助开发者根据项目需求做出高效选择。

weixin_29018335的博客 323

STM32-DAC定时器触发三角波生成【频率与幅度精准控制】

本文详细介绍了STM32 DAC定时器触发三角波生成的原理与实现方法,涵盖硬件配置、频率与幅度精准控制技巧及代码实现。通过定时器触发DAC模块,可灵活调节三角波的频率和幅度,适用于信号发生器等高精度应用场景。

weixin_29161785的博客 454

彩票预测的可能性与算法分析

彩票作为一种以随机数为基础的赌博形式,吸引了大量希望一夜暴富的参与者。尽管许多人希望通过某种方式预测彩票结果,以增加中奖几率,但彩票预测的可能性依然是一个充满争议和误解的话题。本文将探讨彩票是否能够预测的理论依据,分析可能的预测算法,并解释这些算法为何在实际应用中难以奏效。

m0_38012434的博客 2万+

一分钟学会MATLAB-数据清洗(含完整代码)

数据清洗是数据分析过程中的一个重要步骤,目的是提高数据的质量,以便进行更有效的分析。% 删除超出阈值的行。% 用线性插值填充缺失值。% 删除包含缺失值的行。% 找到缺失值的位置。% 可视化数据,识别异常值。缺失值是数据清洗中常见的问题。通过以上步骤,你可以有效地清洗数据,使其准备好进行后续的分析和建模。

2402_87132195的博客 3317

YOLOv8融合改进 更换检测头为Detect_DyHead同时添加C2f_DBB模块

yolov8独家训练测试融合网络结构,提供详细步骤详细代码,手把手教你在yolov8官方包中把检测头更换为Detect_DyHead检测头,并且将原始的C2f模块更换成C2f_DBB模块,提高检测精度,亲测在多个数据集上有涨点!!!!!

分享一些自己改进代码的实例 4747

通过WorkVisual连接KUKA机器人的具体方法

通过WorkVisual连接KUKA机器人的具体方法

Robot_PLC_HMI_Automation 6849

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 84、听觉系统的奥秘:从声音接收到单元形成
下一篇: 7、人工智能、分布式账本技术与企业治理的变革
code8
博客等级 码龄17年 65粉丝 1720原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值