logo资料库

H-K算法仿真报告(模式识别).doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
一、实验目的
二、实验内容和原理
1.内容:
2.实验原理:
三、实验说明
四、实验步骤
五、实验结果与分析
六.心得体会
本 科 实 验 报 告 实验名称: H-K 算法 学 员: 曹务绅 学 号: 200604015014 培养类型: 技术类 年 级: 大三 专 业: 信息工程 所属学院:电子科学与工程学院 指导教员: 刘雨 职 称: 高工 实 验 室: 实验日期: 国防科学技术大学训练部制
一、实验目的 通过 H-K 算法的编写,掌握线性分类器的训练与设计方法。 二、实验内容和原理 1.内容: 分析 H-K 算法,用 matlab 仿真。 2.实验原理: 基本思想 将准则函数视作矢量 w 和 b 的函数,在迭代过程中修正 w 的同时,也对 b 进 行调整,运用最优化技术求得使准则函数取极小值的和 w*和 b*. 算法及步骤 1. b(k)的迭代公式为: ( b k 1)   ( ) k b    J ( )   b k ( b )  ( ) k β     1 误差矢量为 ( e k )  Xw ( k )  ( b ,调整矢量 ( β k ) k )    e ( k )  e ( k )   ,由广义逆 法知 T w X X  ( ) 1 T   X b X b ;  X b 1)   w 的迭代公式为 ( w k 2. 算法流程图: ( k  1)   X b ( k )   X β ( k )
算法评价 感知器算法和 W-H 法中,若只调整 w,余量矢量 b 是取定的常矢量,显然, 使用那些算法所得到的 w 受 b 影响。如果 b 的某些分量取得不当,所求得的 w 可 能不稳健,并且,b 选择不恰当还会影响收敛速度。H-K 算法是针对这种问题的一 种改进。虽然伪逆 X 计算量较大,但是 H-K 中只要求计算一次,因此复杂度代价 的增加是可以接受的。 三、实验说明 1.实验平台: PC 系列计算机,WINDOW 操作系统,Matlab7.0 2.样本获取: 3.参数定义: 使用 matlab 的随机数发生器 rand 或 randn 函数。 在程序代码中有详细的注释。 四、实验步骤 1. 将原理中算法用 matlab 语言实现,其中,对于 H-K 的收敛终止条件,出于 编程水平有限和计算机的截断误差的原因,作了一定的简化和修改。 a.若 e(k)所有分量为 0, 则停止,得 w*,这种情况下线性可分。由于截断误 差的存在,即使在理论线性可分的条件下,也收敛不到 e(k)所有分量为 0,可以考
虑设置一个门限,低于这个门限的值认为是 0. b.若线性不可分的条件下,若 e(k)的负的分量停止变为正值或者各分量均为 负值时终止。对于 b,我将迭代终止条件简化为:若 e(k)的各分量全为负值时终止, 或者迭代次数超过设置的门限时终止。 2. 按照算法编程并调试。 3. 输出分类结果和分类界面。 五、实验结果与分析 1. 首先生成 100 个训练样本,用 H-K 分类后得到界面。如下图所示: 这是线性可分的情况。任意输入 100 个待分类的样本,分类输出如下:
对于线性不可分的情况,如下图所示,也能够顺利生成界面,但是会有误 判的情况: 当然,产生了界面后对输入的待分类样本仍能分类,但是准确性没有了保 证,这时应该改进方法,采用分段二次准则法或者二次判别函数可以改善。 2. 因为时间比较紧张,只做了 2 类问题,多类问题较复杂,主要体现在 w(k) 和 b(k)的调整上,要产生多个界面,以后可以扩展。
六.心得体会
分享到:
收藏