机器学习范文
时间:2023-04-10 03:56:12
导语:如何才能写好一篇机器学习,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词:机器学习;数据挖掘;算法
中图分类号:TP182 文献识别码:A 文章编号:1001-828X(2017)013-0-01
一、机器学习的应用
机器学习的方法可以应用到许多领域中,包括研究,科技、商业领域等,这些领域的机器学习运用越来越成熟和高效。研究中运用机器学习发现人类不容易发现的规律;科技中运用机器学习提高了科技解决实际生活的能力;商业领域运用机器学习更好的挖掘客户和满足客户。除此之外,机器学习也为其他领域带来不小的突破。机器学习集中解决两个问题:其一,如何让电脑系统利用经验数据提高我们工作效率。其二,如何有效率地提高机器学习算法的准确率。机器学习对于解决科学和工程中的问题和在各种生活领域的实践问题是重要的。
二、机器学习的发展
过去的二十年机器学习的发展取得了极大的进步。走出了验室,走向了包括商业领域的广泛运用。在人工智能(AI)中,机器学习被作为一种重要的方法应用到电脑可视化,语音识别,自然语言处理,机器人控制和其他应用中。许多人工智能的开发者开始认识到,对于许多应用场景,训练一个系统去出示输入输出的结果,比人工分析内在机理更容易。机器学习的准确性在很多应用中比人类自己的分析结果要高得多。机器学习的影响已经广泛传播到运用计算机和数据库的行业里,例如,顾客服务,医疗诊断系统,资源分配。在以经验为主的学科,像历史学,医学到人文学科,机器学习也有其用武之地。学习问题可能被定义为当执行某些任务时,通过不断的训练提高解决能力[1]。例如,在学习侦察信用卡诈骗时,我们需要给所有的信用卡交易贴上一个是不是诈骗的标签。测量表现将会由于这个诈骗鉴别分类器被提高,而它的训练是由以前的一系列诈骗案例所构成。
三、机器学习的模型与算法
在不同的现实问题中机器学习算法也依据数据与模型的不同有了很大的差别。概念上机器学习算法被视为在一堆候选算法中选取一种对原始表现拟合最好的程序。机器学习算法的结论好坏差别非常大,很大程度上因为所用到的数据和模型的差别。这里的数据集分为训练集和测试集。它努力从不同的程序中收集最好的算法。许多方法集中在函数取值问题,它们集中研究函数。给定一个输入,就有一个输出。学习问题就是如何找出一个更精确的函数。通常函数以参数化的形式呈现,而在另一些情况下,函数具体形式不太清楚,它是由一个搜索过程、一个因子分解、一个极大化过程、一个仿真过程等构成。即使函数形式不太清楚,其一般都依赖于参数与自由度,训练找到这些参数的过程往往使得表现测度最优化[2]。
下面是机器学习主流的各种算法, 算法是机器学习的核心,要了解不同算法的难点所在,更要了解不同算法的优势以及应用场合。算法离不开对于数学基础,也与统计学的建模有关系;由于算法的计算难度比较大,更与计算机的计算性能有关,所以算法研究显得非常重要但也比较困难。算法可以说是机器学习的内核,一种好算法的提出,对于机器学习是划时代的贡献。
四、机器学习的商业重要性
这个时代是一个互联网信息爆炸的时代,随着网络的迅速发展和普及,使得信息量极大丰富,由于我们获得海量数据的便捷性,我们可以利用的数据进行分析变得越来越容易,收集的信息门类五花八门。对于各个行业,还能收集与行业、竞争对手、客户和市场有关的信息,能够很好的分析和处理那些对企业有重大价值的信息成为未来企业脱颖而出的关键。根据分析结果找出企业面临的问题和漏洞,更好的管理企业,让企业取得生存发展空间。
可见数据挖掘对于企业的重要性,未来从事机器学习相关岗位的人员将会越来越多,数据挖据不仅在一些大的公司有重要的作用,在小企业里也是不可或缺的。数据在公司经营中提供了非常有价值的商业信息,数据中蕴含了巨大的商业潜力。数据像一个盒子。不是我们随便看看的就能得到指导性的意见。大数据时代的到来尤其为管理者既带来了机会,又增加了困难。因为他们要面对的是更加庞杂的数据系统,从中找出他们需要的具体规律,这本身不是一件容易的事。所以以后机器学习会越来越走向我们的企业,为企业带来价值。
参考文献:
[1]M.I.Jordan1 and T.M.Mitchell2.MachineL earning: Treads, perspective, prospects ,science,2015.
篇2
关键词: 机器学习 人工智能 基本模型
1.引言
“机器学习”是人工智能的重要研究领域之一。机器学习的定义是“系统通过积累经验而改善系统自身的性能”。通俗地说,就是让机器去学习,利用学到的知识来指导下一步的判断。最初研究机器学习,是让计算机具有学习的能力,以实现智能化。因为人们认为具有人工智能的系统首先必须具有学习能力。机器学习的研究始于神经元模型研究,此后又经历了符号概念获取、知识强化学习研究阶段,至今已发展到连接学习和混合型学习研究阶段。
2.机器学习系统的基本模型
根据机器学习的定义,建立如图1所示的机器学习基本模型。
模型中包含学习系统的四个基本组成环节。
环境和知识库是以某种知识表示形式表达的信息的集合,分别代表外界信息来源和系统具有的知识。学习环节和执行环节代表两个过程。学习环节处理环境提供的信息,以便改善知识库中的知识。执行环节是整个机器学习系统的核心。利用知识库中的知识来完成某种任务,并把执行中获得的信息送还给学习环节。
2.1机器学习的分类
很多学者从不同的角度对机器学习进行了分类,这里简单阐述一下继续学习策略的机器学习的种类。按照学习策略的不同,机器学习分为机械学习、归纳学习、基于解释的学习、基于神经网络的学习和基于遗传算法的学习。
2.1.1机械学习
机械学习(Rote Learning)就是“死记硬背式的学习”,靠记忆存储知识,需要时检索已经存下来的知识使用,不需要计算和推理。机械学习的模式如下:需要解决的问题为{y,y,...,yn},输入已知信息{x,x,...x}后,解决了该问题,于是将记录对{{x,x,...,x},{y,y,...,y}}存入数据库,以后当遇到问{y,y,...,y}时,检索数据库,即可得到问题{y,y,...,y}的解答是{x,x,...,x}。
能实现机械式学习算法的系统只需具备两种基本技能:记忆与检索。此外,存储的合理安排,信息的合理结合,以及检索最优方向的控制也是系统应该考虑的问题。该算法简单、容易实现、计算快速,但是由于系统不具备归纳推理的功能,对每个不同的问题,即使是类似的问题,也需要知识库中有不同的记录。因此占用大量的存储空间,这是典型的以空间换时间的算法。
2.1.2归纳学习
归纳学习是应用归纳推理进行学习的一种方法。归纳学习的过程是由特殊实例推导出一般情况的过程,这样就使类似的问题可以利用同样的方法求解。归纳学习的过程就是示例空间与规则空间的相互利用与反馈。1974年,Simon和Lea提出了双空间模型,形象地对这一执行过程进行了描述,如图2所示。
归纳学习算法简单,节省存储空间,在一段时间内得到了广泛的应用。在应用过程中,该算法逐渐显现出它的缺点:(1)归纳结论是通过对大量的实例分析得出的,这就要求结论的得出要有大量实例作支撑,而这在许多领域都是无法满足的。(2)归纳结论是由不完全训练集得出的,因而其正确性无法保证,只能使结论以一定概率成立。(3)该算法通过对实例的分析与对比得出结论,对于信息的重要性与相关关系无法辨别。
2.1.3基于解释的学习
基于解释的学习(Explanation-Based Learning)是运用已知相关领域的知识及训练实例,对某个目标概念进行学习,并通过后继的不断练习,得到目标概念的一般化描述。该学习的执行过程如图3所示。
这种方式的学习得到一个领域完善的知识往往是比较困难的,这就对该算法提出了更高的要求。为解决知识不完善领域的问题,有以下两个研究方向[2]:(1)改进该算法使其在不完善的领域理论中依然有效。(2)扩充该领域的知识使其拥有更强的解释能力。通常情况下,第二种改进方法更重要些。
2.1.4基于神经网络的学习
神经网络是由许多类似神经元的节点和它们之间带权的连接组成的复杂网络结构,是为模仿人类大脑的复杂神经结构而建立起来的抽象数据模型,希望相似的拓扑结构可以使机器像人脑一样进行数据的分析、存储与使用。神经网络学习的过程就是不断修正连接权的过程。在网络的使用过程中,对于特定的输入模式,神经网络通过前向计算,产生一个输出模式,并得到节点代表的逻辑概念,通过对输出信号的比较与分析可以得到特定解。在整个过程中,神经元之间具有一定的冗余性,且允许输入模式偏离学习样本,因此神经网络的计算行为具有良好的并行分布、容错和抗噪能力。
神经网络学习算法是一种仿真算法,拥有良好的认识模拟能力和有高度的并行分布式处理能力。但神经网络模型及其参数设置难以确定,需要长时间的试验摸索过程。并且,对于最后得到的神经网络,其反映的知识往往难以让人理解。为解决这些问题,构造神经网络集成并从神经网络或神经网络集成中抽取规则成为当前研究的热点。
2.1.5基于遗传算法的学习
遗传算法以自然进化和遗传学为基础,通过模拟自然界中生物的繁殖与进化过程,使训练结果逐渐优化。与遗传过程类似,在学习过程中,通过选择最好结果并使其组合产生下一代,使“优秀的遗传因子”逐代积累,最后得到最优的解。遗传算法解决了神经网络学习中的一个缺点,它不需要知道原始信息而只需知道学习的目的即可进行,具有很强的并行计算能力和适应能力。此外,遗传算法采取的随机搜索方法提高了该学习算法对全局搜索的能力。遗传算法的缺点主要体现在三个方面:无法确定最终解的全局最优性;无法控制遗传过程中变异的方向;无法有效地确定进化终止条件。基于这三个缺点,有人提出了遗传算法与其他学习算法的结合,优点互补已达到更好的效果。
3.结语
机器学习在过去十几年中取得了飞速的发展,目前已经成为子领域众多、内涵非常丰富的学科领域。“更多、更好地解决实际问题”成为机器学习发展的驱动力。事实上,过去若干年中出现的很多新的研究方向,例如半监督学习、代价敏感学习等,都起源于实际应用中抽象出来的问题,而机器学习的研究进展,也很快就在众多应用领域中发挥作用。机器学习正在逐渐成为基础性、透明化、无处不在的支持技术、服务技术。
参考文献:
[1]周志华.机器学习与数据挖掘[J].
篇3
机器学习作为人工智能的核心内容而存在。简单来讲就是在模拟人类行为的基础上,通过学习来使计算机获得更多的新技能、新知识,变得更加聪明更加智能,以此来实现其组织结构性能上的不断优化。而机器学习作为一项极为智能化的过程,具体该如何实现属于机器的特有“学习”行为呢?关于这一点,不同专业学者基于自身专业研究内容的不同,因此众说纷纭,但总结来讲,机器学习与推理过程之间的紧密关系还是得到了大多数学者的一致认同,因此,我们可以将机器学习策略分为事例学习、类比学习、传授学习、机械学习。基于计算机功能的复杂性,机器学习涉及范围较广,是在多种知识、技术的交叉和共同作用下的结果,如,概率论、凸分析、统计学、算法复杂度理论、逼近论等多专业学科都涉及其中。就机器学习的分类来讲我们可以将其分为以下几种:(1)基于学习策略分类——机械学习、示教学习、演绎学习、类比学习、基于解释的学习、归纳学习;(2)基于所获取知识的表示形式分类——代数表达式参数、决策树、形式文法、产生式规则、形式逻辑表达式、图和网络、框架和模式、计算机程序和其它的过程编码、神经网络、多种表示形式的组合;(3)按应用领域分类——自然语言、图像识别、认知模拟、故障诊断、数据挖掘、专家系统、规划和问题求解、网络信息服务等领域;(4)综合分类——经验性归纳学习、分析学习、类比学习、遗传算法、连接学习、增强学习;(5)学习形式分类——监督学习、非监督学习。
2机器学习在网络安全中应用的意义
从机器学习的本质上来讲,它是在大数据集中的基础上通过对数学技术的引入,来构建机器行为模型,并通过不断输入新的数据资料,使机器在对各时段数据进行分析、运算的基础上,来实现对未来的科学预测。就机器学习在网络安全中应用的意义来讲,主要体现在,机器学习基于自身极强的数据分析能力,在应用的过程中,可以帮助用户来有效的对网络安全事件作出及时的响应,尤其是在团队安全技能不足的情况下,可以通过自动执行来替代团队执行一些琐碎的系统安全任务,有助于切实保障用户的网络安全。同时机器学习与传统电子科技产品的融合,有助于清除产品中的恶意软件,进而达到提升产品安全系数和运行稳定性的目的。
3机器学习在网络安全中的应用
3.1安全入侵检测
网络安全入侵检测是一种较早出现的计算机系统自我安全防护技术,其在不对网络性能以及用户的计算机操作构成影响的情况下,通过对网络运行数据、安全日志等信息的分析和检测,来判断系统是否受到了安全威胁,以此来实现对计算机系统的实时保护。机器学习凭借自身性能的智能化,在安全入侵检测中的应用,能够有效提升网络安全入侵检测反应灵敏度,使防护系统可以在短短的几秒钟内,就准确的检测到恶意攻击位置,并予及时的进行准确、有效的防护,将恶意攻击对系统的伤害降到最低。
3.2垃圾邮件检测
机器学习在垃圾邮件检测中的应用,根据其特殊的运行原理,我们可以将其看作是机器学习当中的分类问题。如,我们将邮件整体定义在{-1,1}之间,1就代表是垃圾邮件,而-1则说明是非垃圾邮件。而在对垃圾邮件进行文本分类问题定义的过程中,我们首先就需要通过一定的数值来对垃圾邮件的文本信息予以表达,并用向量来对各条消息进行表示,垃圾邮件的特征值则集中表现在各特征向量元素当中。同时,由于系统对于垃圾邮件的检测属于在线应用范畴,因此,机器学习对于邮件的自动识别和分类能够极大的提升系统对于垃圾邮件的检测效率,降低出错率。
3.3域名检测
作为互联网重要的核心应用系统,域名系统基于自身对整个网络安全所起到的重要意义,经常成为被黑客和不法分子恶意攻击的目标。以往我们多通过防火墙、黑名单拦截、域名系统等的作用下,来实现对域名恶意攻击的检测。以机器学习为主的域名检测则通常是在在线模型、离线模型的双重组合作用下,来实现其域名检测和防御功能。其中,离线模型,通过对恶意域名、合法域名训练数据集的建立,来从中提取出基于区域的特征、基于DNS应答的特征、基于域名信息的特征等,之后通过X-Means聚类算法、决策树等模型的构建,结合网站提供的已知域名数据集来对所构建的模型予以进一步的调整和验证。以此来判断其是否属于恶意域名。在线监测模型,是在网络系统对域名的自动查询分析作用下,来对被检测域名的主要特征、信息等进行获取,其特征显示已标记的则视为已知域名信息,进行继续训练操作,特征显示无标签的则视为未知域名,需要在分类器的作用下,对其是否属于恶意域名进行继续判断。
参考文献
[1]张蕾,崔勇,刘静,江勇,吴建平.机器学习在网络空间安全研究中的应用[J/OL].计算机学报,2018:1-35.
篇4
[关键词]机器学习 服务器调优 线程池
[中图分类号]TP181 [文献标识码]A [文章编号]1009-5349(2016)02-0133-01
一、线程池调优系统总体设计
线程池调优系统由四个模块组成:线程池模块、性能监测模块、支持向量机调优模块。线程池模块负责线程池的创建与维护,任务队列的任务管理等,并将任务队列中的用户任务取出放入线程池中进行执行。性能监测模块负责对表征线程池性能的三个特征量吞吐量、任务运算时间和任务阻塞时间的监测,作为测试样本输入支持向量机调优模块中。支持向量机调优模块则通过性能监测模块提供的测试样本,得到所需的最佳线程池尺寸,并与当前的线程池尺寸进行对比,最后调整线程池尺寸到最佳。
二、线程池模块
线程池模块主要负责线程池内线程的创建、销毁、构造任务队列,并将任务队列中的用户任务取入线程池中分配空闲线程来执行。系统采用Win32的提供的线程库,以面向对象思想实现相关功能模块。线程池模块主要包括线程池类CPoolThread、任务队列类CJobDequeue、线程类CThread以及同步类CMutex。
线程类CThread最重要的一个方法是线程的创建方法CThread::Create()。线程创建方法采用了Win32线程库提供的线程创建应用程序接口CreateThread(Null,0,_ThreadEntry,this,0,&ThreadID)来实现。线程池类CThreadPool主要提供了一个数组变量m_list_thread来维护一个线程池,线程池内的每个线程都存在了这个数组变量中,而具体的池内线程的操作都交给了线程类CThread来完成。线程池类CThreadPool主要包括初始化线程池的初始化方法CThreadPool::InitInstance()来实现线程池内所有线程的创建操作,具体通过CThread类的CThread::Create()方法来实现每个线程的创建。任务队列类CJobQueue是线程池类的一个对象,维护了一个任务队列数组列表m_normal_list,用户任务经过线程池类添加任务接口进入此数组列表中。任务队列类通过队列列表来维护管理等待中的用户任务。同步类CMutex主要是为了实现程序中的某些互斥操作设立的,通过对私有变量m_lock调用WinAPI函数的WaitForSingleObject()与ReleaseMutex()来实现程序的加锁与解锁操作。
三、性能监测模块
性能监测模块主要是监测表征线程池性能的三个特征量:吞吐量、任务运算时间和任务阻塞时间。由于吞吐量是监测用户任务进入任务队列的数量,因此,对吞吐量的监测可以在任务队列类中实现。而任务运算时间和任务阻塞时间直接是与线程的执行任务相关的,因此,将这两个量的监测放入线程类中实现。
性能监测模块对吞吐量的监测方法。每当有用户任务通过线程池类进入任务队列时,任务队列将其成员变量m_tuntu进行加1操作,实现对吞吐量的实时更新。
任务运算时间的监测方法主要通过调用Windows提供的API函数GetThreadTimes添加至线程类中的Run方法中来实现。GetThreadTimes函数可以返回四个参数:线程创建时间、线程退出时间、系统代码运算时间和用户代码运算时间。因此,可以通过对系统代码时间与用户代码时间求和来得到任务占用CPU的时间,也就是任务运算时间。具体做法是当线程类中Run方法启动用户任务时,即调用此API函数,获得任务进入线程池时间;当用户任务运行结束时,再次调用此API函数,即可获得任务离开线程池时间,将二者做差即可得到任务占用CPU的运算时间。
对任务阻塞时间的监测方法的实现则相对麻烦一些,因为没有直接测试任务阻塞时间的API函数.但是可以通过间接的方法来测量,即任务阻塞时间=任务执行时间-任务运算时间。其中,任务执行时间可以通过WindowsAPI函数getTickCount()来分别得到任务进入线程池与离开线程池时的CPU时钟,从而做差就可以求出任务执行时间;而任务运算时间也可以得到,因此再将两者做差就可以得出最后的任务阻塞时间。具体做法同监测任务运算时间时的做法,只是改变了监测的API函数。
四、支持向量机调优模块
根据支持向量机调优模型,将支持向量机调优模块写成线程类中的一个函数――调优函数Tuning()。
通过线程池类内的成员变量m_tuntu、m_cmptm和m_blktm获取当前线程池性能数据,输入到支持向量机方法中得到最佳线程池尺寸。当最佳线程池尺寸与当前线程池尺寸不符时,需要对线程池的尺寸进行调整。当需要增加线程池尺寸时,可以通过WindowsAPI函数CreateThread()来创建新线程;当需要减小线程池尺寸时,可以通过调用函数TerminateThread()来销毁空闲线程,最终达到所需的最佳线程池尺寸。
篇5
关键词: IDS;异常检测;行为模式;机器学习;相似度
中图分类号:TP18;TP393.08 文献标识码:A
Anomaly Detection of User Behaviors Based on Machine Learning
SUN Hong-wei,TIAN Xin-guang, ZHANG Er-yang
(1.School of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China;
2. Putian Telecom Corporation, Beijing 100088, China)
Abstract: Anomaly detection acts as one of the important directions of research on Intrusion Detection Systems (IDSs). In this paper, an anomaly detection model originated mainly by Terran Lane is briefly introduced. Then a new anomaly detection model based on machine learning is presented. The model uses shell command sequences of variable length to represent a valid user’s behavior patterns and uses more than one dictionaries of shell command sequences to build the user’s behavior profile. While performing detection, the model digs behavior patterns by sequence matching method and evaluates the similarities of the corresponding command sequences to the dictionaries. The two models are tested with UNIX users’ shell command data. The results show that the new model originated by us has higher detection performance.
Key words: IDS; anomaly detection; behavior pattern; machine learning; similarity measure
1 引言
目前,异常检测是入侵检测系统(IDS)研究的主要方向,这种检测技术建立系统或用户的正常行为模式,通过被监测系统或用户的实际行为模式和正常模式之间的比较和匹配来检测入侵,其特点是不需要过多有关系统缺陷的知识,具有较强的适应性,并且能够检测出未知的入侵模式。虚警概率高是目前限制异常检测应用的主要因素。异常检测的关键问题在于正常行为模式(库)的建立以及如何利用该模式(库)对当前行为进行比较和判断。
国内外已经开展了神经网络、机器学习等智能技术在异常检测中的应用研究,研究目标主要是提高检测系统的准确性、实时性、高效性以及自适应性,其中一些研究成果在检测性能和可操作性上已接近或达到了实用化水平。本文介绍了Lane T等人提出的基于机器学习的IDS用户行为异常检测模型,在其基础上提出一种新的检测模型,此模型用多种长度不同的shell命令序列表示用户行为模式,建立多个样本序列库来描述正常用户的行为轮廓,检测时以长度可变的命令
序列为单位进行相似度赋值,并将加窗滤噪后的相似度作为用户身份的判决依据。利用UNIX用户shell命令数据进行的实验表明,新的检测模型具有很高的检测性能和较强的可操作性。
2 基于机器学习的定长命令序列检测模型
2.1 机器学习基本原理
机器学习是人工智能的一个新的分支,它是通过对人类认知机理的研究,借助机器(计算机系统)建立各种学习模型,赋予机器学习的能力,在此基础上构建具有特定应用的面向任务的学习系统。一个机器学习系统主要有学习单元、知识库、执行单元组成,其中学习单元利用外界信息源提供的信息来建立知识库并对其做出改进(增加新知识或重新组织已有知识),执行单元利用知识库中的知识执行任务,任务执行后的信息又反馈给学习单元作为进一步学习的输入。学习单元是机器学习系统实现学习功能的核心部分,它涉及处理外界信息的方式以及获取新知识过程中所用的方法。知识库用来存储知识,包括系统原有的领域知识(这种知识是长期的、相对稳定的),以及通过学习而获得的各种新知识(这种知识是短期的、变化的),选择何种知识表示对学习系统的设计起着非常重要的作用。执行单元是使学习系统具有实际用途,同时又能够评价学习方法好坏的关键部分。
机器学习研究中的很大一部分工作集中在分类和问题求解这两个领域;经过三十多年的发展,目前已有了很多学习方法,如归纳学习、实例学习、遗传学习等,但这些方法均有其局限性,结合具体的应用领域探讨新的学习方法和算法是目前的研究主流。
2.2 定长命令序列检测模型的描述
美国Purdue大学的Lane T等人提出了一种基于机器学习的用户行为异常检测模型,并对模型进行了深入的研究和实验。其模型利用长度固定的shell命令序列表示用户的行为模式,建立样本序列库来描述正常用户的行为轮廓;工作时,将被监测用户的命令序列同正常用户的样本命令序列库进行比较和匹配,根据两者的相似度对被监测用户的身份进行判断。模型的要点简述如下[2]:
(1)将长度固定的shell命令序列作为描述用户行为模式的最小数据单元,采用实例学习方法建立正常用户的样本序列库(知识库)。
(2)定义两序列之间的相似度,它用于表示两个序列所代表的行为模式之间的相似程度。在此基础上,定义一个序列同样本序列库的相似度,它用于表示此序列所代表的行为模式同正常用户各种行为模式之间的最大相似程度。
(3)模型工作时,计算被监测用户序列流中的每个序列同正常用户样本序列库的相似度,然后,对相似度进行加窗滤噪处理,得到按时间顺序排列的相似度判决值,根据判决值的大小对被监测用户的身份进行实时判决。
模型中有以下几个关键问题:一、最佳序列长度的选择;二、样本序列的提取;三、相似度函数的定义;四、滤噪算法的选择。Lane T等人针对以上问题利用UNIX用户的shell命令数据做了大量实验,以下是他们得出的结论:
(1)最佳序列长度同具体用户的行为特点有关。随着序列长度的增大(从1到15),模型的检测性能随用户的不同而呈现出不同的变化趋势。
(2)在各种相似度函数中,关心相邻命令之间相关性的相似度函数对应的检测性能优于不考虑相关性的相似度函数。均值滤噪和中值滤噪算法[2]对应的检测性能差别不大。
(3)在聚类、按出现概率提取、按时间顺序截取、随机选择等样本序列提取方法中,聚类方法对不同用户的适应性要强一些,但实现起来最复杂。
3 基于机器学习的变长命令序列检测模型
3.1 变长命令序列检测模型的描述
Lane T等人提出的定长命令序列检测模型主要有两个缺点:一、在用户行为模式的表示上缺乏灵活性和适应性。行为模式是指用户操作过程中体现出的某种规律性;实际中,不同用户所具有的行为模式存在差异,同一用户完成不同行为模式时所执行的命令个数也不尽相同,因而,用长度固定的命令序列难以全面准确地表示出用户的整体行为轮廓。二、不容易估算针对具体用户的最佳序列长度。Lane T等人主要采用实验方法来确定最佳序列长度,这种方法所需的计算量很大,而且其性能缺乏稳定性。我们针对定长命令序列检测模型的以上不足进行了改进和修正,提出一种变长命令序列检测模型,具体描述如下:
(1)根据正常用户的历史行为,定义种长度不同的shell命令序列,用于表示正常用户的各种行为模式。
设序列长度的集合为,其中表示第种序列的长度,且。在样本序列库的个数确定的情况下,可有不同的选择。例如时,可以为(即三种序列的长度分别为),也可以为或其它组合。和对检测性能有直接影响,在选择它们时,除了要充分考虑正常用户的行为特点之外,还需考虑模型的复杂度及检测效率(和越大,检测系统的存储量和工作中的运算量也会越大)。
(2)针对每种序列建立一个样本序列库,用个样本序列库来描述正常用户的行为轮廓(行为模式集合)。按照正常用户历史行为中各序列的出现概率来提取样本序列。
设个样本序列库的集合,其中表示长度为的序列对应的样本序列库。设正常用户的训练数据(历史数据)为,它是一个长度为的shell命令流,其中表示按时间顺序排列的第个命令,对应的长度为()的命令序列流可表示为,其中。我们设定一个概率门限,将()中出现概率大于的命令序列视为正常用户的行为模式,即是由这些命令序列组成。
(3)定义序列之间以及序列同样本序列库之间的相似度函数,用以描述行为模式之间以及行为模式同用户整体行为轮廓之间的相似程度。
设长度为的两序列和的相似度为,其计算方法如下[1]:
第一步:设定,,。
第二步:如果(其中表示中的第个命令),则,;否则,,。
第三步:。如果,返回执行第二步;否则,。
根据以上定义,如果时(即两序列相同),则有。
序列和样本序列库的相似度函数定义为:
(1)
(4)检测时,以长度可变的命令序列为单位进行相似度赋值,并将加窗滤噪后的相似度作为用户身份的判决依据。
对于被监测用户的命令流,将它所对应的长度为的序列流表示为,其中。模型工作时,按照以下方法定义第个长度可变的序列并计算它同样本序列库集合的相似度。
第一步:设定,,。
第二步:如果,根据(1)式计算;否则,结束序列定义和相似度计算过程。
第三步:如果(即与中的某个序列相同),则,,,,,并返回执行第二步;否则,。
第四步:如果,返回执行第二步;如果,则,,,,,并返回执行第二步。
按照以上方法进行变长序列的定义和相似度计算,可得到按时间顺序排列的相似度输出值序列,其中为中的变长序列个数,,对此序列进行加窗滤噪处理,得到相似度判决值,对此值设定一个门限,若它大于,将被监测用户判为正常用户,否则,将其判为异常用户。采用均值滤噪算法时的相似度判决值为:
(2)
式中表示用户第个变长序列对应时间点上的相似度判决值(模型在中第个变长序列之后的每个序列对应时间点上都做一次判决),为窗长度,它是一个很重要的参数,决定了从被监测用户行为发生到检测系统对其行为做出判断的最短时间(即检测时间)。
3.2 模型的分析与比较
我们提出的变长命令序列检测模型主要有以下几个特点:
(1)用多种长度不同的命令序列表示正常用户的行为模式,并针对每种命令序列建立一个样本序列库,这可以更好地反映正常用户的实际行为轮廓。
(2)以长度可变的序列为单位进行相似度赋值,其实质是在被监测用户命令流中进行行为模式挖掘。行为模式挖掘过程中,以当前命令为起点组成多个长度不同的序列,并按照长度从大到小的顺序依次同相应的样本序列库进行比较,如果其中一个序列同相应样本序列库中的某个序列相同,则认为挖掘到一个行为模式,将此序列提取出来并进行相似度赋值,序列长度越大,所赋的值也越大,如果任何一个序列同相应样本序列库中的序列都不相同,则将当前命令提取出来作为长度为1的序列,并将它与样本序列库的相似度赋以0值;然后,再以此序列之后的下一个命令为起点组成多个序列继续进行挖掘和赋值。
Lane T等人的定长序列检测模型关心的是以当前命令为起点的定长序列与正常用户各个行为模式之间的最大相似程度,而变长序列检测模型关心的是以当前命令为起点的多个长度不同的序列是否能够同正常用户的某个行为模式完全匹配。
(3)定长序列检测模型对正常用户和异常用户的检测时间是相同的。变长序列检测模型则不然,其检测时间为个变长序列持续时间(不考虑模型的计算时间),设变长序列的平均长度为,则平均检测时间为个命令持续时间;当被监测用户是正常用户时,在其命令流中挖掘到的行为模式会比较多,相对较大,最大可为,当被监测用户是异常用户时,在其命令流中只能挖掘到很少的(正常用户的)行为模式,相对较小(最小可为1);所以,模型对异常用户的平均检测时间相对要短。
(4)此模型需要建立多个样本序列库,因而对检测系统数据存储空间的需求相对较大。
4 实验结果
我们进行了分组实验,每组实验中将一个用户设为正常用户,而将其他三个设为异常用户,分别采用两种模型进行训练和测试;正常用户的前个命令用于模型的训练(建立样本序列库),正常用户和异常用户的后个命令用于模型检测性能的测试。在定长序列检测模型中,序列长度为;在变长序列检测模型中,序列长度集合。两种模型中,每种样本序列库均由正常用户的近个序列中出现概率大于的序列组成,检测时采用均值滤噪算法计算判决值。
为了在对异常用户的平均检测时间相同的情况下比较两种模型的性能,我们做了四组实验,四个用户各在一组实验中被设为正常用户。每组实验中,采用变长序列检测模型时,用于性能测试的各异常用户命令流(包含个命令)中的变长序列个数平均约为,因此,我们将变长序列检测模型的窗长度设为,而将定长序列检测模型的窗长度设为,以保证两种模型对异常用户的平均检测时间基本相同。实验中通过调整判决门限可以得到不同虚警概率情况下对三个异常用户的平均检测概率。表1给出了USER4被设为正常用户时的一组实验结果。
表1 USER4被设为正常用户时的实验结果
虚警概率
0.001
0.005
0.010
0.050
定长序列模型的 平均检测概率
0.67
0.70
0.76
0.79
0.96
变长序列模型的 平均检测概率
0.83
0.86
0.88
0.92
0.99
根据表1的实验结果,在虚警概率较低的区间,变长序列检测模型对应的平均检测概率相对定长序列检测模型有明显的提高。其余三组实验的结果也证明了这一点,这里不再一一列出。
5 结论
本文提出一种新的基于机器学习的IDS用户行为异常检测模型,并利用UNIX用户的shell命令数据进行了实验,实验结果表明,新模型的检测性能同Lane T等人提出的检测模型相比有较大改善。由于模型中的学习方法和检测算法对不同的检测数据有一定的适应性,因而此模型也可以用于shell命令之外其它数据类型(如系统调用)的IDS,但具体的应用范围及检测性能还需要进一步的研究和实验。
篇6
Statistical and Machine
Learning Approaches for
Network Analysis
2012,344p
Hardcover
ISBN9783527331833
M·德默等编
图形结构被用于计算机可以识别的结构信息时,对图形信息进行统计分析就成为可能。生物信息学、分子与系统生物学、理论物理、计算机科学、化学、工程等多个领域都在利用这一特点充分发挥计算机在分析和统计方面的优势。本书的一个重要特点就是将诸如图论、机器学习及统计数据分析之类的理论相互结合,形成一个新领域,以交叉学科的方式探索复杂网络。基因组、蛋白质,信号以及代谢组学数据的大规模生成使得复杂网络的构建成为可能,它为理解生理学以及病理学状态的分子基础提供了一个崭新的框架。网络和基于网络的方法用于生物学中以便表征基因组、遗传机理以及蛋白质信号。疾病被看作关键细胞网络的异常干扰。如今,在对诸如癌症、糖尿病等的复杂疾病的干预中,就使用网络理论来分析。
本书共有11章:1.重构及划分生物网络计算方法概论; 2.复杂网络入门:度量、统计性质及模型; 3.进化中的生物网络建模; 4.内含动力学的生物网络的模块性配置; 5.统计概算机对管理网络大规模因果推理的影响; 6.加权频谱分布:网络结构分析的度量; 7.进化中的随机二部图的结构; 8.图形内核; 9.用于早老性痴呆病的基于网络的信息协同分析; 10.结构化数据中基于密度的集合枚举; 11.采用加权图形内核的下位词析取。
本书第1主编是奥地利健康与生命大学生物信息学和转化研究所所长,他在生物信息学、系统生物学和应用离散数学领域130篇。他是Wiley出版的《复杂疾病医学生物统计学》《复杂网络分析》和《微阵列数据分析》等书的合作编者。
本书可用作应用离散数学、生物信息学、模式识别、计算机科学专业跨学科研究生课程的补充读物,对于这些领域的研究人员和专业人员,也是一本有价值的参考书。
胡光华,退休高工
(原中国科学院物理学研究所)
篇7
关键词:域名系统拒绝服务,神经网络机器学习
1 引言
早期的DNS是基于不可靠传递的用户数据报协议(UDP)设计的,而且DNS的安全性在当时并不是大问题,因为早期的设计足以满足互联网的需求。现在,DNS已成为互联网和具有一定规模的专用网络的运营的一项重要服务,所以有必要确保DNS系统避免任何未经授权的访问。本文的第一个目标是评估对DNS的不同类型的DoS攻击。这些攻击识别模式促使我们通过改变不同的参数模拟不同的攻击方案来产生所需的数据。
最常见的两种DNS拒绝服务攻击是直接DoS攻击和放大攻击。首先,攻击者试图通过从单个或多个源发送过多流量来击垮服务器。因此,这将导致目标服务器接收大量查询数据包。被DoS攻击淹没的域名服务器将经受丢失包和不能总是回复所有DNS请求。参考文献[1]指出DNS数据流的数据包长度小,况且异常数据包相似性使得检测过程更加困难。
另一方面,攻击者建立最先进和典型的DoS攻击类型,称为放大攻击,来增强一般DOS攻击的影响。这种攻击类型命名为放大是因为攻击者抓住了小查询可以产生更大量UDP响应数据包这个事实[2]。现在,DNS协议(RFC2671)被攻击者用来扩大放大系数。例如,一个60字节的DNS请求可以得到超过4000个字节的回应。这将产生超过60的放大因素。多位研究者研究过放大攻击的影响。根据他们的分析,这些攻击模式包含了庞大数量的大于512字节的标准DNS数据包的非标准包[3]。
2 数据集生成仿真模型
访问流量仿真真实环境较难,所以我们利用了网络模拟器。据我们所知,可用的DNS的DoS攻击生成数据集并不存在。因此,我们的实验用模拟生成所需的数据。我们的模型使用NS-2(版本2.28)的OTcl程序进行模拟,它用于构造DNS不同的DoS攻击。
我们的模拟网络拓扑结构包含一台合法的客户机、一个攻击者和两台服务器。所有节点都连接到同一个路由器。所有链路都是100Mbps和10ms延迟,除了目标服务器和路由器之间链路是10Mbps和10ms延迟。我们以落尾排队策略使用一个100个数据包大小的队列。网络中有两种类型的流量的产生,即合法流量和攻击流量。我们模拟修改了服务器的应用程序,请求间隔时间固定为10秒。攻击者期望用过剩的流量淹没目标域名服务器。DOS流量模拟成恒定比特率(CBR)源。CBR由NS-2中CBR流量生成器生成。我们选取不同的延迟值来确定攻击开始时间,来应对各种变化。
3 系统结构
本节提出了一种新型DNS的DoS攻击检测系统,它使用了一种机器学习引擎来检测和分类攻击。该IDS是一个基于IDS(NNIDS)的网络节点,它可实施在域名服务器上以达到检测攻击的目的。图1用输入输出数据类型给出了我们所提出的系统的总体结构。
该系统从收集域名服务器收到的数据包流开始。接下来,预处理器基于一个管理员指定的20秒时间窗口统计分析流量,超过了最大查找延迟。可能标识域名服务器收到的DNS流量的参数,构成了分类器的输入定义如下:
① 收到的DNS吞吐量需定义为服务器所收到的比特数量。我们测量了指定的时间窗口指标的平均值。
② 服务器在监测时间窗口接收的数据包平均长度。,域名系统拒绝服务。,域名系统拒绝服务。
③ 丢失包定义为由于洪水攻击流量没能达到其目标的丢失DNS数据包的数量。,域名系统拒绝服务。,域名系统拒绝服务。
在预处理流量和基于指定特征选择产生所需数据集后,机器学习引擎得以应用。,域名系统拒绝服务。四种不同的机器学习引擎已为我们的系统所评估,其中三个在神经网络分类器范畴,最后一个是基于支持向量的典型算法。这些引擎在接下来的章节中将详细介绍。
图1 系统框架
3.1 BP神经网络
本文中,我们尝试找到优化的BP网络来有效地检测和对不同的DNS的DOS攻击分类。我们的BP神经网络有三个层次。输入层的单元数目适合于输入矢量的特征,即DNS流量的三大特征。输出层还有三个单元表示正常和DoS攻击的不同状态: [0 0 0]表示正常状态,[0 0 1]表示直接DoS攻击以及[0 1 0]表示放大攻击。我们为BP网络训练过程做出下列主要假设:时代数= 500,平均方差(MSE)= 0.00001,培训功能=列文伯格-马夸尔特法反向传播(trainlm),激活功能=tan-sigmoid函数。我们的网络优化结构,发现隐藏神经元的数量从3到13个不等。该系统在隐藏层的最佳精度是7个神经元。
3.2 RBF神经网络
为了实现一个优化的RBF神经网络的分类问题,我们需要为隐藏单元和RBF中心和宽度指定激活函数。隐藏层主要使用的激活函数是高斯函数,它已经用于我们的RBF分类器的隐藏单元。质心位置已用K-means聚类算法选择,接着宽度参数计算公式如下:
由于要求高计算能力,我们初步测试中不可能获取与BP神经网络相同的MSE。因此,我们设定MSE值0.001。
3.3 SOM神经网络
在这个实验中,三个特征的输入向量因输入值的差别很大已被归一。如果原始数据被直接应用到网络,那么具有较高值的输入样本可能会导致抑制较小值的影响。因此,下面的公式给出标准的规范化:
测试不同数目的神经元,以找到最佳的执行网络。,域名系统拒绝服务。查看流量数据使用的分类器的输出,我们得到了同样的结果,并且注意到所有正常流量在指定范围内聚集,而可疑流量在显示可能攻击群的外面。当我们对结果充满信心时,受测试数据控制训练好的网络得以评估。因此,实施SOM神经网络的主要假设如下:时代数= 1000,神经元数目= 25,相邻拓扑= Hextop(六角层拓扑函数),距离函数= Linkdist,预订阶段学习率= 0.9,预订阶段步骤= 1000,调整阶段学习率= 0.02,调整阶段相邻距离= 1。
3.4 支持向量机
SVM是最近入侵检测系统中使用的另一种学习与软计算技术。基本的SVM算法是为分类对象分为两类而设计的,但许多现实世界的问题有两种以上的处理方法。在我们的实验中,实施一对所有的方案是为解决这个问题的。它构造3位SVM分类器,每个分类器将其中一个类从其余类分开。第i 个SVM是利用第i类正标签(+1)的训练集进行训练,而负标签(-1)则为其他。最后,我们的测试数据的样本归为第i类,它拥有三种分类器之间的最大值。
在训练阶段, 应提供具有相应参数的适当函数。这将是一个耗时的过程,因为训练的机器使用不同的内核参数,且当中只有一个是测试过程中选为表现最好的。
三个径向内核分别为1.5、10和5伽马的支持向量机和最佳正规参数C= 100、1和1000000用来实施三个分类器。径向基础内核公式如下:
4 系统评估
为评估我们所提出的系统,定义了下列性能指标:
精度,是指归为总体数据中准确类型的数据比例。准确的情况是真阳性(TP)和真阴性(TN),而虚假的检测情况是假阳性(FP)和假阴性(FN)。该系统的精度计算公式如下:
检测率(DR),是指在所有攻击中检测到的攻击所占的比例。两种攻击的指标按下列公式计算:
误报率(FAR),是指被分类器错误分类的网络流量的百分比。其计算公式如下:
表1:不同分类器的性能比较
表1列出了三个神经网络分类器以及SVM的性能比较。结果表明,BP神经网络优于本文实现的其他类型的分类器。它给我们提供了以可接受的误报率对DNS的拒绝服务的良好的检测率。
5 结束语
本文介绍了DNS的两个不同类型的DoS攻击,直接DoS和放大攻击。对DNS流量的DoS攻击的影响的调查使我们发现可疑行为。基于这些模式,分析测量所需的流量数据通过使用最灵活的网络模拟器NS - 2进行模拟。最后,提出了基于机器学习的系统,通过几种流量统计来检测和分类DNS的DoS攻击。两种不同的机器学习算法为探测器引擎进行了评估,也即神经网络分类器和支持向量机。性能比较结果表明,BP神经网络以对直接DoS攻击99.55%的检测率优于其他分类器,97.82%放大攻击检测率,99%的准确率,以及0.28%的误报率。
【参考文献】
[1]Y. Wang, M. Hu, B. Li and B. Yan, Tracking anomalous behaviors of name serversby mining DNS traffic, LECTURE NOTES IN COMPUTER SCIENCE,p351-357, 2006
[2]R. Vaughn and G. Evron. DNS Amplification Attacks,isotf.org/news/
DNS-Amplification-Attacks.pdf.Accessed,Nov. 2008
篇8
关键词:图像处理;机器学习;逻辑回归;梯度下降
中图分类号:TP391.41
1 背景简介
现今,人与计算机的交互活动越来越成为人们日常生活的一个重要组成部分。传统的人机交互存在各种缺陷,如:必须使用键盘、鼠标或操纵杆方能完成人机交互。因此,新兴的交互方式应运而生,其中动态手势识别逐渐成为人机交互中最热门的新兴交互方式之一。动态手势识别采用手指的形态来进行标记和识别,从而操控计算机,在人机交互过程中发挥越来越重要的作用。因此,体感手势这一课题意义深远,具有广阔的实际应用前景。
2 系统功能介绍
2.1 定义人机交互手势:通过在手指上面套上两种颜色鲜明的指环,规定控制方向的向上,向下,向左,向右四种手势,点击以及缩小,放大等手势操作。
2.2 在OpenCV平台上面,利用CamShift算法来获取多个动态手势点的位置。
2.3 将多个位置点的视频流数据利用机器学习中的线性回归,梯度下降算法,得出相应的手势操作结果。
2.4 利用手势操作的结果,利用无线网络传输数据来控制鼠标的移动/利用红外数据来控制电视机电台切换以及音量控制,替代遥控器的功能。
3 理论算法
3.1 Camshift算法介绍。Camshift算法是MeanShift算法的改进,称为连续自适应的MeanShift算法。
Camshift算法可以分为三个部分:(1)计算色彩投影图:将图像从RGB颜色空间转换到HSV颜色空间,对H分量进行直方图统计,将图像中每个像素的值用其颜色出现的概率进行替换,由此得到颜色概率分布图。(2)MeanShift寻优算法:通过不断迭代计算得到最优搜索窗口的位置和大小。(3)CamShift跟踪算法:在视频序列的每一帧当中都运用meanShift,并将上一帧的MeanShift结果作为下一帧的初始值,如此不断循环迭代,就可以实现目标的跟踪了。
3.2 逻辑回归以及梯度下降算法
我们利用逻辑回归函数可以来实现有监督学习的多分类实现。
4.3 手势操作的机器实现。通过提取视频流中动态手势点的特征信息,通过机器学习的决策分类之后获得了不同手势的操作。利用API函数GetCursorPos SetCursorPos mouse_event来操作鼠标的移动/点击/滚作。
4.4 实验结果。经过机器学习算法提取的手势点坐标:
5 结束语
本文提出了基于Camshift算法结合机器学习分类算法实现了手势多点跟踪以及简单的鼠标控制操作。由于Camshift算法对颜色要求比较高,在实际情景中对颜色要求很苛刻。而且为了更好更精准的对鼠标进行操控,该算法需要戴实验用的指环套,并且手势类型不够多样化。在算法的准确性上面还有待改进。
参考文献:
[1]Gray Bradski& Adrian Kaebler 著,于仕琪,刘瑞祯,译.学习OpenCV(中文版)[M].清华大学出版社,2009-10.
[2]于仕琪,刘瑞祯.OpenCV教程(基础篇)[M].北京:航空大学出版社,2007-6.
[3]斯蒂格 尤里奇 威德曼 著,杨少荣,译.机器视觉算法与应用[M].清华大学出版社,2008-11.
[4]西刹子.安防天下:智能网络视频监控技术详解与实践[M].清华大学出版社,2010-2.
[5]汪光华.智能安防:视频监控全面解析与实例分析[M].机械工业出版社,2012-8.
[6]康威 John Myles White 著,陈开江,刘逸哲,孟晓楠,译.机器学习:实用案例解析[M].机械工业出版社,2013-4.
作者简介:高鑫(1992.7.20-),男,浙江宁波人,学生,本科,研究方向:信息安全。
篇9
>> 机器人智能化研究的关键技术与发展展望 智能化绿色建筑在办公园区中的实践及展望 能效管理在智能化建筑中的应用及发展趋势 基于车联网的汽车智能化发展研究 汽车智能化技术的发展趋势研究 汽车基本构造及智能化的研究 绿色建筑中的智能化技术应用探究 智能化技术在绿色建筑中的应用论述 智能化技术在绿色建筑中的应用分析 遗传算法在智能机器人行为规划中的应用研究 智能化、信息化技术在纺织行业中的应用与发展 智能化和信息化在工程机械发展中的应用 智能化喷涂机器人的研究现状及进展 智能化数字电源的应用与发展研究 国内外智能化建筑的发展动态及展望 电气自动化在楼宇智能化中的应用研究 智能化技术在电气工程自动化中的应用价值研究 建筑电气自动化在楼宇智能化中的应用研究 智能化技术在机械工程自动化中的应用研究 试论固网智能化的应用与展望 常见问题解答 当前所在位置:l.
[8] 王笑京,沈鸿飞,汪林.中国智能交通系统发展战略研究[J].交通运输系统工程与信息,2006,6(4):9-12.
[9] 邵恩坡.发展天然气汽车存在的问题及对策[J].节能技术,2005,23(6):554-556.
[10] WicksM C.Radar the next generation2sensors as robots[C]//. IEEE Radar Conference,Washington,USA.2003:4-18.
[11] 沈,毛建国,李舜酩.单目视觉车道线识别算法及其ARM实现[J].南京航空航天大学学报,2008,40(2):208-212.
[12] Baber J,Kolodko J,Noe T,et al.Intelligent vehicles sharing city roads[J].IEEE Transactions on Robotics & Automation Magazine,2005,12(1):44-49.
[13] Liu Y,Ozguner U,Acarman T.Performance evaluation of intervehicle communication in highway systems and in urban areas[J]. IEEE Intelligent Transport Systems,2006,153 (1) : 63-75.
[14] Chen Q,OzgunerU,Redmill K. Developing acompletely autonomous vehicle[J]. IEEE Intelligence Systems,2004,19(5) : 8-11.
[15] 张新丰,林凯,刘旺,等.汽车语控智能电器系统[J].汽车工程,2007,29 (7):601-605.
[16] 韩玉敏.汽车智能电子节气门控制系统研究[J].交通科技与经济,2006,8(2):87-89.
[17] 赵岩,王哈力,等.汽车智能雨刷系统的设计[J].电子科技,2007,2(209): 70-72.
[18] Xin J ianghui,Li Shunming,Liao Qingbin,et al. The application of fuzzy logic in exploration vehicle[C]//.International Conferenceon Fuzzy Systems and Knowledge Discovery.2007:195-203.
[19] 王珊,王会举,覃雄派,等.架构大数据:挑战现状与展望[J].计算机学报,2011(10):1741-1752.
[20] 余凯,贾磊,陈雨强.深度学习:推进人工智能的梦想[J].程序员,2013(6): 22-27.
篇10
【关键词】粮食 种植面积 指标体系
一、引言
粮食种植面积是保证国家粮食供给安全的重要前提,研究粮食种植面积是十分有意义的。国家粮价收购政策、农业从业人员、粮食进出口贸易、农民受教育程度、城乡收入差距等因素都影响着粮食种植面积,为综合度量各因素对粮食种植面积的影响程度,下文将建立指标体系进一步分析。考虑到数据的可得性,再参考现有文献研究成果的基础上,本文选取投入、产出及可持续发展三个方面的指标建立有关粮食种植面积的指标体系。为了更好的研究它们之间的关系,决定采用多元线性回归模型、Bagging、m-Boosting回归模型、支持向量机回归、决策树、神经网络等方法分别对其进行分析,以期得到最有效的结论。
二、方法介B
在研究变量对变量的影响或变量之间的关系时,人们最先想到的是回归,而线性回归模型的前提假设较多且要求较高,所以现实数据是很难满足这些条件,即使是满足,还要受到其他因素的影响,近年来,随着专家学者们对建模认识的逐渐深入,再加上计算机技术的快速发展,出现了诸如决策树、m-boosting等机器学习算法,这些算法模型在建模之前对数据没有做出任何假定,使用的是诸如一致性、无偏性等概念进行建模,能够很好的解决多元线性回归的不足,预测精度高,所以本文在建模中引入机器学习方法对粮食种植面积进行研究。
决策树(Decision Tree)是在已知概率的基础上,通过计算预期的净现值大于或者等于零的概率来评价某一项目运行的风险。随机森林是用随机的方式建立一个“森林”,森林里面有很多的决策树组成。Bagging与m-Boosting算法类似,区别在于Bagging训练集的选择是随机的,各轮训练集之间相互独立,而m-Boosting训练集的选择不是独立的,各轮训练集的选择与前面各轮的学习结果有关。神经网络本质上是人脑处理信息方式的简化模型。支持向量机(SVM,Support Vector Machines)有两种功能,一是对数据进行分类,二是对数据进行回归,目前主要用于对小样本、非线性及高维数据进行分类和回归。
三、实证分析
粮食种植面积指标体系的建立是从投入、产出及可持续发展三个角度出发的,投入是指种植粮食的成本,产出是指通过种植粮食获得的收入,可持续发展是综合考虑影响粮食种植面积的其他因素。具体的指标选择如下表:
其中:自然灾害成灾率=成灾面积/受灾面积;人力资本:受教育程度初中及以上劳动力
比重;农业劳动力比重:乡村就业人数占乡村总人口的比重;农业增加值比重=农业增
加值/国内生产总值。
数据来源于《中国统计年鉴2015》与《中国农村统计年鉴2015》,时间维度为1990~2014年。粮食最低收购价格用稻谷、小麦和玉米的平均价格计算。由于我国粮食最低收购价格政策是从2005年开始实施的,故粮食的最低收购价格只有2005年之后数据,2004年及之前的粮食最低收购价格用当年粮食的最低收购价格代替。
在建模之前为了消除数量级和单位对模型精确性的影响,对数据进行标准化处理,利用标准化之后的数据进行建模,可以得出各种机器学习回归方法关于训练集和测试集的错判率,具体如下表2:
由上表可知,利用随机森林建模所得的训练集与测试集的错判率最低,分别为0.084与0.729,故选择随机森林回归模型作为最终回归模型。通过随机森林回归模型可以得到每个变量的对粮食种植面积的重要性排名,结果显示农业劳动力比重、农业机械总动力、农用化肥施用量、农村居民家庭人均纯收入和农业增加值比重对粮食种植面积的影响排在前五位,其中前三名分别为劳动力投入、机械投入和资本投入,可以看到粮食种植的投入对种植面积的影响很大,排名第四和第五的指标属于地区经济发展水平,显然地区经济发展水平对种植面积的影响也是非常大的。
四、研究结论
为了保障粮食安全,我国需要将增加农民收入放在粮食保护政策的第一位。本文从投入、产出及可持续发展三个角度出发建立了粮食种植面积的指标体系,并利用多元线性、Bagging、m-Boosting回归模型、支持向量机、决策树、随机森林、神经网络等回归模型分别对粮食种植面积的影响因素进行了分析,分析表明,使用随机森林建模方法随机森林准确度最高。对影响因素的重要性进行度量可以发现,排名前五位的为农业劳动力比重、农业机械总动力、农用化肥施用量、农村居民家庭人均纯收入和农业增加值比重,可以得到粮食最低收购价对粮食种植面积有一定的影响,但其影响力低于农业劳动力比重与农村居民家庭人均纯收入。
参考文献
[1]王双英,王群伟,曹泽.多指标面板数据聚类方法及应用――以行业一次能源消费面板数据为例[J].数理统计与管理,2014,01:42-49.
[2]兰录平.中国粮食最低收购价政策研究[D].湖南农业大学,2013.