先介绍一下数据的一些基本概念,带大家入门一下数据。

半监督学习:
 

就是说有一份大量的是数据,但是只是有一部分的数据是做了标注的,很大一部分是没做标注的,这种称之为“半监督学习”

举个例子,现在有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 训练)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐