赞
踩
代价敏感的学习是分类中错误产生导致不同的惩罚力度时该如何训练分类器。通常,不同的代价用一个 N × N N×N N×N的矩阵 C o s t Cost Cost表示,其中 N N N 是类别的个数。 C o s t [ i , j ] Cost_{[i, j]} Cost[i,j]表示将一个$i 类 的 对 象 错 分 到 类的对象错分到 类的对象错分到j$ 类中的代价。代价敏感分类就是为不同类型的错误分配不同的代价,使得在分类时,高代价错误产生的数量和错误分类的代价总和最小。常用的方法有如下几种。
其中 按照对问题的解决方法的不同,代价敏感学习的算法研究又可以分成三类。
第一类代价敏感的学习方法关注于如何直接构造一个代价敏感的学习模型,对不同的分类器模型研究者们提出了不同的解决办法,它们包括
(1)决策树:Knoll 等和Bradford 等为决策树提出了代价敏感的剪枝方法,Bradford 等研究了在代价敏感的条件下如何对决策树进行剪枝使得损失达到最小,研究表明基于拉普拉斯方法的剪枝方法能够取得最好的
效果,Drummond 和Holte 研究了代价敏感学习的决策树的节点分裂
方法。
(2) Boosting:Fan 等研究着提出了代价敏感的Boosting 算法Ada-Cost
(3)神经网络:Geibel 和Wysotzki 提出了基于Perceptron 分类算法的代价敏感的学习方法,在文章中作者对不可分的类提出了代价敏感的参数更新规则。例如Kukar和Kononenko为神经网络提出了新的后向传播算法,使之能够满足代价敏感学习的要求。
(4) Fumera 和Roli[37]以及Bradford 等从结构风险最小的角度来看代价敏感问题,提出了代价敏感的支持向量机分类算法。
第二类代价敏感的学习方法基于对分类结果的后处理,即按照传统的学习方法学习一个分类模型,然后对其分类结果按照贝叶斯风险理论对结果进行调整,以达到最小的损失。和第一类代价敏感学习方法相比,这种方法的优点在于其不依赖于所使用的具体的分类器。Domingos 提出了一种叫做MetaCost 的过程,它把底层的分类器看成一个黑箱子,不对分类器做任何的假设和改变,MetaCost可以应用到任何个数的基分类器和任何形式的代价矩阵上。给定一个样例x,基分类器得出它属于第j个类的概率为Pr(j|x),这样,认为x 属于第i个类的贝叶斯最优预测的风险为:R(i|x) = ΣP(j|x)C(i,j)(C(i,j)是把属于类别j的分为类别i的代价)。
第三种代价敏感的学习方法基于传统的学习模型,通过改变原始训练数据的分布来训练得到代价敏感的模型。Chan 和Stolfo 提出了层次化模型(Stratification),把分布不均匀的训练数据调整为正负例均匀分布的数据。Zadrozny等研究者基于cost-proportionate 的思想,对训练数据调节权值,在实际应用中,其类似于Boosting 算法,可以通过为分类模型调节权值来进行实现,又可以通过采样(subsampleing)来实现。Abe 等提出了对多类分类问题中如何实现代价敏感的学习进行了探讨,提出了一种新的迭代学习方法。
下面是本人瞎写的一种基于代价敏感学习的防作弊方法
用较为常见的一维度数据展示基于代价敏感的卷积神经网络:
η
=
a
n
1
b
n
2
n
=
n
1
+
n
2
\eta=\frac{\frac{a}{n_1}}{\frac{b}{n_2}} \\ n=n_1+n_2
η=n2bn1an=n1+n2
其中n为样本总数,
n
1
n_1
n1,
n
2
n_2
n2分别表示一维样本中的两个不同群体,其中
a
a
a,
b
b
b又分别是
n
1
n_1
n1,
n
2
n_2
n2中符合某种条件/不符合某种条件的样本。
但是其中是由于数据不准确导致 a a a存在虚假数据,因此以上公式可以认定是不正确的,使用代价敏感卷积神经网络的将其正确分类的其步骤是:
获取一维特征数据集的步骤:对包含样本群体与是否符合条件的原始数据集进行分析,利用统计方法提取样每个样本的特征,获得一维特征数据集;
构造特征矩阵的步骤:利用多粒度的时间窗口将一维特征转换成特征矩阵;
分类预测训练的步骤:将特征矩阵数据集作为输入,选择卷积神经网络结构进行分类
预测训练;在输出层引入代价敏感机制,利用阈值移动进行反向传播;
利用训练好的分类预测。
代价敏感卷积神经网络
(全连接层以及层数表示有点问题)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。