郭淼彬文翻译成英文怎么念

C4.5算法的核心思想与ID3完全相同但茬实现方法上做了更好的改进,并增加了新的功能主要包括:采用增益比例来选择分裂公开属性类别、对连续公开属性类别的处理、对样本公开属性类别值缺失情况的处理、规则的产生、交叉验证等。

如前所述ID3是采用信息增益来选择分裂公开属性类别的。虽然這是一种有效地方法但其具有明显的倾向性,即它倾向于选择具有大量不同取值的公开属性类别从而产生许多小而纯的子集。尤其是關系数据库中作为主键的公开属性类别比如用户交友数据集中每个用户的一个唯一标识ID,每个样本都有会一个不同的取值如果以这样嘚公开属性类别作为分裂公开属性类别,那么将产生非常多的分支而且每一个分支产生的子集的熵均为0(因为子集中只有一个样本)。顯然这样的决策树是没有实际意义的。因此Quinlan提出使用增益比例来代替信息增益。

S是由s个样本组成的数据集AS的某个公开属性类别,有v个不同的取值这样可以把S划分为v个自己,Si表示第i个子集i=1,2,,v|Si|表示子集Si中的样本数量定义:

公开属性类别A分裂公开属性类别集的廣度性和均匀性。样本在公开属性类别A上的取值分布越均匀Split_info(S,A)值越大。增益比例定义为:

C4.5选择增益比例最大的作为分裂公开属性类别

显嘫,公开属性类别A分裂数据集的广度越大均匀性越强,其Split_info就越大增益比例就越小。因此通过该分裂度量计算方法可以消除选择那些值較多且均匀分布的公开属性类别作为分裂公开属性类别的倾向性

ID3最初的定义假设数据集的各公开属性类别都必须是离散的。如果有连续公开属性类别则可以采用划分区间的方法来离散化。假如在前面的交友偏好例子中公开属性类别年龄由于是连续型公开属性类别,被划分为“<20”、“[20,30]”、“>303个区间这样公开属性类别年龄 的不同取值就只有3个了,这就是被离散化的过程在C4.5中,算法采用另外┅种方法来实现连续公开属性类别的离散化

设数据集中有一连续公开属性类别Y,现要测试是否可以选用该公开属性类别来对数据集进行汾裂以及如何分裂(即通过计算信息增益或增益比例来确认Y是否可以作为分裂公开属性类别如果可以,还要确定分裂谓词)

例如在表3-3所示的训练数据集中,如果要计算年龄公开属性类别的信息增益则首先将不同的公开属性类别值排序{2025284046555658606570},那么鈳能的阈值集合为{2025284046555658606570}从中一一取出,并形成分裂谓词例如取出“20”,形成谓词“<=20”和“>20”用它们划分训练数据集,然后计算信息增益或增益比例

ID3是基于所有公开属性类别值都已经确定这一假设的。但是在实际应用中经常会因为搜集样本时有的樣本数据不完整,或者输入数据是有人为的误差等原因一个数据集中会有某些样本缺少一些公开属性类别值。

在用一个公开属性类别对數据集进行划分时必须知道一个样本属于哪一类(以便于计算每类有多少个样本,进而计算该公开属性类别的信息增益)这是根据这個样本的公开属性类别值来决定的,但是由于公开属性类别值缺失那么该如何判断这个样本属于哪一类呢?

 C4.5并不会武断地将一个有缺省徝的样本抛弃(当然样本数量很大的时候可以这么做),也不会随意地将它分配到某个类别中去C4.5会根据其他已知公开属性类别值来计算一个有缺失值的样本属于某个类别的概率,这个样本可以属于每一个类只是概率不同而已。

C4.5采用的修剪方法是所谓的后剪枝即待决策树完全生长结束之后,再来修剪掉那些对分类精度贡献不大的叶子节点

对于某个节点,计算该节点分裂之前的误分类损失(由于錯误地预测了样本的类别而导致的损失)和分裂成子树之后的误分类损失如果分裂后的误分类损失没有得到显著降低,就可以考虑修剪掉这棵子树

在计算分类精度之前,用户可以自行定义各种误分类损失的权重例如A类样本被误分类为B类导致的损失B类样本误分類为A类导致的损失要大得多,在这种情况下就可以通过设置误分类损失的权重来加以区分

下面介绍一种常见的代价复杂性剪枝(CART剪枝算法)。

 对于树中的每一个非叶子节点计算它的表面误差率增益值α

其中|NTt|是子树中包含的叶子节点个数R(t)是节点t的误差代价,如果该節点被剪枝则

r(t)是节点t的误差率;p(t)是节点t上的数据占所有数据的比例。R(Tt)是子树Tt的误差代价如果该节点不被剪枝。它等于子树Tt上所有叶子節点的误差代价之和

采用该剪枝策略的优点在于1. 避免训练数据过拟合;2.转化的叶子节点相比其他剪枝算法有更高的准确率和支持率。

用決策树分类是有监督学习的算法通过学习可以对未知的数据进行预测。在训练过程开始之前将一部分数据保留下来,在训练之后利鼡这部分数据对学习的结果进行验证,这种模型评估方法称为交叉验证如果将这个学习-验证的过程重复k次,就称为k次迭代交叉验证首先将所有训练数据平均分成k份,每次使用其中一份作为测试样本其余的k-1份数据作为学习样本,然后选择平均分类精度最高的树作为朂后的结果通常,分类精度最高的树并不是节点最多的树另外,交叉验证还可以用于决策树的修剪在树的构建过程中要构建k棵决策樹会加大该方法计算量。

在交友类产品中每个用户都有着自己的偏好,从而拥有各自不同的交友圈和感兴趣的对象因此,个性化的用戶偏好模型建立在交友平台中往往起着举足轻重的作用而个性化的用户偏好决策树可以很好地满足以上需求。

系统通过学习用户的个性囮交友偏好行为(偏向喜欢或厌恶那类用户)运用决策树模型为每个用户生成一个个性化的交友偏好模型,并对候选推荐列表进行分类鉯及排序

交友平台中每个用户往往有一系列公开的,即可以被其他用户所看到的公开属性类别值如年龄,所在地职业,兴趣头像照片等等。

3.1中列出了可以用做构建决策树的用户公开公开属性类别以及说明

(1)  正反馈,指的是用户觉得喜欢的对象在交友平台上产生嘚表现行为有:点赞、送礼物、收藏、发送消息等等;

(2)  未有显著反馈, 即用户觉得无所谓的对象在交友平台上产生的表现行为往往表现為:点击该对象之后就没有下文了,或者连点都不点即所谓的未有显著反馈用户是指仅有点击行为或者未点击的没有正、负反馈的用户

(3)  負反馈,即用户不喜欢的对象在交友平台上产生的表现行为有将用户拖入不感兴趣列表,直接屏蔽或者拉黑用户等等

以下实际应用中為某个用户建立的决策树结果图

图中,圆形节点代表分裂节点各节点标有训练样本的数量,分裂公开属性类别以及各类别样本分布方框节点代表叶子节点,标有样本的数量叶子节点所属类别,样本的分布以及准确率

其中,按图中用红线标出的一条从根节点到叶子节點的路径含义为:对于该用户来说,某个用户若其学历公开属性类别在字典项(3,4)中的(第1层)职业公开属性类别为字典项(6,9)中的(第2层),身高小于166cm的(第3层)被分为正反馈类型,该次分类训练准确率为100%

构建完成每个用户的个性偏好决策树模型之后,就可以利用该模型對未知的目标进行分类从而在推荐或者其他展示模块中,优先展示用户更加喜欢的对象

实际证明,运用该模型对用户进行候选集的推薦比仅仅利用活跃度或者热门度等单一指标进行排序推荐有着更高的一次转化率以及二次转化率。

值得注意的是实际应用中用户的偏恏群体往往没有严格固定的统一目标公开属性类别,因此决策树的剪枝必不可少否则很容易建立一棵层次过深的过度拟合的树。

本文主偠介绍了决策树在交友类产品中的应用通过一个用户偏好关系的实例详细阐述了决策树的构建过程,并给出了用决策树建立用户偏好模型以及用户关系模型建立的两大应用在实际交友平台中,还可以结合决策树的特点有着更多具体的应用如用户关系模型、潜在消费用戶模型、用户标签匹配模型等等一系列相关模型,在此不一一赘述

本涉及人工智能、数据挖掘和机器学习领域具体涉及一种多标准误分类代价敏感决策树构建方法。

在归纳学习技术中如何尽量减少误分类错误是主要焦点例如CART和C4.5。在歸纳问题上误分类不仅是一个错误即错误分类所带来的代价不容忽略。在代价敏感学习CLS算法中误分类代价为同一单位标准,但在现实卋界的应用程序误分类代价通常有不同的单位把不同单位标准的误分类代价量化成一个唯一单位代价是非常困难的。分裂公开属性类别選择是决策树构建的一个关键又基本过程最流行的公开属性类别选择方法侧重于测量公开属性类别的信息增益。当错误分类所引起的代價不容忽视时很自然地把降低代价机制和公开属性类别信息结合起来作为分裂公开属性类别选择标准,这样构成的决策树既提高了分类精度同时误分类代价达到最优,我们的目的就是得到最低的误分类代价这样形成的决策树更适合在医疗诊断过程中。基于这种需求夲发明提出多标准误分类代价敏感决策树构建方法。

本发明所要解决技术问题是决策过程中误分类代价和公开属性类别信息之间的平衡性問题、误分类代价不同单位机制问题以及构成的决策树过度拟合问题提供一种多标准误分类代价敏感决策树构建方法。

为解决上述问题本发明的是通过以下技术方案实现的:

多标准误分类代价敏感决策树构建方法,包括如下步骤:

步骤1.设训练集中有X个样本公开属性类別个数为n,即n=(s1s2,…sn),同时分裂公开属性类别sr对应了m个类L其中Li∈(L1,L2…Lm),r∈(1,2…n),i∈(12…,m)设误分类代价矩阵为C,C由用户指定

步骤2:创建根节点G。

步骤3:如果训练数据集为空则返回节点G并标记失败。

步骤4:如果训练数据集中所有记录都属于同一类别则以该类型标記节点G。

步骤5:如果候选公开属性类别为空则返回G为叶子节点,标记为训练数据集中最 普通的类

步骤6:根据代价敏感的候选公开属性類别选择因子ASF候选公开属性类别中选择splitS。

候选公开属性类别选择因子ASF:

averagegain(S)为选择公开属性类别S的平均信息增益reduce_mc(S)为选择公开属性类别S作为分裂公开属性类别时的误分类代价减少率。

当选择公开属性类别splitS满足目标函数ASF(S)最小时则找到标记节点G。如果一些公开属性类别具有相同的ASF徝为了打破平局的标准,再按照更大的reduce_mc(S)值来优先选择候选公开属性类别这样构建的决策树优先遵从误分类代价最低的原则。

步骤7:标記节点G为公开属性类别splitS

步骤8:由根据基尼指数gini(Si)值延伸出满足条件为splitS=splitSi分支。

8.1这里假设Yi为训练数据集中splitS=splitSi的样本集合满足以下两条件之┅,则终止建树

(1)如果Yi为空,加上一个叶子节点标记为训练数据集中最普通的类。

(2)在一节点中所有例子属于相同类

步骤9:非8.1中情况,則递归调用步骤6至步骤8

步骤10:为避免决策树中存在过渡拟合问题,利用后剪支技术对决策树进行剪支操作

1,对公开属性类别信息增益進行优化处理避免因公开属性类别信息增益过小而忽略了公开属性类别信息的风险。

2把不同单位标准的误分类代价量化为同一单位标准,降低了误分类代价单位异质性对分裂公开属性类别选择的影响

3,考虑了误分类代价和公开属性类别信息之间的平衡性在决策过程Φ,使得误分类代价达到最小同时提高了决策树分类精度。

4构建多标准误分类代价敏感决策树有效地避免了过度拟合的问题。

附图为哆标准误分类代价敏感决策树结构流程图

1、上述步骤1中误分类代价矩阵C的设定过程如下:

类别标识个数为m则该数据的代价矩阵m×m方阵是:

其中Cij表示第j类数据分为第i类的代价,如果i=j为正确分类则Cij=0,否则为错误分类Cij≠0,其值由相关领域用户给定,这里ij∈(1,2…,m)

2、上述步骤6中求解候选公开属性类别选择因子ASF,需求解出候选公开属性类别S的平均信息增益averageGain(S)、误分类代价减损率reduce_mc(S)其具体求解过程如下:

其中m为訓练集X的类个数,p(Li)为训练集X对应Li类的概率

根据基尼指数gini(X)定义,公开属性类别S的信息增益为:

其中gini(S,X)表示当公开属性类别S作为分裂公开属性類别分裂后在所有类中剩余的基尼指数即:

这里公开属性类别S有j个公开属性类别值,则第j个公开属性类别值样本数为Xj即Xj>0;

p(Li)为公开属性类别值Sj对应的类概率。

即候选公开属性类别S的信息增益:

其中j为公开属性类别S的公开属性类别值个数即分支节点个数。

mc是在候选公开属性类别S分裂前的误分类代价这里S有j个分支,则表示候选公开属性类别S分裂之后总的误分类代价

reduce_mc(S)作用:把误分类代价不同单位机制量化為同一单位,降低了误分类代价单位异质性对分裂公开属性类别选择的影响

步骤6.5分裂公开属性类别选择因子ASF

(2averagegain(S)-1)作用:对公开属性类别信息增益进行优化处理,避免因公开属性类别信息增益过小而忽略了公开属性类别信息的风险

ASF(S)能够很好的平衡由于误分类代价以及平均信息增益之间存在的异构难题,把公开属性类别分类能力与误分类代价共同融合进行候选公开属性类别选择可以更好提高分类精度和降低误汾类代价。

3、上述步骤8中求解基尼指数gini(Si)其具体求解过程如下:

设训练数据集X,其类有m个,那么其gini指标为:

其中p(Li/Si)为分裂公开属性类别Si属于Li类嘚相对频率当gini(Si)=0,即在此结点处所有样例都属于同一类表示能得到最大有用信息;当此结点所有样例对于类别字段来讲均匀分布时,gini(Si)朂大表示能得到最小的有用信息。

4、上述步骤10中利用后剪支技术对决策树进行剪支目的是减少误分类,如悲观性错误剪枝和最小错误剪枝悲观性错误剪枝通过比较剪枝前和剪枝后的错分样本数来判断是否剪枝,指在减少错分样本数最小错误剪枝指在通过剪枝得到一棵相对于独立数据集来说具有最小期望错误率的决策树。

α为用户指定的值,剪枝的条件首先要满足尽可能使代价减损达到用户指定条件。

多标准误分类代价敏感决策树构建方法的伪代码如下:

输入:X个样本训练集训练集的误分类代价矩阵C。

输出:多标准误分类代价敏感決策树

我要回帖

更多关于 郭淼彬 的文章

 

随机推荐