资源描述:
《模式识别期末大作业报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、模式识别期末作业BPAdaboost分类器设计目录1BP_Adaboost分类器设计11.1BP_Adaboost模型11.2公司财务预警系统介绍11.3模型建立11.4编程实现3141数据集选择31.4.2弱分类器学习分类31.4.3强分类器分类和结果统计41.5结果今析51BP_Adaboost分类器设计1.1BP_Adaboost模型Adaboost算法的思想是合并多个“弱”分类器的输出以产生有效分类。其主要步骤为:首先给岀弱学习算法和样木空间((x,y),从样本空间中找出m组训练数据,每组训练数据的权重都是1/m。.然后用弱学习算法迭
2、代运算T次,每次运算后都按照分类结果更新训练数据权重分布,对于分类失败的训练个体赋予较大权重,下一次迭代运算时更加关注这些训练个休.弱分类器通过反复迭代得到一个分类函数序列fl,f2,...,fT,每个分类函数赋予一个权重,分类结果越好的函数,其对应权重越大・T次迭代之后,最终强分类函数Frfl弱分类函数加权得到。BP_Adaboost模型即把BP神经网络作为弱分类器.反复训练BP神经网络预测样本输出•通过Adaboost算法得到多个BP神经网络弱分类器组成的强分类器。1.2公司财务预警系统介绍公司财务预警系统是为了防止公司财务系统运行偏离预
3、期目标而建立的报瞥系统,具有针对性和预测性等特点。它通过公司的齐项指标综合评价并顶测公司财务状况、发展趋势和变化,为决策者科学决策提供智力支持。财务危机预警指标体系中的指标可分为表内信息指标、盈利能力指标、偿还能力指标、成长能力指标、线性流量指标和表外信息指标六人指标,每项人指标又分为若干小指标,如盈利能力指标又可分为净资产收益率、总资产报酬率、每股收益、主营业务利润率和成本费用利润率等。在用于公司财务预瞥预测时,如果对所有指标都进行评价后综合,模型过于复杂,并且各指标间相关性较强,因此在模型建立前需要筛选指标。指标筛选分为显著性分析和因子分
4、析两步。显著性分析通过T检验方法分析ST公司和非ST公司,在财务指标屮找出差别较大、能够明显区分两类公司的财务指标。因子分析在显著性分析基础上对筛选岀来的指标计算主成分特征值,从屮找出特征值大的指标作为公司危机预署方法的最终评价指标•最终找出成分费川利润率、资产营运能力、公司总资产、总资产增长率、流动比率、营业现金流量、审计意见类型、每股收益、存货周转率和资产负债率十项指标作为评价指标,该十项指标能够比较全而地反映出公司的财务状况。1.3模型建立基于BP_Adaboost模型的公司财务预替算法流程如图1所示.算法步骤如下。步骤1:数据选择和网
5、络初始化。从样本空间屮随机选择m组训练数据,初始化测试数据的分布权值卩⑴二1/叽,根据样木输人输出维数确定神经网络结构,初始BP神经网络权值和阈值。步骤2:弱分类器预测。训练第Z个弱分类器时。用训练数据训练BP神经网络并冃预测训练数据输出•得到预测序列g(t)的预测误差和©误差和®的计算公式为耳二工卩⑴i=l,2,•••,m(g(t)Hy)I式屮,g(t)为预测分类结果;y为期望分类结果。步骤3:计算预测序列权重。根据预测序列g(t)的预测误差耳计算序列的权重,权重计11—P算公式为勺二一伽()2耳步骤4:测试数据权重调整。根据预测序列权重码
6、,调整下一轮训练样本的权重,调整公式为(z)—*exp[—(兀)]'=1?2式中,色是归一化因子,目的是在权重比例不变的情况下使分布权值和为L步骤5:强分类函数•训练T轮后得到T组弱分类函数f(gl,a,),lllT组弱分类函数f(g,,勺)组合得到了强分类函数h(x)o「丁-h(T)=sign工g•£(幻心)对于木案例来说,共有1350组公司财务状况数据,每组数据的输人为10维,代表上述的10个指标,输出为1维,代表公司财务状况,为1时表示财务状况良好,为一1时表示财务状况出现问题。从屮随机选取1000组数据作为训练数据,350组数拯作为测
7、试数据。根据数拯维数,采川的BP神经网络结构为10-6-1,共训练生成10个BP冲经网络弱分类器,最后用10个弱分类器组成强分类器对公司财务状况进行分类。1.4编程实现根据Adaboost和BP神经网络原理,编程实现基于BP_Adaboost算法的公司财务预警建模。1.4.1数据集选择从样本空间中选择训练样本,测试样木,并对测试样本分配权重,其中训练数据和测试数据存储在data文件中.input_train,output_train为III练输人输岀数据,input_test,outputtest为预测输人输出数据。—%%清空环境变量clcc
8、lear%%下载数据loaddatainput_trainoutput_traininput_testoutput_test%%权重初始化[mm,nn]=sizc(