人工智能安全-3-噪声数据处理

这篇具有很好参考价值的文章主要介绍了人工智能安全-3-噪声数据处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 提纲

  • 噪声相关概述
  • 噪声处理的理论与方法
  • 基于数据清洗的噪声过滤
  • 主动式过滤
  • 噪声鲁棒模型

1 噪声相关概述

噪声是影响机器学习算法有效性的重要因素之一,由于实际数据集存在采集误差、主观标注以及被恶意投毒等许多因素,使得所构造的数据集中难免存在噪声。

在机器学习训练数据中,存在两种噪声:

  • 属性噪声:样本中某个属性的值存在噪声。由于设备、数据处理方法等因素影响,在每个属性或特征的测量、处理的过程中会引入噪声。例如,测量血压、温度时由于突发因素的影响造成波动;
  • 标签噪声:由于人工标注时存在一定主观性、非专业性、经验不足等,导致数据集中的样本标签可能存在一定噪声。

标签噪声的产生原因:

  • (1)特定类别的影响,在给定的标注任务中,各个类别样本之间的区分度不同,有的类别与其他类别都比较相似,就会导致这类样本标注错误率高;
  • (2)标注人为的因素;
  • (3)少数类的标注更容易错误;
  • (4)训练数据受到了恶意投毒,当在对抗环境下应用机器学习模型时,攻击者往往会通过一些途径向数据中注入恶意样本,扰乱分类器的性能。

关于噪声分布的假设:均匀分布、高斯分布、泊松分布等。

噪声标签的影响:

  • 标签噪声比属性噪声更重要;
  • 数据利用率;
  • 分类性能下降: k k kNN、决策树和支持向量机、 Boosting 等;
  • 模型复杂度:
    – 决策树节点增多;
    – 为了降低噪声影响,需要增加正确样本数量;
    – 可能导致非平衡数据。
  • 正面影响:Bagging训练数据中的噪声有利于增加基分类器的差异性,最终可能提高整个学习模型的分类性能。

与噪声类似的概念和研究:

  • 异常
  • 离群点:outlier
  • 少数类
  • 小样本
  • 对抗样本
  • 恶意样本
  • 脏数据

2 噪声处理的理论与方法

2.1 噪声处理的理论基础

概率近似正确定理(probably approximately correct,PAC ):只要计算结果和真实值的偏差小于一个足够小的值就认为“近似正确”,因此PAC理论不要求学习器输出零错误率,只要求错误率被限制在某常数 ϵ \epsilon ϵ范围内。

根据PAC理论,有一个已经被证明的结论:对于任意的学习算法而言,假设训练数据的噪声率为 β \beta β,分类器的错误率为 ϵ \epsilon ϵ,那么两者之间存在如下关系:
β ≤ ϵ 1 + ϵ . \beta \leq \frac{\epsilon}{1 + \epsilon}. β1+ϵϵ.
下图给出了噪声率和错误率之间的变化关系(横坐标是噪声率,纵坐标是错误率),从图中可以看出,机器学习允许训练数据存在一定的噪声。但当噪声率超过 50 % 50\% 50%时,分类器已经 100 % 100\% 100%的错误率了。基于这个出发点,在噪声数据处理中,一般假设噪声比例并不太高。
数据处理噪声,人工智能安全,人工智能,安全,算法

2.2 噪声处理的方法概览

  • 基于数据清洗的噪声过滤
  • 主动式噪声过滤
  • 噪声鲁棒模型

3 基于数据清洗的噪声过滤

数据层

  • 去除噪声样本
  • 修正噪声样本
  • 方法:采用噪声敏感方法检测噪声
    k k kNN, k k k较小
    – 密度方法
    – 决策树
    – 集成学习:静态集成、动态集成;投票
    – 主动学习:人工+分类器迭代

3.1 直接删除

直接删除法是基于两种情况:

  • 把异常值影响较大或看起来比较可疑的实例删除;
  • 或者直接删除分类器中分类错误的训练实例。

在具体实现方法上,如何判断异常值、可疑等特征,可以使用边界点发现之类的方法。
缺点:容易造成数据样本数量减少,特别是对于训练样本本来就少的应用或是非平衡分类问题。

3.2 基于最近邻的去噪方法

  • k k kNN本身原理来看,当 k k k比较小的时候,分类结果与近邻的样本标签关系很大。当发现若干样本分类错误都是由同一邻居引起的,则认为这个邻居样本可能是噪声;
  • k k kNN( k k k较小)是一种典型的噪声敏感模型,在噪声过滤中有一定优势;
  • 压缩最近邻CNN、缩减最近邻RNN、基于实例选择的Edited Nearest Neighbor等,也都可以用于噪声过滤。

3.3 集成去噪

集成分类方法对若干个弱分类器进行组合,根据结果的一致性来判断是否为噪声,也是一种较好的标签去噪方法。
对于给定的标签数据集,如何排除其中的噪声样本?主要的问题是集成分类器的选择和训练。根据所使用的训练数据,可以分为以下两类处理方法:

  • 使用具有相同分布的其他数据集,该数据集是一个干净、没有噪声的数据。
  • 不使用外部数据集,而是直接使用给定的标签数据集进行 K K K折交叉分析。

数据处理噪声,人工智能安全,人工智能,安全,算法
对于每一组划分得到数据集,分别训练基分类器,然后对于相应的测试集进行噪声检测。检测的方法有两种:

  • 对于一致投票而言,当所有的基分类器都同意删除某个样本时(也就是所有的基分类器都错分了该样本),它会被删除;
  • 对于多数投票,超过半数的基分类器错分的样本可视为标签噪声样本。

4 主动式过滤

主动式过滤:

  • 基于数据清洗的噪声过滤方法的隐含假设是噪声是错分样本,把噪声和错分样本等同起来。
  • 位于分类边界的噪声最难于处理,需要人工确认。

主动学习框架和理论为人类专家与机器学习的写作提供了一种有效的途径,它通过迭代抽样的方式将某种特定的样本挑选出来,交由专家对标签进行人工判断和标注,从而构造有效训练集的一种方法。
数据处理噪声,人工智能安全,人工智能,安全,算法
上图是一个主动学习框架,包括两个部分:训练和查询。

  • 在训练环节,利用学习算法对已标注的样本进行学习获得分类器模型。
  • 在查询环节,通过样本选择算法从训练数据中选择一些需要人工确认的样本(比如代表性样本、不确定性较高的样本),由专家进行标注确认。

查询策略如何选择需要人工确认的样本,就成为主动学习的核心问题。查询策略主要可以分为以下两类:

  • 基于池的样例选择算法;
  • 基于流的样例选择算法。

基于池的样本选择算法通过选择当前基准分类器最不确定其分类类别的样本进行人工标注,代表性的有:

  • 基于不确定性采样的查询方法;
  • 基于委员会的查询方法;
  • 基于密度权重的方法等。

基于流的样本选择算法按照数据流的处理方式,在某个时间窗内可以参照基于池的样本选择算法。

4.1 不确定性采样的查询

将模型难于区分的样本提取出来,具体在衡量不确定性时可以采用的方法有最小置信度、边缘采样和熵。
数据处理噪声,人工智能安全,人工智能,安全,算法
x L C ∗ = argmax ⁡ x ( 1 − P θ ( y ^ ∣ x ) ) = argmin ⁡ x P θ ( y ^ ∣ x ) x_{L C}^{*}=\operatorname{argmax}_{x}\left(1-P_{\theta}(\hat{y} \mid x)\right)=\operatorname{argmin}_{x} P_{\theta}(\hat{y} \mid x) xLC=argmaxx(1Pθ(y^x))=argminxPθ(y^x)

边缘采样是选择哪些类别概率相差不大的样本:
x M ∗ = argmin ⁡ x ( P θ ( y ^ 1 ∣ x ) − P θ ( y ^ 2 ∣ x ) ) x_{M}^{*}=\operatorname{argmin}_{x}\left(P_{\theta}\left(\hat{y}_{1} \mid x\right)-P_{\theta}\left(\hat{y}_{2} \mid x\right)\right) xM=argminx(Pθ(y^1x)Pθ(y^2x))
其中, y ^ 1 , y ^ 2 \hat{y}_1,\hat{y}_2 y^1y^2是样本 x x x的top 2归属概率的类别。
对于两个样本a,b的分类概率分别为(0.71,0.19,0.10)、(0.17,0.53,0.30) ,应当选择b,因为0.53-0.17<0.71-0.19。对于二分类问题,边缘采样和最小置信度是等价的。

基于熵采样:通过熵来度量,它衡量了在每个类别归属概率上的不确定。选择熵最大的样本作为需要人工判定的样本。
x H ∗ = argmax ⁡ x − ∑ i P θ ( y i ∣ x ) ⋅ ln ⁡ P θ ( y i ∣ x ) x_H^*=\operatorname{argmax}_x-\sum_i P_\theta\left(y_i \mid x\right) \cdot \ln P_\theta\left(y_i \mid x\right) xH=argmaxxiPθ(yix)lnPθ(yix)

4.2 基于委员会的查询

当主动学习中采用集成学习模型时,这种选择策略考虑到每个基分类器的投票情况。相应地,通过基于投票熵和平均KL散度来选择样本。
数据处理噪声,人工智能安全,人工智能,安全,算法
样本 x x x的投票熵计算时,把 x x x的每个类别的投票数当作随机变量,衡量该随机变量的不确定性。
x V E ∗ = argmax ⁡ x − ∑ i V ( y i ) C ⋅ ln ⁡ V ( y i ) C x_{V E}^*=\operatorname{argmax}_x-\sum_i \frac{V\left(y_i\right)}{C} \cdot \ln \frac{V\left(y_i\right)}{C} xVE=argmaxxiCV(yi)lnCV(yi)
其中 V ( y ) V(y) V(y)表示投票给y的分类器的个数, C C C表示分类器总数。投票熵越大,就越有可能被选择出来。

当每个基分类器为每个样本输出分类概率时,可以使用平均KL散度来计算各个分类器的分类概率分布与平均分布的平均偏差。偏差越大的样本,其分类概率分布的一致性越差,应当越有可能被选择出来。
x K L ∗ = argmax ⁡ x 1 C ∑ c = 1 C D ( P θ ( c ) ∥ P C ) x_{K L}^*=\operatorname{argmax}_x \frac{1}{C} \sum_{c=1}^C D\left(P_{\theta^{(c)}} \| P_{\mathcal{C}}\right) xKL=argmaxxC1c=1CD(Pθ(c)PC)

5 噪声鲁棒模型

5.1 AdaBoost的分析与改进

数据处理噪声,人工智能安全,人工智能,安全,算法
AdaBoost串接的基分类器中,越往后面,错误标签的样本越会得到基分类器的关注。
W m + 1 , i = W m i Z m e ( − β m y i G m ( x i ) ) W_{m+1, i}=\frac{W_{m i}}{Z_m} e^{\left(-\beta_m y_i G_m\left(x_i\right)\right)} Wm+1,i=ZmWmie(βmyiGm(xi))
当样本 x x x分类错误时,其权值以 e ( β m ) e^{(\beta_m)} e(βm)变化;而对于正确分类的样本以 e ( − β m ) e^{(-\beta_m)} e(βm)变化。
从上述算法流程可以看出, 0 ≤ e m ≤ 0.5 0 \leq e_m \leq0.5 0em0.5,相应地, β m ≥ 0 \beta_m\geq0 βm0。因此,对于,错误的样本的权重 > e ( 0 ) = 1 >e^{(0)}=1 >e(0)=1,而分类正确的样本的权值 ≤ e ( 0 ) = 1 \leq e^{(0)}=1 e(0)=1
数据处理噪声,人工智能安全,人工智能,安全,算法
经过t轮后得到的权重为 e ( β m 1 ) , e ( β m 2 ) , … , e ( β m t ) e^{(\beta_{m_1})}, e^{(\beta_{m_2})}, \dots, e^{(\beta_{m_t})} e(βm1),e(βm2),,e(βmt)。可见噪声样本的权重得到了快速增加而变得很大。
AdaBoost 算法的噪声敏感性归因于其对数损失函数,当一个样本未被正确分类的时候,该样本的 权值会指数型增加。
随着迭代次数的增加,由于算法会更多地关注于错分类的样本, 必然会使得噪声样本的权值越来越大,进而增加了模型复杂度,降低了算法性能。
删除权重过高的样本或调整异常样本的权重来降低标签噪声的影响。
MadaBoost:针对噪声样本在后期的训练权重过大的问题,算法重新调整了AdaBoost中的权值更新公式,设置了一个权重的最大上限1,限制标签噪声造成的样本权值的过度增加。

AdaBoost的损失函数改进:
各分类器稳健性差异的本质原因在于损失函数;
不同损失函数对噪声的稳健性差异:

  • 0-1损失或最小二乘损失对均匀分布噪声稳健;
  • 指数、对数型损失函数对各类噪声大都不稳健。

AdaBoost的损失函数:
L = ∑ n = 1 N e ( − y n F T ( x n ) ) = ∑ n = 1 N e [ − y n ( α T h T ( x n ) + F T − 1 ( x n ) ) ] L=\sum_{n=1}^N e^{\left(-y_n F_T\left(x_n\right)\right)}=\sum_{n=1}^N e^{\left[-y_n\left(\alpha_T h_T\left(x_n\right)+F_{T-1}\left(x_n\right)\right)\right]} L=n=1Ne(ynFT(xn))=n=1Ne[yn(αThT(xn)+FT1(xn))]
对于每次迭代,权重是一个常数:
L = ∑ n = 1 N w n ( T ) e [ − y n α T h T ( x n ) ] L=\sum_{n=1}^N w_n^{(T)} e^{\left[-y_n \alpha_T h_T\left(x_n\right)\right]} L=n=1Nwn(T)e[ynαThT(xn)]
where w n ( T ) = e ( − y n F T − 1 ( x n ) ) w_n^{(T)}=e^{\left(-y_n F_{T-1}\left(x_n\right)\right)} wn(T)=e(ynFT1(xn))

F T − 1 ( x n ) = ∑ t = 1 T − 1 α t h t ( x n ) F_{T-1}\left(x_n\right)=\sum_{t=1}^{T-1} \alpha_t h_t\left(x_n\right) FT1(xn)=t=1T1αtht(xn)
此处, h h h是分类器, α α α是分类器的权重

5.2 ndAdaBoost

数据处理噪声,人工智能安全,人工智能,安全,算法
(1)噪声样本被正确分类,表示为 x p x_p xp
(2)非噪声样本被正确分类,表示为 x q x_q xq
(3)噪声样本被错误分类,表示为 x k x_k xk
(4)非噪声样本被错误分类,表示为 x l x_l xl

预期目标:
数据处理噪声,人工智能安全,人工智能,安全,算法
ndAdaBoost的损失函数:
L ^ = ∑ n = 1 N w ^ n ( T ) e [ − y n α T h T ( x n ) ϕ T ( x n ) ] \widehat{L}=\sum_{n=1}^{N} \widehat{w}_{n}^{(T)} e^{\left[-y_{n} \alpha_{T} h_{T}\left(x_{n}\right) \phi_{T}\left(x_{n}\right)\right]} L =n=1Nw n(T)e[ynαThT(xn)ϕT(xn)]
此处 w ^ n ( T ) = e ( − y n ∑ t = 1 T − 1 α t h t ( x n ) ϕ t ( x n ) ) \widehat{w}_{n}^{(T)}=e^{\left(-y_{n} \sum_{t=1}^{T-1} \alpha_{t} h_{t}\left(x_{n}\right) \phi_{t}\left(x_{n}\right)\right)} w n(T)=e(ynt=1T1αtht(xn)ϕt(xn)) ϕ t ( x n ) = sgn ⁡ ( μ ˉ t − μ t ( x n ) ) \phi_{t}\left(x_{n}\right)=\operatorname{sgn}\left(\bar{\mu}_{t}-\mu_{t}\left(x_{n}\right)\right) ϕt(xn)=sgn(μˉtμt(xn)) μ t ( x n ) \mu_{t}\left(x_{n}\right) μt(xn)表示样本 x n x_n xn为噪声的概率,即样本为噪声的置信度, μ ˉ t = ∑ n = 1 N μ t ( x n ) N \bar{\mu}_{t} = \frac{\sum_{n = 1}^N \mu_{t}\left(x_{n}\right)}{N} μˉt=Nn=1Nμt(xn)
在这样的损失函数下:文章来源地址https://www.toymoban.com/news/detail-717185.html

  • (1)如果样本 x n x_n xn被错误分类
    在误分的样本中,噪声数据比非噪声数据所占的比例更大。不正确分类的样本噪声越大,其损失函数值越小。
    L ^ = ∑ ϕ t = + 1 W ^ n ( t ) e α t + ∑ ϕ t = − 1 W ^ n ( t ) e − α t \widehat{\mathbf{L}} = \sum_{\phi_t = +1} \widehat{W}_n^{(t)} e^{\alpha_t} + \sum_{\phi_t = -1} \widehat{W}_n^{(t)} e^{- \alpha_t} L =ϕt=+1W n(t)eαt+ϕt=1W n(t)eαt
  • (2)如果样本 x n x_n xn被正确分类
    在正确分类的样本中,非噪声数据倾向于最小化损失函数,也就是说非噪声数据尽可能多地成为正确分类。
    L ^ = ∑ ϕ t = − 1 W ^ n ( t ) e α t + ∑ ϕ t = + 1 W ^ n ( t ) e − α t \widehat{\mathbf{L}} = \sum_{\phi_t = -1} \widehat{W}_n^{(t)} e^{\alpha_t} + \sum_{\phi_t = +1} \widehat{W}_n^{(t)} e^{- \alpha_t} L =ϕt=1W n(t)eαt+ϕt=+1W n(t)eαt

5.3 损失函数设计与选择

  • 0-1损失函数
  • 平均绝对误差MAE
  • 均方误差MSE
  • 均方根误差RMSE
  • 交叉熵损失
  • 指数损失
  • 对数损失
  • Hinge损失函数

到了这里,关于人工智能安全-3-噪声数据处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从数据处理到人工智能(常用库的介绍)

       ​​​​​​​​​​​​  可以这么理解pandas通过扩展了对一维数据和二维数据的一种表示,因而能够形成更高层对数据的操作,简化数据分析的运行  Matplotlib — Visualization with Python   seaborn: statistical data visualization — seaborn 0.12.2 documentation (pydata.org)   Mayavi: 3D scien

    2023年04月27日
    浏览(42)
  • 人工智能:数据分析之数据预处理、分析模型与可视化

    在人工智能和数据科学领域,数据分析是一种核心过程,它帮助我们从大量的数据中提取有价值的信息。数据分析的质量和结果直接影响到决策的效率和准确性。在这篇博客中,我们将详细探讨数据分析的关键步骤,包括数据预处理、分析模型和可视化,并通过实际应用案例

    2024年03月10日
    浏览(76)
  • Java在物联网领域的应用非常广泛,涵盖了设备连接、数据处理、应用程序开发、安全性、嵌入式系统开发、消息队列和流处理、机器学习和人工智能以及跨平台和多语言集成等方面

    Java作为一种通用编程语言,在物联网(IoT)领域的应用也非常广泛。以下是一些Java在物联网中的典型应用: 开发物联网应用程序 :Java是一种高级编程语言,具有丰富的库和工具,使得开发物联网应用程序变得容易。Java可以用于开发各种物联网应用程序,如智能家居、智能

    2024年02月03日
    浏览(78)
  • 数据预处理与模型评估【机器学习、人工智能、实际事例】

    在机器学习领域,数据预处理和模型评估是两个至关重要的步骤。它们确保我们构建的机器学习模型能够从数据中有效地学习并做出准确的预测。本文将详细介绍数据预处理和模型评估的概念,并通过现实中的例子来阐述它们之间的密切关系。 什么是数据预处理? 数据预处

    2024年02月07日
    浏览(67)
  • 人工智能与大数据面试指南——自然语言处理(NLP)

    分类目录:《人工智能与大数据面试指南》总目录 《人工智能与大数据面试指南》系列下的内容会 持续更新 ,有需要的读者可以 收藏 文章,以及时获取文章的最新内容。 自然语言处理(NLP)领域有哪些常见任务? 基础任务 中文分词:将一串连续的字符构成的句子分割成

    2024年02月11日
    浏览(64)
  • 数据预处理的人工智能与深度学习:如何提高模型性能

    数据预处理是人工智能(AI)和深度学习(DL)领域中的一个关键环节,它涉及到数据清洗、数据转换、数据归一化、数据增强等多种操作,以提高模型性能。在过去的几年里,随着数据规模的增加和复杂性的提高,数据预处理的重要性得到了广泛认识。本文将从以下几个方面进行

    2024年02月19日
    浏览(79)
  • AI人工智能预处理数据的方法和技术有哪些?

    在人工智能(Artificial Intelligence,简称AI)领域中,数据预处理是非常重要的一环。它是在将数据输入到模型之前对数据进行处理和清洗的过程。数据预处理可以提高模型的准确性、可靠性和可解释性。 本文将详细介绍AI人工智能预处理数据的方法和技术。 数据清洗是数据预

    2024年02月14日
    浏览(59)
  • 构建高性能云原生大数据处理平台:融合人工智能优化数据分析流程

    🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:大数据系列 ✨文章内容:云原生大数据 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗 在云计算环境中构建高性能的云原生大数据处理平

    2024年02月11日
    浏览(52)
  • 《人工智能-机器学习》数据预处理和机器学习算法(以企鹅penguins数据集为例)

    本项目使用到的数据集链接: https://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/6tree/penguins_raw.csv 加载给定或者自行选定的数据集,对数据进行查看和理解,例如样本数量,各特征数据类型、分布、特征和标签所表达的含义等,然后对其进行数据预处理工作,包括但不限于对敏感数据

    2024年02月10日
    浏览(61)
  • 【比赛记录】国电投-光伏电站人工智能运维大数据处理分析比赛

            DataFountain平台举办的比赛,赛题:光伏电站人工智能运维大数据处理分析。以下是比赛链接:光伏电站人工智能运维大数据处理分析 Competitions - DataFountain         在分析光伏发电原理的基础上,论证了辐照度、光伏板工作温度等影响光伏输出功率的因素,通过实

    2024年02月02日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包