##

资料分享 技术文章

Splunk Machine Learning Toolkit在分类问题上的应用(二)

Posted on 2018年01月5日

在前面的文章中我们介绍了LogisticRegression分类算法,这次我们介绍一下更为强大的支持向量机(Support Vector Machine)。支持向量机在许多问题中都被证实有较好的效果,被认为是适应性最广的分类器之一。

最大间隔分类器

我们先看一个二分类问题,在二维空间中,H1、H2、H3是一个超平面,其中H1不能把类别分开,H2可以,但只有很小的间隔,H3以最大间隔把他们分开。

很容易计算每个样本和特定分割超平面的垂直距离,这些距离中最小值就是样本和分割超平面的距离,这个距离称为间隔。最大间隔超平面就是距离最大的分割超平面。上图中H3为最大间隔超平面。我们可以通过判断样本落在最大间隔超平面的那一侧来确定样本类别。这就是最大间隔分类器,我们看一下它的数学描述。

二维空间中,超平面定义为:

对使得等式成立的任意X = (X 1 , X 2 ) T都在超平面上

扩展到p维空间:

对使得等式成立的任意X = (X 1 , X 2 , . . . , X p ) T也落在超平面上

假设存在X不满足以上等式,如果

那么X位于超平面的一侧,如果

那么X位于超平面的另一侧。

如果是最大间隔超平面的系数,那么最大间隔分类器就是根据方程的符号对样本X进行分类。

上图中实线表示最大间隔超平面,虚线表示间隔的宽度,有3个样本到最大间隔超平面的距离是一样的,并且都在虚线上,它们称为支持向量,当它们的位置稍微移动,最大间隔超平面也随之移动。

对于n个训练样本,对于的类别标签的最大间隔分类器问题为优化间隔M

满足

这两个条件保证了每个样本都落在超平面的正确一侧,并且间隔至少为M。

上图表示样本线性不可分的情况。如果分割超平面存在,那么最大间隔分类器是比较方便的方法,但是在很多情况下不能完全把这两类分割开来,最大间隔分类器在线性不可分的情况下的推广称为支持向量分类器。

支持向量分类器

支持向量分类器是一种软间隔分类器,它允许一些样本落到错误的一侧,即间隔错误的一侧或超平面错误的一侧。落在间隔上和落在间隔错误的一侧的样本称为支持向量。

支持向量分类器的描述,优化最大间隔M

满足

C为非负调节参数,M为间隔宽度,为松弛变量,它允许少量测试样本落在间隔错误的一侧或超平面错误的一侧。调节参数C较大的时候,间隔较宽,穿过间隔的样本比较多,支持向量的数目也比较多。

支持向量机

支持向量机使用核函数扩展特征空间,它是支持向量分类器的一个扩展。

线性支持向量分类器可以描述为:

α i,i=1,2,…,n是对每个测试样本的参数,我们用式子

代替内积,这里K就是核函数,它是衡量样本之间相似性的函数,常用的核函数有:

线性核函数

自由度为d的多项式核函数

径向核函数

回到Splunk MLTK中,我们看一下上次提到例子,利用防火墙流量日志判定用户恶意行为,这次我们选定SVM算法:

可以看出,查准率、查全率都达到0.96, SVM明显优于LogisticRegression算法。

如果你想了解更多有关机器学习的信息,或者在使用Splunk MLTK中有任何疑问,都可以到论坛(http://ask.10data.com)进行留言和讨论。

By Derek

 

点击查看更多技术文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们联系我们

希望我们主动联系您

关于我们关于我们

10DATA关注于机器大数据技术与互联数据应用推广拥有国内丰富的项目实施经验和专业的产品技术团队。总部位于上海,在北京和深圳分设办事处。
10DATA团队以Startup初创公司的方式进行组建、成长壮大。 创新、自由、平等、互相尊重的精神始终贯穿于整个团队, 鼓励员工在享受工作的乐趣和满足的同时,为客户带来持续的有深度的价值。

您也可通过以下方式联系我们

  • 客服电话:4000671005
  • 电子邮件:contact@10data.com
  • 公司地址:上海市浦东新区世纪大道1229号东方汇广场1号楼3楼
  • 公司官网:www.10data.com
  • Splunk中文社区: ask.10data.com

##

沪ICP备11017547 沪公网安备 31011502002368号 ©版权所有 2005-2017 上海天旦网络科技发展有限公司(Netis)

GO TOP

返回

发表评论

电子邮件地址不会被公开。 必填项已用*标注