一种基于C4.5决策树的手机特征检测优化改进算法的制作方法

文档序号:17928129发布日期:2019-06-15 00:34阅读:421来源:国知局

本发明属于电子类机器学习算法领域,具体地说是一种基于c4.5决策树的手机特征检测优化改进算法。



背景技术:

近些年来,随着手机的普及以及手机应用的多样化,手机在人类生活中起着越来越重要的作用。然而伴随着手机的高速发展,手机所面临的威胁也越来越多。4g网络的大范围使用,手机功能的日益强大,手机与日常生活的联系日益紧密,这些都是威胁原来越多的重要原因。截止今年,我国的手机用户已达12.56亿人,已经覆盖了绝大部分人群。同时,根据中科院2010年的《智能手机用户对手机安全威胁的感知与应对行为》中可以看到,68.6%的手机用户存在着安全威胁,所以大部分用户都面临着手机安全的风险。

由于手机的使用越来越普遍,手机安全也变得越来越重要。研究者们也使用很多方法来防止手机病毒或者垃圾短信等一些传统的对手机的威胁。而近些年来,手机被盗用已成为威胁手机安全的重要原因之一,然而现如今可以保护手机免于陌生人使用的方法或工具很少。



技术实现要素:

本发明所要解决的技术问题是克服上述现有技术存在的缺陷,提供一种基于c4.5决策树的手机特征检测优化改进算法,其通过分析记录手机用户的使用特征,并将当前手机使用者的特征与手机用户的特征进行匹配,从而判断出手机的用户是否合法,使手机不会被第三方用户非法使用。

为此,本发明采用如下的技术方案:一种基于c4.5决策树的手机特征检测优化改进算法,在c4.5算法基础上,对各个因子计算信息增益和信息增益比的过程中,针对不同因子的划分给予一个权重参数β,定义如下:

对于每一个不同的因子a,假设在按照因子a划分之后得到的n个不同子集对应着n个不同的结果a′={a1,a2,...,an},于是假设对于因子a的不同结果的权重参数为aβ={β1,β2,...βn},那么整个因子a的权重参数为βa=β1+β2+...+βn;

对于给定的几个s,集合s更新后的熵为:

其中s表示给定的集合,p′i表示新的子集si的样本数量占总样本数量的比例,m表示s的子集数量,si表示s的具体第i个子集,βi为子集si的权重参数;

在按照因子a划分之后,新的划分之后的几个s的熵为:

其中s′oi=βis′i,so=∑βnsn,s′i表示根据a因子划分后s的具体第i个子集,s′oi为根据a因子得到的新的子集乘以权重后的结果,so表示所有子集乘以权重之和,n为新的子集数量,sn表示集合s的第n个新子集;

所以因子a的信息增益为:

那么因子a的信息增益比为:

其中更新后的集合s按照a因子划分得到的分裂信息度为:

进一步地,在对权重参数β进行训练的过程中,先将β设置成一个默认值,再根据这个β计算得出决策树,之后将训练结果和测试结果进行对比;如果其中有误差生成,训练得到的分类为m,而实际分类为n,那么就将训练参数βm向βn调整一定的幅度γ,使误差变小。

进一步地,在计算误差的时候,损失函数将设置为:l(s)=c(s)+α′|s|+α″|β|,防止β过度拟合而造成实际误差的变大,其中,α′为步进速率,α″为学习速率,c为决策树的训练误差。

本发明所述方法是通过在现有c4.5算法基础上,针对不同因子的划分给予一个权重参数,使得不同因子的信息增益度数据差异相比于之前更大,从而提升机器学习对不同用户使用特征差异性的识别。

相较于现有c4.5算法而言,改进后的算法同的因子划分后的子集之间相比于之前产生了更大的差异,从而使得不同因子划分得到的信息增益和信息增益比差别变大,增加了结果的可信度。

本发明旨在通过改进优化c4.5决策树机器学习算法提升手机特征检测准确率,更加精准识别手机的非法使用操作。

具体实施方式

下面结合实施例来对本发明进行进一步说明,但本发明的保护范围不限于下述实施例。在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和变更,都落入本发明的保护范围。

本实施例提供一种基于c4.5决策树的手机特征检测优化改进算法,在现有c4.5算法基础上,对各个因子计算信息增益和信息增益比的过程中,针对不同因子的划分给予一个权重参数β,定义如下:

对于每一个不同的因子a,假设在按照因子a划分之后得到的n个不同子集对应着n个不同的结果a′={a1,a2,...,an},于是假设对于因子a的不同结果的权重参数为aβ={β1,β2,...βn},那么整个因子a的权重参数为βa=β1+β2+...+βn;

对于给定的几个s,集合s更新后的熵为:

其中s表示给定的集合,p′i表示新的子集si的样本数量占总样本数量的比例,m表示s的子集数量,si表示s的具体第i个子集,βi为子集si的权重参数。

在按照因子a划分之后,新的划分之后的几个s的熵为:

其中s′oi=βis′i,so=∑βnsn,s′i表示根据a因子划分后s的具体第i个子集,s′oi为根据a因子得到的新的子集乘以权重后的结果,so表示所有子集乘以权重之和,n为新的子集数量,sn表示集合s的第n个新子集。

所以因子a的信息增益为:

那么因子a的信息增益比为:

其中更新后的集合s按照a因子划分得到的分裂信息度为:

进一步地,在对权重参数β进行训练的过程中,先将β设置成一个默认值,再根据这个β计算得出决策树,之后将训练结果和测试结果进行对比;如果其中有误差生成,训练得到的分类为m,而实际分类为n,那么就将训练参数βm向βn调整一定的幅度γ,使误差变小。

进一步地,在计算误差的时候,损失函数将设置为:l(s)=c(s)+α′|s|+α″|β|,防止β过度拟合而造成实际误差的变大,其中,α′为步进速率,α″为学习速率,c为决策树的训练误差。

为了对本发明提出的基于改进的c4.5的手机特征检测决策树算法进行评估,表现出该方法的优越性,这里选择未修改的c4.5算法和id3算法作为改进的c4.5算法(即本发明)的对比算法。c4.5算法为现有的公知算法。id3算法整体与c4.5算法类似,所不同的是在进行节点分裂时,c4.5算法选择的是信息增益比最大的特征进行分裂,而id3算法选择的是信息增益最大的特征进行分裂,即如果按照a因子对集合s进行划分,那么按照a因子划分之后的信息增益为g(a),那么在比较不同因子的信息增益g之后,选择其中最大的信息增益g(x)所对应的因子x,以该因子x作为该节点划分的特征。实验结果如下表所示:

三种不同算法的准确率、召回率以及f值对比

从实验结果中可以看出:

1、三种算法的准确率,召回率和f值都要大于0.5,可以得出三种决策树算法都可以一定程度上有效地对使用手机的用户进行判断,说明决策树算法在手机的特征检测上是可行的;

2、现有c4.5算法和改进的c4.5算法在准确率、召回率和f值上都要大大高于id3算法,这说明相比于使用信息增益,使用信息增益比将大大提高模型的精确性。造成这个的原因可能是因为信息增益量并不能完全地体现出不同信息的差异。在本实验中,不同因子之间的差异性十分大,如果只是使用信息增益量,某些因子可能会存在单纯的增益数值增加特别多,而实际上增加比例较少的情况,而这与实际情况可能恰恰相反,最终也许就会造成判断上的错误。所以使用信息增益比来代替信息增益会更加合理,从而使得预测的准确率,召回率和f值大大上升。

3、与现有c4.5算法相比,改进的c4.5算法在准确率、召回率和f值方面有略微提升。这说明为每个因子增加参数的方法是有效的,相比而言该方法计算得到的熵值会更加准确,因而信息增益比也会更加准确,最终使得预测精度略微上升。但是c4.5算法和改进的c4.5算法差异并不大,说明该改进算法也只是略微提升了部分性能,并没有从根本上改进基于c4.5的决策树模型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1