AI应用开发之【数据打标签】
关于AI大模型学习的入门基础数据篇,后续会不断更新关于AI的内容,主要关于Agent
先介绍一下数据的一些基本概念,带大家入门一下数据。
半监督学习:
就是说有一份大量的是数据,但是只是有一部分的数据是做了标注的,很大一部分是没做标注的,这种称之为“半监督学习”
举个例子,现在有100w的软件用户使用数据,但是只有10w的用户数据是明确知道用户的使用意图,剩下的是不知道用户的意图的,这种就是半监督学习
自学习:
是半监督学习里面的一个简单算法,整体流程如下:
先是在有的标注数据基础上去训练一个模型,然后用这个模型去对没有标注数据的模型进行预测,对这些没有标注的数据得到一些伪标号(模型去标注的,不是人工标注的,有一定的误差),再将这些伪标号的数据和已经标注的数据进行合并,再训练出一个新的模型,再进行预测,不断地循环
注:在伪标注的时候,可以设置个置信筛选,当数据达到一定的值时候,再进行保留,可以提升精确性。
主动学习
叫做Active Learning,也是存在有标注的数据,也有没标注的数据,但是跟半监督学习不一样的点在于这个是会设置人为干预的,就是说将没有标注的数据进行人为干预去标注出来,这里的标注有两种算法:
算法一Uncertainty sampling:
用已标注的数据训练一个模型,然后让这个模型去对没标注的数据进行标注,哪些是置信的,哪些是不置信的,跟自训练不一样,自训练是选特别置信的数据保留,而这个是选择最不置信的数据(这些机器比较难判断的样本)出来,然后选择人工标注,让人来进行标注,标注出来这些机器比较难判断的样本后再放回到训练集中,重新筛选去进行判断,再筛选出最不置信的数据继续循环判断。
算法二Query-by-committee:
通过多个模型去对数据进行批判评分,找出最不置信的数据,再进行人工标注
弱监督学习
就是半自动生成标号,使用“数据编程”也就是用启发式算法去给人工进行标注
主动学习和半监督学习一块使用的例子
质量控制:
最左边的是最准确的标注,要确保标注的数据比较精确,不要出现过大,过小或者完全不搭边
1,标注好的数据训练模型Train
就是将已经标注好的数据来训练出一个小模型
2,用训练出的模型来判断未标注数据
用模型来对未标注的数据进行打标签
3,得到更加确信的数据然后合并到原有的打完标注的数据集
4,得到不确信的数据然后给到人工标注
将不确信的数据给到人工标注之后,再将这个数据给合并到已打完标注的数据
通常我们无论是在训练大模型、数据挖掘以及日常生活中的数据处理等等方面,都是涉及到数据,一个高质量的数据集对于我们来说是很重要的,它能够取决于你的这个研究成果最终的质量高不高,所以我们这一篇就来好好聊聊如何打造一个高质量的数据集(如有技术不足,请多多指教)
如何打造高质量数据:
前言:
我们最多面临的数据的问题是什么呢:
1.数据预处理:
1.1 数据清洗
目的就是去除脏数据和无效信息
包括以下几个特征:
- 数据重复
- 数据杂乱
- 数据不完整
- 数据格式不一致
- 数据偏斜
- 数据冗余
清洗的方式:
1.对缺失值进行处理:
填补(均值、中位数、众数、插值)、删除、或者用模型预测补全
2.异常值检测:
利用统计方法(如 Z-score、IQR)或聚类方法(如 DBSCAN)检测异常点并剔除或修正
3.重复值处理:
检查并去重,避免模型学习到重复样本
3. 一致性检查:
统一数据格式(日期、数值单位)、统一字符编码。
1.2 数据转换
目的是把原始数据转换成模型可用的形式
转换的方式:
1.归一化/标准化:
Min-Max 归一化([0,1] 范围)
Z-score 标准化(均值 0,方差 1)
2.编码处理:
One-Hot 编码(适合类别型特征)
Label Encoding(适合有序分类)
Embedding(适合高维稀疏类别)
3.特征工程:
特征构造(组合、交互特征)
特征选择(相关性、信息增益、模型特征重要性)
降维(PCA、t-SNE、UMAP)
4.时间/序列处理:
提取时间特征(如年、月、星期、小时)
滑动窗口生成序列样本
1.3 数据压缩
目的是减少冗余,提高存储和训练效率。
压缩的方式:
1.特征降维:
PCA、LDA、Autoencoder
2.样本压缩:
聚类(如 K-means 代表点)
采样(欠采样、过采样、SMOTE)
3.稀疏化:
对稀疏矩阵(如文本向量)应用稀疏存储
4.压缩存储格式:
Parquet、Feather(适合大规模表格数据)
TFRecord(适合 TensorFlow 训练)
更多推荐
所有评论(0)