基于随机森林的硬盘故障预测算法的研究

基于随机森林的硬盘故障预测算法的研究

ID:33569437

大小:2.35 MB

页数:64页

时间:2019-02-27

上传者:U-56225
基于随机森林的硬盘故障预测算法的研究_第1页
基于随机森林的硬盘故障预测算法的研究_第2页
基于随机森林的硬盘故障预测算法的研究_第3页
基于随机森林的硬盘故障预测算法的研究_第4页
基于随机森林的硬盘故障预测算法的研究_第5页
资源描述:

《基于随机森林的硬盘故障预测算法的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

万方数据中图分类号:UDC:学校代码:10055密级:公开高恐夫瀑硕士学位论文基于随机森林的硬盘故障预测算法的研究HardDriveFailurePredictionBasedonRandomForest论文作者塞测指导教师奎空值副熬援申请学位王堂亟±培养单位塑鲑堂院学科专业让篡扭筮鲑生理途研究方向扭墨堂习答辩委员会主席塞4堡评阅人王圈9割瞳羞南开大学研究生院二。一四年五月 万方数据南开大学学位论文使用授权书根据《南开大学关于研究生学位论文收藏和利用管理办法》,我校的博士、硕士学位获得者均须向南开大学提交本人的学位论文纸质本及相应电子版。本人完全了解南开大学有关研究生学位论文收藏和利用的管理规定。南开大学拥有在《著作权法》规定范围内的学位论文使用权,即:(1)学位获得者必须按规定提交学位论文(包括纸质印刷本及电子版),学校可以采用影印、缩印或其他复制手段保存研究生学位论文,并编入《南开大学博硕士学位论文全文数据库》;(2)为教学和科研目的,学校可以将公开的学位论文作为资料在图书馆等场所提供校内师生阅读,在校园网上提供论文目录检索、文摘以及论文全文浏览、下载等免费信息服务;(3)根据教育部有关规定,南开大学向教育部指定单位提交公开的学位论文;(4)学位论文作者授权学校向中国科技信息研究所及其万方数据电子出版社和中国学术期刊(光盘)电子出版社提交规定范围的学位论文及其电子版并收入相应学位论文数据库,通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文的权利。非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。论文电子版提交至校图书馆网站:http://202.113.20.163:8001/paper/index.jsp。本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并已通过论文答辩;提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负。本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。作者暨授权人签字:20年月日南开大学研究生学位论文作者信息论文题目基于随机森林的硬盘故障预测算法的研究姓名安洲学号2120110438答辩日期2014年5月15日论文类别博士口学历硕士■硕士专业学位口高校教师口同等学力硕士口院/系/所软件学院专业计算机软件与理论联系电话18600959977Emailanzhou0918@163.tom通信地址(邮编):南开大学西区公寓3.2.304(300071)备注:是否批准为非公开论文注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写(一式两份)签字后交校图书馆,非公开学位论文须附《南开大学研究生申请非公开学位论文审批表》。 万方数据南开大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下进行研究工作所取得的研究成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。学位论文作者签名:——年月日非公开学位论文标注说明(本页表中填写内容须打印)根据南开大学有关规定,非公开学位论文须经指导教师同意、作者本人申请和相关部门批准方能标注。未经批准的均为公开学位论文,公开学位论文本说明为空白。论文题目申请密级口限制(≤2年)口秘密(≤10年)口机密(≤20年)保密期限20年月日至20年月日审批表编号批准日期20年月日南开大学学位评定委员会办公室盖章(有效)注:限制★2年(可少于2年):秘密★10年(可少于10年):机密★20年(可少于20年) 万方数据摘要随着数据中心存储规模的快速增长,以硬盘为主要载体的存储系统可靠性成为影响计算机系统可靠性的关键因素。然而传统的容错机制,如硬盘镜像、纠删码等,还存在着存储成本较高、故障恢复期间用户体验度降低、故障恢复代价较高等缺点,难以满足数据中心不同需求。近年来,研究者采用一些机器学习方法基于硬盘的SMART属性来对硬盘建立故障预测模型,对硬盘可能发生的故障进行提前预测,并取得了比较好的预测效果。但之前的研究大部分使用单分类器模型,由于硬盘的故障属于一类小概率事件,硬盘数据分布不平衡,使得这些模型不能很好应用在现实世界的数据中心。本文以预测硬盘故障、提高存储系统可靠性为研究内容,根据硬盘SMART数据的特点,分布不平衡,提出了一种基于随机森林算法的硬盘故障预测模型,旨在保证在故障误报率低的情况下,提高故障的检测率。目前所进行的研究主要包括:1、根据硬盘SMART数据的分布,定性分析了SMART特征值与硬盘故障的相关性,选取出更适合于随机森林模型的特征值。2、对硬盘进行故障预测属于一种不平衡分类问题,提出了随机森林算法建立故障预测模型,与神经网络模型进行了对比,在硬盘故障检测率和误报率上随机森林模型取得了更好的实用性。3、针对随机森林建立的硬盘故障预测模型进行了分析,在理解森林中单棵决策树与森林整体预测效果的关系后,根据森林中决策树准确率对随机森林进行了修剪,提高了硬盘故障预测的效果。4、在对硬盘进行故障预测时,随着测试硬盘距训练模型时间间隔的变大,模型出现“老化"的现象,针对这一问题,对模型进行了更新,以保持对故障预测的效果。关键词:硬盘故障预测,SMART,特征选取,随机森林 万方数据AbstractWiththerapidgrowthofdatacenterinstoragesize,thereliabilityofthedisk—basedstoragesystemisbecomingoneofthemostimportancefactorsthatinfluencingthereliabilityofthecomputersystem.However,likeharddiskmirroring,erasurecodes,thetraditionalfault-tolerantmechanismshassomedisadvantages,suchasthestorageandrecoverycostishigh,userexperienceisreduced,SOitisdifficulttomeetthedifferentneedsofthereal—worlddatacenter.Recently,anumberofstatisticalandmachinelearningmethodsareusedtobuildapredictivemodelofharddrivefailurebasedontheharddiskSMARTattributes,andsomehasachievedgoodpredictionresultsinimprovingthereliabilityofstoragesystems.However,mostpreviousstudiesusingsingleclassifiermodel.Theharddiskfailureisaclassofsmallprobabilityeventandunevendistribution,SOthatthesemodelsarenotwellappliedinreal.worlddatacenter.Thispapertakesthepredictionofharddiskfailureasthetopic.AccordingtocharacteristicsoftheharddiskSMARTattributes,weproposesnewharddiskfailurepredictionmodelbasedonrandomforests.whichperformbetterinalower铷sealarmrateandhigherfailuredetectionrate.ThepredictionmodelCanreducetheriskofdatalostandgreatlyimprovethereliabilityofstoragesystems.Wehavecompletedtheseresearchworksasfollows:AccordingtothedistributionofharddiskSMARTattributes,wequalitativeanalysistherelevanceofSMARTattributeandthefailureofharddisk,andthenchoosethesuitableattributestobuildtheRandomForestmodel.WebuildharddiskfailurepredictionmodelbasedonRandomForest,whichperformbettercomparedtotheBackpropagationartificialneuralnetworkmodelinfalsealarmrateandfailuredetectionrate.WeanalysistheRandomForestmodelandproposeadecisiontreeaccuracybasedpruningmethodforRandomForest,whichimprovedtheharddiskfailurepredictionperformance.Astimegoeson,thepredictionmodellosetheaccuracy,SOthemodelhastobeupdatedtokeeptheeffectsoffailureprediction.KeyWords:harddiskfailureprediction,SMART,featureselection,RandomForestII 万方数据目录摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..IAbstract...............................................................................................II第一章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1第一节研究背景⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.1第二节研究目的和意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.4第三节国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.5第四节论文结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.7第二章相关研究工作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9第一节SMART⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯92.1。1SMART简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯92.1.2SMART的应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一10第二节基于神经网络算法的硬盘故障预测模型⋯⋯⋯⋯⋯⋯⋯⋯⋯112.2.1神经网络算法概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..112.2.2基于神经网络的硬盘故障预测⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.16第三节本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯17第三章基于随机森林的硬盘故障预测模型⋯⋯⋯⋯⋯⋯⋯.19第一节随机森林算法概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯193.1.I决策树算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.193.1.2装袋算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.213.1.3随机森林⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。22第二节基于随机森林的硬盘故障预测⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26第三节随机森林算法的改进⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯29TTT 万方数据目录3.3.1随机森林模型分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.303.3.2随机森林模型优化算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.30第四节本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯32第四章实验结果与分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一33第一节数据集介绍以及数据预处理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯334.1.1SMART数据集介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..334.1.2特征值选取方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.344.1.3数据集的选取⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.39第二节算法评估方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯39第三节随机森林算法预测结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41第四节预测模型更新⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯48第五节本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯50第五章总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一51参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯53致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯56个人简历⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯57IV 万方数据第一章绪论随着互联网技术的迅猛发展、信息数字化和电子化水平的不断提升,全球信息总量以爆炸式的速度增长,大数据、云计算给大规模数据中心同时带来了机遇和挑战。随着新型存储技术的出现,使得存储系统正向着大存储容量、高可靠性和低成本的方向不断迈进。相关文献表明,在世界上所有产生的新的信息超过90%存储在磁介质上,其中大部分是硬盘驱动器【1j。在计算机产业中,硬盘是一种可靠的存储设备,对于常见的硬盘驱动器模型,每年发生故障的概率仅为0.3.3%,然而硬盘一旦发生故障,所造成的损失将是非常严重的。如何对硬盘即将发生的故障进行预测,提供给用户充足的时间对数据进行备份,这已经成为当前面临的重要问题。第一节研究背景随着信息技术产业的飞速发展,全球信息量呈现爆炸式的增长趋势。据统计数据显示,1985年个人计算机时代,全球数据总量为20PB(1PB=1024TB);2000年互联网时代,全球数据总量7660PB;2013年大数据云计算时代全球数据总量已经暴涨到2150692PB,也就是2.15ZB(1ZB=1024EB,1EB=1024PB)。据互联网数据中一I二,(IntemetDataCenter,IDc)报告显剥2|,到2020年这个数据将达到40ZB(相当于4万亿GB),这一数据量是2013年的19倍。在花费一分钟的时间阅读本段文字时,新浪微博已经发送了2万条微博,苹果APPStore已经下载了4.7万次应用,淘宝交易了6万件商品,人人网发生了30万次访问,百度产生了90万次搜索查询,大量数据的产生,对硬盘的存储需求正在不断的增加。近几年的全球数据总量以58%的速度增长,并且在持续加快增长。随着现代硬盘驱动器技术的发展,硬盘朝着低成本、高容量的方向迈进,成为建立现代化社会所依赖的存储设备。高容量、消费级硬盘驱动器已经成为一种成功的产品,其部署范围从个人电脑到大型数据中心。相关文献表明,在世界上所有产生的新的信息超过90%存储在磁介质上,其中大部分是硬盘驱动器。尽管硬盘驱动器在现代存储系统中发挥着巨大的作用,但是对其的故障模 万方数据第一章绪论式有较少的研究,这是影响硬盘正常工作的关键因素。大部分可用的信息都是来自硬盘制造商,他们的数据通常是基于少量硬盘的加速寿命试验数据【11。加速寿命试验虽然提供了一些可能会影响硬盘驱动器寿命的环境因素,但是在用户的使用过程中实际故障预测效果却不好。硬盘的故障可能会导致用户数据的严重损失,给用户造成巨大的经济损失,对于提供7*24服务的企业来说,意外的停机将影响用户的体验,甚至给企业带来巨大的经济损失。据统计,类似淘宝、京东等大型电子商务网站意外宕机一小时会带来数十万的直接经济损失;银行等金融机构意外停机一小时带来的经济损失将更加巨大,不仅如此,如果出现关键数据的缺失将引发灾难性的后果【3】。许多研究人员致力于研究通过数据冗余HJ的方式来提高存储系统的可靠性,其中较为常用的两种数据冗余方法有镜像和纠删码。硬盘镜像(Mirroring)15,6】技术是一种提高存储系统的容错和性能非常有效的技术。随着硬盘价格的不断下降、以及镜像技术的易实现性,使得镜像技术已经被越来越频繁地应用到存储系统中。镜像技术是通过将数据同时写入多个硬盘中来达到容错的目的。多块硬盘存放相同的数据,可以大幅度提升存储系统的可靠性。然而,这样也带来一个问题,整个存储系统中有大量的副本,有效的存储率非常低,并且随着数据的快速增长,简单的镜像存储使得系统的可靠性建立在高成本的基础上,已经不能满足数据中心的不同需求。纠删码(ErasureCoding)[71技术,这是一种典型的在硬盘发生故障之后用来重构损失数据的后期容错机制。在大型数据存储中心,为了提高系统的可靠性,利用纠删码算法对硬盘中的原始数据进行编码,产生一组冗余数据,将原始数据与计算出的冗余数据同时存储起来,通过冗余数据可以达到容错的目的18J。当前纠删码编码方式应用于冗余磁盘阵列(RedundantArraysofInexpensiveDisks,RAID)19,10],其基本思想就是通过对m块硬盘数据进行一定的编码,得到n块冗余数据盘,对于这m块数据盘和n块冗余盘来说,只要出现故障的硬盘小于n块,就可以通过相应的重构算法将m块数据盘重新恢复出来,以达到恢复数据的目的,此时系统的存储率为m/(m+n)。一般情况下,相对于镜像技术,冗余磁盘阵列的存储空间利用率有了一定的提升。硬盘镜像(副本)和纠删码都是在硬盘的故障发生之后,对数据进行恢复的技术。在大型存储系统中,当超过一定数量的硬盘数据同时丢失时,这种技术仍不能满足可靠性需求。通过数据冗余的方式提高存储系统的可靠性,这是一2 万方数据第一章绪论种在系统发生故障之后对数据进行恢复的过程,并没有有效地提前预防故障的发生。在硬盘发生故障之后,对硬盘进行数据恢复时将占用大量的系统资源,并且会延长系统的宕机时间,降低了对用户的服务质量。因此,根据硬盘的现有属性,对硬盘可能发生的故障进行预测具有重要的意义。在硬盘正常使用过程中,对硬盘的一些指标进行监控,根据硬盘各项指标的变化趋势对硬盘的状态进行预测,这样可以对即将发生故障的硬盘提前进行处理。目前,对硬盘健康状态进行监控的技术主要分为三类【111。第一,在硬盘的正常使用过程中,使用外部传感器如加速度和声发射传感器监测硬盘振动信号的变化情况【l21。但是将传感器放置在何处是一个问题,如果将传感器放在硬盘的外部不能获得硬盘签名,而附加在硬盘驱动器中可能会损坏其自身的组件以及增加硬盘的外观大小。第二,利用存储系统中的日志文件,其收集了部署在存储系统中软硬件的错误事件[3,13J。但是,这种技术缺乏对硬盘状态的精确监控,日志文件通常不能提供与硬盘性能相关的重要信息。第三,利用硬盘的一种内置功能,现代硬盘内置了一种标准化的规范即自我监控、分析和报告技术(Self-Monitoring,Analysis,andReportingTechnology,SMART)[14J,其收集了一些硬盘自身属性的值,如盘片启动时间、硬盘温度和电流等等,通过对这些属性值进行记录和分析,以此来确定硬盘的健康程度,从而减少了外部因素对硬盘状态检测的影响【151。这种技术的巨大优势使得大多数硬盘制造商采用这种技术,在硬盘中植入了状态监测选项。SMART是根据检测到的一组硬盘内部属性来对硬盘的故障进行预测,故障预警算法是由硬盘厂商来制定的,该算法会检测某个属性是否达到指定的阈值,以便给出一个二进制数值来表示是否产生故障预警。计算机操作系统可以发出标准化的驱动命令来启用以及读取故障预警,两个主要的计算机驱动接口标准ATA和SCSI已经定义了这些命令。如今,从个人计算机到超级计算机使用最广泛的3.5寸硬盘驱动器中,大多数都实现了SMART技术。然而,尚不清楚当今有多少计算机系统可以启用和读取SMART警告。在一些个人计算机中,当其启动时由CMOS/BIOS固件来检查SMART。硬盘驱动器制造商提供诊断程序来读取SMART属性,对超出阈值的情况向用户发出预警IJ纠。然而,硬盘制造商使用SMART技术对硬盘的健康程度仅提供了一个基本的评价。比如,对于每个监测的属性来说,“没有超出阈值"代表硬盘正常;“超3 万方数据第一章绪论出阈值”则代表硬盘故障。各个属性的阈值是由制造商依据经验确定的,在硬盘的使用过程中,被监测到的任何一个属性的值超出预定的阈值时,这块硬盘就被认定为发生故障,可以与制造商进行置换新硬盘。显然,从制造商的角度来考虑,要设置一个较低的阈值来降低对好盘的误报率;不过这样就带来一个后果,单纯依靠制造商所设置的阈值来进行故障预测就会产生较低的故障预测率(SMART算法的故障预测率为3.10%t17J)。第二节研究目的和意义随着用户对数字化信息的依赖程度逐渐增强,存储系统应在提供正常服务的前提下,确保用户数据的不丢失,因此,为避免用户数据因设备故障而造成损失,研究一种有效的硬盘故障预测算法具有极其重要的现实意义。硬盘的故障可能会导致用户数据的严重损失,给用户造成巨大的经济损失,对于提供7*24服务的企业来说,意外的停机将影响用户的体验,甚至给企业带来巨大的经济损失。据统计,类似淘宝、京东等大型电子商务网站意外宕机一小时会带来数十万的直接经济损失;银行等金融机构意外停机一小时带来的经济损失将更加巨大,不仅如此,如果出现关键数据的缺失将引发灾难性的后果。另一方面,硬盘是计算机中最重要的存储设备,设计和生产高度可靠的硬盘是制造商维持市场份额至关重要的因素。虽然大规模存储系统的性能得到了很大的提升,但随着存储容量的不断增大,对存储系统的可靠性要求越来越高,存储系统变得越来越复杂,一个节点可以轻松达到1000块硬盘【18】,这对于硬盘制造商和用户来说了解和预测硬盘的故障已经成为一个有挑战性的任务。单块硬盘的可靠性非常高,但存储系统的规模不断增大,存储系统由成千上万的设备构成,这使得系统出现问题成为常态【19,20】。据Schroeder和Gibson的研究显示【2l】,硬盘的年故障率已经高于1%,一般情况下为2-4%,在比较极端的情况下达到13%。从目前硬盘技术的发展趋势来看,硬盘容量的增长速度已经高于硬盘间传输数据的增长速度,因此当硬盘发生故障之后对其进行重构所耗费的时间会越来越长,这也意味着系统宕机时间的延长。通过数据冗余的方式提高存储系统的可靠性,这是在系统发生故障之后对数据进行恢复的过程,并没有有效的提前预防故障的发生。4 万方数据第一章绪论与之相反的是,我们通过一定前期工作在硬盘发生故障之前对其进行预测,从而可以提前采取措施,降低硬盘故障所引发的损失。当前,大部分现代硬盘制造商在其硬盘中都实现了SMART技术,当然如果仅仅依靠SMART技术,在误报率为0.1%的前提下其故障检测率仅为3.10%。可以看出,单纯依靠硬盘制造商内置的故障预警技术,故障检测率过低,已经远远不能达到理想的预测效果,对存储系统可靠性的提高帮助不大。为了提高硬盘故障的检测率,许多研究人员以SMART属性为基础,应用统计学和机器学习的方法来训练硬盘故障预测模型。尽管这些方法可以提高故障检测率,但它们还是有一些不足。第一,这些方法对于硬盘故障检测并没有一个较好的解释性,不能很好的提高故障预测效果,误报率有待进一步降低;第二,这些方法所训练的预测模型并没有应用在真实的存储系统中,对预测模型的评价是根据若干年前的数据进行的。第三,由于大部分预测模型都是基于单个分类器进行的,在稳定性方面效果不是太理想。本文中所使用的数据是从大型数据中心获取的,硬盘型号统一,外界坏境是一样的,减少了外部因素对硬盘故障的影响。另外由于故障盘的数量比较少,好盘与坏盘数据不均衡,我们采取的随机森林算法,对分布不均衡数据有较好的容忍度,因此,构建了随机森林模型用于硬盘的故障预测。在此基础上,通过分析硬盘数据集特点,对随机森林模型进行优化,采取一定的策略对随机森林进行修剪,以便进一步提高预测模型的准确率,并降低对好盘的误报率。第三节国内外研究现状仅仅依靠硬盘制造商所提供的算法进行硬盘故障预测,故障检测率过低,实用价值不高。本节主要对国内外学者就SMART属性而展开的硬盘故障检测算法和技术的相关研究成果进行介绍。Hamerly和Elkan/22】使用硬盘内部的SMART属性基于两种贝叶斯算法对硬盘的故障进行了预测。他们首先将硬盘的故障预测问题当做一种异常检测,使用期望最大化算法来训练一个贝叶斯聚类混合模型;第二种方法是使用一个监督学习的朴素贝叶斯分类器,这种方法足够简单,因此可以将其固化在硬盘驱动器中。文献中采用的数据集是由Quantum公司提供的,其中包括1927块好盘和9块故障盘数据,在误报率为1%的情况下,基于期望最大化的朴素贝叶斯5 万方数据第一章绪论模型取得的故障检测率为35.40%,使用朴素贝叶斯分类器对硬盘的故障检测率为55%。Hughes[16】等人提出了两种统计学方法用来提高SMART算法的故障检测率。他们利用硬盘驱动器内部的SMART属性,硬盘中原本的算法是依据最大误差阈值,然而Hughes发现许多SMART属性都是非参数分布的,这促使他们采用了秩和检验统计来对硬盘进行故障预测。秩和检验统计在硬盘内部实现也相当简单,同时Hughes提出了两种不同的策略:对多个属性进行秩和检验统计以及对单个属性进行秩和检验统计,之后对单个属性产生的结果再进行“或"运算以达到最终的结果。两种方法的实验数据都是在3744块硬盘上进行的,其中仅有36块故障盘,这些测试盘属于包括两种不同的驱动模型。文献中得到的故障检测率在误报率仅为0.2%的前提下比单纯依靠阈值算法的故障检测率高出3.4倍,最高的故障检测率达到40.60%。Murray[23】等人将支持向量机算法、无监督聚类算法以及两种非参数统计方法运用到硬盘的故障预测中,并对其实验结果进行了比较,发现其中一种非参数统计方法秩和检验取得了最好的预测效果,在误报率为0.5%的前提下,故障检测率为33.2%。他们采用的数据集是由369块硬盘组成的,其中好盘与坏盘比例将近1:1。随后,Murray又提出了一种基于多实例朴素贝叶斯的新算法【l71,很好地降低误报率。他们发现在相同的数据集上,在所选择的属性值较少的情况下,非参数秩和检验统计方法的故障预测效果要比支持向量机算法好(零误报率的情况下28.1%的故障检测率)。然而,如果将所有的25个SMART属性都作为特征值,支持向量机算法取得了更好的预测效果,零误报率的前提下,故障检测率达到50.6%。Y.Zhao[24】利用了隐马尔科夫模型和隐半马尔科夫模型来建立硬盘的故障预测模型。他们不再将硬盘的样本当做孤立的数据进行处理,而是将每块硬盘的监测样本当做一个时间序列的数据对其进行建模,选取部分好盘对其建立一个好盘模型,之后对坏盘的训练数据也建立一个坏盘模型,在进行故障预测时,将测试样本与两个模型进行比较来确定硬盘的故障与否。马尔科夫模型的一个优点是不再需要花费大量精力对模型参数进行调整。文献中数据集与Murray所采用的数据集相同,实验结果显示将硬盘样本当做一个时间序列的数据集,预测效果要好于把硬盘样本当做孤立数据进行处理的算法。当使用单个SMART属性作为特征值时,隐马尔科夫模型和隐半马尔科夫模型在零误报率的情况下,6 万方数据第一章绪论其最好的故障检测率分别为46%和30%。当选取两个SMART属性时,隐马尔科夫模型取得了52%的故障检测率和O%的误报率。Wang[z51采用了一种基于马氏距离(Mahalanobisdistance,MD)的策略进行硬盘的异常检测。文献中采用的数据集与Murray所采用的数据集相同,他们使用FMMEA(失效模式,机制与效应分析)方法从原始样本属性中选取部分属性进行实验,实验显示其对硬盘故障的预测效果要比将样本的所有属性都用上的预测效果要好。在他们随后的研究中【2引,根据最小冗余、最大相关性原则又去除了一部分冗余属性,根据选取好的特征建立一个好盘的马氏距离空间模型,通过调节故障检测准确率和误报率来确定一个距离。使用这种方法,在零误报率的情况下,硬盘的故障检测率为67%,并且其中56%的坏盘可以在真正发生故障之前20小时以上被检测出,留给用户备份的时间。最近,Zhu[27】等人使用人工神经网络(AnificialNeuralNetworks,舢呵N)基于硬盘SMART属性进行了故障预测,所使用的是来自大型数据中心的23,395块硬盘。通过后向传播算法来训练神经网络,并提出了一些策略来提高硬盘故障预测的准确率,相比之前的算法在故障检测率上取得了很大的提升,在误报率为0.48%的情况下,故障检测率达到了94.62%。第四节论文结构本文基于上述背景,提出了基于随机森林算法的硬盘故障预测模型,并详细描述模型的训练、预测系统的建立,并对关键问题进行了探讨和验证。论文的主要内容及章节安排如下:第一章为绪论。介绍本文的研究背景、研究意义、硬盘故障检测国内外研究现状以及文章的结构安排。第二章为相关研究工作。主要分析硬盘的SMART属性的特点、SMART属性当前应用现状,并介绍了当前应用于硬盘故障检测问题效果最好的神经网络算法,故障预测模型的预测效果。第三章为基于随机森林的硬盘故障预测模型。简要介绍随机森林算法的发展过程,介绍随机森林的泛化误差,决策树相关度和强度对随机森林的影响。根据硬盘SMART数据分布特点,提出了基于随机森林算法的硬盘故障检测模型,并在此基础上,根据森林中单棵决策树的故障预测准确率,对模型进行了7 万方数据第一章绪论优化,以提高模型的预测效果。第四章为实验结果与分析。主要介绍了实验所用的硬盘数据集,定性分析了SMART特征值与硬盘故障的相关性,选取出更适合于随机森林模型的特征,用于随机森林模型的构建,对模型的预测效果进行了评估,并与神经网络模型进行了对比,对于预测模型“老化”问题进行了研究,采取一定的策略对模型进行更新,保证模型故障预测的稳定性。第五章为总结与展望。主要对本文进行总结,并展望下一步的研究方向。8 万方数据第二章相关研究工作在第一章中介绍的国内外一些学者的研究成果,对硬盘故障检测都是基于硬盘的SMART属性,借助不同方法和技术来实现的。在进行新的硬盘故障预测技术研究之前,首先有必要了解一下什么是SMART。本章就SMART的相关概念和应用现状展开阐述。2.1.1SMART简介第一节SMARTS.M.A.R.T即自我监测分析和报告技术,起源于1992年IBM硬盘驱动器中的故障预警分析技术,通过检测硬盘的几个属性来评估其健康程度,不久之后,微机制造商Compaq和硬盘制造商Seagate、Quantum、Conner共同提出了IntelliSafe技术,与故障预警分析技术类似,由硬盘检测属性获取其健康指标,于1995年更名为SMART【281。SMART是通过使用多种方法和传感器来监测硬盘的状态,将检测到的属性传递给监控软件。一个A]队硬盘最多可以有30个这样的监测值,每个值都代表其中一维属性,这些属性直接或间接的影响着硬盘的健康状况,或者用于提供一些硬盘运行的统计信息。如表2.1所示,列举出一些常见的硬盘SMART属性及其含义。当前,大部分现代的IDE、串行ATA、SCSI硬盘都实现了SMART功能。但SMART并不是一个标准,也就是说对于不同的硬盘制造商来说,其所记录的属性可能具有不同的含义或者记录值,其有权决定哪些属性需要进行监控以及该属性的阈值大小。当然,其中一些属性被所有的硬盘制造商使用,并且使用方式是相同的或相近的,比如硬盘的温度、运行时间等等。最初的SMART规范(SFF.8035i)是由一些硬盘驱动器制造商制定的【14】,随后对其进行的修订(1996.04)中硬盘内部的30个属性对应着硬盘不同的性能和可靠性。每个属性都占用两个字节,其中一字节对应从1到253规范化的值,另一字节对应该属性的阈值。如果一个或多个规范化的属性值小于或等于其相应的9 万方数据第二章相关研究工作阈值,则硬盘将在24小时之内发生故障,或者硬盘已经超出了其设计或使用的寿命。一些属性会在硬盘的正常使用过程中进行更新;而另一些属性只能通过离线进行统计测试,暂时减缓硬盘的读写速度进行更新,对于这种属性来说需要有一种特殊的运行命令。表2.1常见的SMART属性ID属性名含义lRawReadErrorRate底层数据读取错误率3Spin-upTime盘片启动时间5ReallocatedSectorCount重定位磁区计数7SeekErrorRate寻道错误率9Power-OnHours硬盘加电时间187ReportedUncorrectableErrors报告不可纠正错误189HighFlyWrites磁头写入高度194Temperature硬盘温度195HardwareECCRecovered硬件ECC恢复197CurrentPendingSectorCount等候重定的扇区计数每个属性都有一个六字节的原始值以及一字节的规范化之后的值,比如对于温度对应属性的原始值存储着三个温度,磁盘的摄氏温度以及其使用过程中的最低和最高温度。不同磁盘制造商之间原始值的格式是不同的,国际上并没有指定任何公共的标准。为了监控硬盘的可靠性,硬盘的固件将原始值转化为从1到253规范化的值,对该属性有一个更为直观的展示,但同时也会丢失一些精度。2.1.2SMART的应用自1994年起,硬盘制造商已经在其产品中内置了一种自我监测技术,尽可能早的预测硬盘的故障,以便用户有充足的时间对数据进行备份【l6|。在硬盘正常工作时(以及离线进行测试),SMART技术利用从硬盘中收集到的属性设置一个故障预测的标识位。SMART标识位是可以由操作系统或第三方软件读取的一字节信号,对即将发生的硬盘驱动器故障给用户发出一个警告。一些用来进行故障预测的属性包括计数跟踪寻求重试、读取错误、写故障、重新配置的扇区、磁头读取高度过低或过高以及硬盘温度等等。大多数内部监控属性是错误10 万方数据第二章相关研究工作计数数据,这意味着是正整数的数据值,并且随着时间的推移不断增加的属性值暗示着即将发生的故障。每家硬盘制造商开发和利用自己的一组属性和算法进行硬盘的故障预测,每一次故障警告都预示着用户可以将该硬盘返回厂家进行保修更换,因此相比于提高故障检测率,硬盘制造商更加关注降低其算法的误报率。目前,所有的硬盘制造商都使用一个阈值算法触发SMART标识,即当任何单一属性超出预定值时才引发硬盘的故障警告。这些阈值被设置的相当保守,以避免以误报为代价来提高预测的准确率,可接受的误报率是在每年O.1%的数量级上(1000块硬盘中允许1块的误报)。对于目前驱动器中实现的SMART算法,硬盘制造商的故障检测率为3.10%11。71。采用硬盘制造商所提供的故障预测方法,准确率过低,在真实数据存储中心实际应用价值不高。因此,许多研究人员采用统计学和机器学习的方法基于硬盘SMART构建故障预测模型,用来保证在低误报率的前提下进一步提高故障检测的准确率。在下一节中将对基于神经网络算法的硬盘故障预测模型进行介绍,这种算法相比于之前的研究在故障检测率上有了很大的提升。第二节基于神经网络算法的硬盘故障预测模型Zhu[271使mAI神经网络(ArtificialNeuralNetworks,砧州)基于硬盘SMART属性进行了故障预测,通过后向传播算法来训练神经网络,相比之前的算法在故障检测率上取得了很大的提升,在误报率为0.48%的情况下,故障检测率达到了94.62%。本节首先对神经网络算法进行简单介绍,之后对分析如何应用神经网络算法到硬盘的故障预测问题上。2.2.1神经网络算法概述神经网络通过模仿人脑对信息进行接收、处理的过程,由一组简单神经元通过不同的方式进行连接而形成的一个非线性结构。Rumelhart[291提出了一种神经网络的学习算法,后向传播(BackPropagation,BP)学习算法。 万方数据第二章相关研究工作五恐●:吒图2.1单个神经元模型最简单的BP神经网络是由一个神经元构成的,接收一组输入信号,并根据输入信号与神经元之间的连接权重进行加权,最后经过神经元上的激活函数的作用,产生目标输出值。构成一个神经元的要素有:输入信号与神经元连接的权重、输入信号的加权累加器、激活函数,激活函数主要是将输入信号的加权和限制在一定范围内,形成该神经元的输出值。单层感知机模型如图2.1所示。其中,X,(,=1,2⋯.,n1为神经元,的输入值,w,为连接输入神经元和当前神经元的权值,厂(.1为当前神经元的激活函数。神经网络一般是由一个输入层、一个或多个隐藏层以及一个输出层构成的。神经网络的训练过程,或称为学习阶段,通过调整连接各层神经元的权值,使得输入信号经由网络传播后误差最小,以达到模型预测的效果。后向传播算法将训练过程分为两个阶段进行,输入信号正向传播到输出层的过程以及误差反向传播的过程。在输入信息正向传播阶段,输入信号从输入层进行网络,通过加权求和以及激活函数的作用,经隐藏层传播到输出层节点,产生输出值。此时,神经元之间的连接权值保持不变,输出值仅由输入信号影响。当经过正向传播所得输出值与预期的结果不相符时,则进行误差的反向传播过程。在进行误差反向传播时,将误差从输出层开始,向输入层进行传播,调整各层神经元连接权值。通过这两个过程,不断调整神经元之间的权值,当输出值与预期结果误差满足要求时,神经网络训练完成130l。如图2.2所示,一个三层的神经网络结构。12 万方数据第二章相关研究工作输入层隐藏层输出层图2.2BP神经网络模型结合图2.2,对神经网络算法进行介绍,基本框架如算法2.1所示:13 万方数据第二章相关研究工作在开始训练神经网络之前,首先应当确定输入层的神经元个数、隐藏层层数以及每层的神经元个数、输出层神经元个数,这样神经网络的拓扑结构才能确定下来。之后就可以开始神经网络的学习阶段,(1)初始化神经网络的权值和偏倚:随机初始化连接各层神经元的权值,每层节点公用一个偏倚,都初始化为比较小的随机数,但是各个权值和偏倚不能相同。(2)正向传播输入信息:首先,从训练样本中提取属性作为网络的输入,对于输入层节点,来说,输出值D,和它的输入值,,相等。然后,开始计算隐藏层每个节点的输入值和输出值。隐藏层节点的输入值是与该节点相连的输入层节点输出的加权和,也就是说,每个隐藏层节点与多个输入层节点相连接,每个连接上都有一个权值,隐藏层节点的输入值就是连接该节点的输入乘以对应权值,最后求和。对于输出层上节点的输入值有相同的求法。下面给出隐藏层节点,的输入I,:IJ=∑。Kq+臼,(2.1)14 万方数据第二章相关研究工作其中,w,是上一层节点f与当前节点.,连接的权值,0,是上一层节点f的输出值,0,是当前节点,的偏倚。隐藏层和输出层节点的输入值再经过激活函数的作用,就可以产生该节点的输出值,以便向前进行传播,计算下一层节点的输入值。常用的激活函数有logistic和sigmoid函数,对于给定的隐藏层或输出层节点歹输入,,而言,其输出p.计算方式如下:q=专(2.2)使用激活函数主要是为了将节点的输入值映射到一个较小的区间内。如图2.3所示,sigmoid函数将输入值映射N[0,l】的区间内。图2.3Sigmoid函数对于输出层节点而言,其输出值就是当前网络对输入样本的预测。(3)后向传播误差:在网络进行学习的过程中,我们需要不断的调整权值和偏倚,以使得网络对输入样本的预测误差更小。对于输出层节点/而言,误差的计算方式如下:Errj--ojO-g)(r.,一g)(2.3)15 万方数据第二章相关研究工作其中,q是当前训练样本通过网络计算出的输出值,乃是当前样本的已知类标号。在计算隐藏层节点J的误差时,我们需要先计算出与之相连的各个输出层节点的误差,隐藏层节点J的误差为:钆--Oj(1-Oj)EErr,一.k(2.4)毒其中,q是当前节点歹的输出值,Errk是与当前节点相连的输出层节点七的误差,%是输出层节点女与当前节点歹的连接权值。网络节点误差计算出来之后,就可以对节点问连接权值进行更新。厶%=aErrjO,形=%手4彤(2.5)(2。6)其中,口是当前网络的学习率,通常取值在0.1之间,如果学习率设置的太大,可能会出现远离最优解的情况;如果学习率过小,权值更新过程比较缓慢。偏倚的更新如下:△g=aE%9j=eJ+△9J(2.7)(2.8)上述过程完成一次,表示学习过程进行了一次迭代。(4)终止条件:当满足如下条件时,训练过程结束,权值的改变量△%小于指定的阈值,输出层输出值与目标值之间的误差小于指定的阈值,迭代次数超出指定的阈值。2.2.2基于神经网络的硬盘故障预测Zhul271最近使用神经网络基于硬盘SMART属性进行故障预测,他们使用了最为常用的BP神经网络来训练预测模型。神经网络模型包括输入层、隐藏层、输出层三层,其中输入层由SMART属性以及部分属性的变化率作为输入,共有16 万方数据第二章相关研究工作19个神经元,隐藏层包括30个节点,输出层有一个节点,用来判断硬盘样本的故障与否,其拓扑结构如图2.4所示【27】,Hiddenlayer图2.4硬盘故障预测BP神经网络模型另外,在对硬盘进行故障预测时,使用了一种基于投票机制的预测方法,提高了故障预测的准确率,在误报率为0.48%的情况下,故障预测准确率达到了94.62%,相比之前对硬盘故障进行预测的方法,有了显著地提高。然而,由于数据集中好盘和坏盘分布不平衡,好盘个数是坏盘个数的五十多倍,因此在故障预测率达到一定水平时,有必要进一步降低好盘的误报率。神经网络算法在应用到硬盘故障预测时,当故障预测率较高时,好盘的误报率也相对较高;在保证好盘的误报率较低时,故障预测率也会有所下降。根据硬盘数据集分布不平衡的特点,本文将引入一种能较好处理不平衡数据的随机森林组合分类算法,在后续部分将随机森林算法应用于硬盘故障预测问题。第三节本章小结本章首先分析了硬盘的SMART属性值,并介绍了SMART属性的当前应用。然后对神经网络算法进行了介绍,神经网络算法在应用于硬盘故障预测问题时17 万方数据第二章相关研究工作取得了较好的效果。但由于硬盘数据分布不均衡,神经网络模型的误报率相对较高,因此有必要在保持较高故障检测率的前提下,进一步降低误报率。根据硬盘数据分布特点,下一章中将引入随机森林算法用于构建硬盘故障预测模型,相比之前的单个分类器,随机森林模型在稳定性上优势明显。18 万方数据第三章基于随机森林的硬盘故障预测模型在硬盘驱动器中提取到SMART属性之后,选择一定的故障预测方法对硬盘进行故障预测。这里将硬盘故障预测问题转换为一种分类问题,根据采集到的每块硬盘数据样本,按照一定的分类规则将硬盘分为好盘和坏盘。本文首次将随机森林算法引入到硬盘故障预测问题中。首先对随机森林算法做一个简单的介绍,随后讨论如何将随机森林算法应用到硬盘故障检测问题上,最后根据硬盘数据的特点对随机森林算法进行改进,以进一步提高硬盘故障检测模型的预测效果。第一节随机森林算法概述随机森林(RandomForest,RF)算法是由LeoBreiman在2001年提出的,顾名思义,是用随机的方式构建一个森林,森林由许多决策树构成。该算法属于一类组合分类器,其基分类器为分类回归树,每棵树是由满足独立同分布的随机样本生成的,这些有差异的样本集是通过Bagging方法进行提取的。下面首先需要了解一下决策树。3.1.1决策树算法决策树(DecisionTree)是一个树状模型,由节点和有向边组成的层次模型。决策树的节点包括根节点、内部节点和叶子节点。一棵树只有一个根节点,在训练阶段根节点代表全部训练集样本,在测试阶段根节点代表全部测试集样本。每个内部节点表示一个属性或特征,按照一定的算法从上层节点的数据集中选取属性,并按该属性对数据集分割成两个或若干个子集。每个叶子节点表示具有一定类别的数据集。通过决策树算法对数据集进行分类时,从根节点开始,每次进行分裂时对数据集按某一个特征进行测试,根据不同的测试结果,将上层节点数据集分割到不同的内部节点子集中,按照这一过程进行递归分裂,直到所有子集都属于同一类别时到达叶子节点。图3.1是一个二分类决策树的示意图。19 万方数据第三章基于随机森林的硬盘故障预测模型图3.1决策树结构图在决策树构建过程中,不同的内部节点分类方式对分类结果有很大的影响,选取对当前训练数据分类能力最强的特征,可以提高决策树的学习效率。在内部节点进行分裂时,根据不同的属性选择度量方法来选取最优的分裂属性。常见的属性选择度量方式有信息增益(informationgain)、信息增益率(informationgainratio)、Gini指数(Giniindex)等等。按照属性选择度量的不同,决策树生长算法有ID3|311、C4.5【321、CARTl33】等。其中,ID3算法是由Quinlan提出的使用信息增益作为属性选择的度量,在内部节点进行分裂时选取信息增益最大的属性作为分裂属性。具有唯一标识的属性的信息增益比较大,但这种划分对实际分类没有帮助,C4.5算法作为ID3的后继,采用信息增益率来作为属性选择度量,可以克服ID3的上述问题。CART算法是LeoBreiman提出的,基于Gini指数作为属性选择度量的决策树算法13引。决策树是一种常用的分类算法,训练时间复杂度较低,易于理解和实现,使用者不需要了解过多的背景知识,在短时间内能够对大型数据集得出可行且预测效果较好的结果,但与此同时单决策树又有一些缺点,容易产生过度拟合的现象,虽然有一些方法可以减少这种情况,但是效果不够理想。为解决单棵决策树过度拟合问题,LeoBreiman提出了随机森林算法,在随机森林中虽然每一棵决策树都很简单,但是将其组合起来功能很强大。森林中每棵决策树进行20 万方数据第三章基于随机森林的硬盘故障预测模型生长时,其训练集是有所不同的,这样可以降低决策树之间的相关度,从而提高随机森林的泛化能力。每棵决策树的训练集都是通过Bagging方法从原始训练集中提取的。3.1.2装袋算法装袋(bagging)t”J算法是有LeoBreiman提出的一种组合分类器,通过自助法抽取不同的训练样本,在此基础上训练不同的基分类器。装袋算法首先通过自助法(bootstrapmethod)从训练集样本中有放回地进行抽样。也就是说,从训练集抽取到一个样本后,由于又将其放回训练集,下次抽样时,该样本有相同的概率被再次选中。假设训练集中包括n个样本,迭代k次,每次从原始训练集中通过自助法抽取样本,得到k个与原始训练集等大小的bootstrap训练集。由于采用的是有放回的抽取,原始样本集的某些样本可能没有在新样本集中出现,而某些样本出现多次的情况【36|。对于原始训练集中的每个样本来说,其没有被抽中的概率为(1—1/刀)”。当原始训练集中样本个数n足够大时,(1—1/刀r≈1/e≈0.368,也就是说,在原始训练集中将近37%的样本不会出现在bootstrap训练集中。在k个bootstrap训练集上,使用初始的学习算法分别进行训练,可以得到k个分类器模型。在对测试集中的样本进行分类时,每个分类器模型返回其预测结果,最终样本的分类结果由k个分类器进行投票,得票高者即为该样本的类21 万方数据第三章基于随机森林的硬盘故障预测模型endfor通过k个分类器模型对测试样本X进行分类,返回占多数的类别3.1.3随机森林3.1.3.1随机森林构造由于单棵的决策树分类器模型精度不高,而且容易出现过度拟合的现象。因此,我们自然可以将不同的分类器组合起来以提高整体预测精度,而这种组合结果被称为集成方法(ensemblemethod)或者元算法(meta-algorithm)。对于集成方法来说,可以组合相同算法在数据集不同部分、属性选择不同的分类器,也可以是不同分类器的组合。其中随机森林算法是由一组决策树组成的集成方法【37】o在传统的分类回归树CART中,内部节点进行分裂时,从数据集所有属性中选取最优属性进行分裂,然后对子节点再采用相同的方法进行分裂,直至叶子节点,为了避免过度拟合,最后对决策树进行剪枝。与CART不同,在随机森林中每棵决策树的构建由下面几步构成。首先根据数据集的不同部分,按照不同的属性选取方法建立一组基分类器模型,然后将测试数据用每个基分类器模型进行预测,最终的分类结果由各个基分类器投票产生。为了建立这些组合分类器模型,需要生成一组随机向量来对原始训练集进行随机选择,以生成不同的训练集,每棵决策树根据相应训练集进行生长。另一个随机过程是在树的生成过程中,在选取分裂属性时,不是从所有属性中按一定计算方法选取最优的属性,而是从N个属性中选取最优的属性进行分裂。这是随机森林的基本思想【3引。随机森林是一种统计机器学习算法,为了得到随机森林,引入多个随机变量,首先为K棵决策树生成K个随机向量9,向量之间满足独立同分布,bootstrap重抽样方法从原始数据集x中抽取(有放回的)与原始样本等大小的多个数据集Xi,然后使用每个bootstrap数据集进行决策树的生成,通过K轮训练之后得到K棵决策树h(X,p1,i-1,2⋯.,k。在每一棵决策树的生长过程中,对内部节点进行分裂时,随机选择N个属性,计算N个属性的指标,选取其中最优属性进行分裂,如此递归,直至所有叶子节点都属于同一个类别,这样一棵决策树生长完毕。当所有的决策树生成之后,随机森林的训练过程结束。在对新样本进行22 万方数据第三章基于随机森林的硬盘故障预测模型预测的过程中,每棵决策树对新样本产生一个标签,最终所有决策树进行投票得出新样本所属类别。H(x)=鹕ma)(∑:。I(h(x,够)=】,)(3.1)其中,h(x,p)表示单棵决策树分类器模型;Y表示出入变量x所对应的输出变量(或称为类别);,(.)为示性函数。图3.2是一个随机森林的示意图。图3.2随机森林结构图随机森林相比单棵决策树来说,结合Bagging算法和随机选取候选属性进行分裂这两个随机特性,使得随机森林算法对噪声有一定的容忍度,具有较高的预测准确率,而且不容易出现过度拟合的问题。3.1.3.2随机森林收敛性当给定一组决策树分类器啊(x),%(x),...,‰(x),相应的训练集是从原始训练集(X,Y)中随机抽取的,定义边际函数(marginfunction)为:mg(X,Y)=口V★,(吃(X)=Y)-maxj,.yav,I(hk(x)=J)(3.2)其中,I(·)为示性函数。边际函数表示的是正确分类所得的平均票数超出错误分类平均票数的程度。所得到的的值越大,表明分类置信度越高。泛化误差(generalizationerror)可下式表示:夕3 万方数据第三章基于随机森林的硬盘故障预测模型PE+=只,,(mg(X,Y)<0)(3.3)其中,下标x,Y表示概率是在X,Y空间定义的。在随机森林中,如果随机森林中决策树的个数足够多,则其满足大数定律,树的结构由hk(X)=h(X,吼)表示。定理3.1随着随机森林中决策树个数的增加,对于所有的随机向量鼠,02⋯.,ok,船‘收敛于R,,(eo(h(x,ok)=Y)-maxI,,局(h(x,ok)=,)x,的值。为了求解所有反向排列的和A,我们使用中间变量4和指示函数忽,,其中4定义如下:35 万方数据第四章实验结果与分析其中:%=,(‘>_)。Jv4=∑%j=i+l(4.1)如果对于某变量的记录数N足够大,则统计变量A服从正态分布,其中均值和方差如下:。一N(N-1)心2—百一,2N3+3N2—5N《2——瓦一如果N比较小,统计变量A的分布可由递归精确地计算。新变量CN(A),表示对于不同N反向排列统计个数,ACⅣ(爿)=∑CⅣ一。(f)i=A一_Ⅳ+l(4.2)(4.3)首先,定义一个(4.4)其中,Co(A)=o;对于彳

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭