[发明专利]基于LS-SVM分类和回归学习递归神经网络的FPGA实现方法无效
申请号: | 200910023583.9 | 申请日: | 2009-08-13 |
公开(公告)号: | CN101625735A | 公开(公告)日: | 2010-01-13 |
发明(设计)人: | 刘涵 | 申请(专利权)人: | 西安理工大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08;G06N1/00 |
代理公司: | 西安弘理专利事务所 | 代理人: | 罗 笛 |
地址: | 710048*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种LS-SVM分类与回归学习递归神经网络的FPGA实现方法,该方法按照以下步骤实施:根据样本数量构造LS-SVM分类或回归学习递归神经网络的拓扑结构;选用合适的核函数,选择核函数参数并进行计算;将得到的动态方程进行离散化处理,并确定步长;选择实验使用的带补码的二进制编码的位数;构造基本的元件库,包括运算单元、存储单元和控制单元;构建LS-SVM分类或回归学习递归神经网络神经元单元;将构建的神经元单元看作基本元件,调用相应数量的神经元构建整个网络。本发明的FPGA实现方法不仅加快了LS-SVM训练速度,而且克服了模拟电路实现灵活性不足的缺点,可以较好的应对应用环境的改变。 | ||
搜索关键词: | 基于 ls svm 分类 回归 学习 递归 神经网络 fpga 实现 方法 | ||
【主权项】:
1、一种基于LS-SVM分类学习递归神经网络的FPGA实现方法,其特点在于:该方法按以下步骤实施:步骤1:根据样本数量构造LS-SVM分类学习递归神经网络的拓扑结构为:将-α1qi1…-αNqiN、1、-γ-1αi以及-byi接入∑中进行求和,∑的输出端接入积分器∫,积分器∫的输出即为αi,而αi再经权值-qij反馈到各相对应的∑中,形成一个递归神经网络;给定分类训练集(zi,yi)是一组待分类的样本,i=1,2,...N,对于所有的zi∈RN都有yi∈(+1,-1)为样本相对应的类别,其分类决策面描述为
其中W是权值向量,b是阈值,
表示训练样本从输入空间到特征空间的非线性映射,LS-SVM的分类学习即解决下面受约束的优化问题:min W , e J ( W , e ) = 1 2 W T W + γ Σ i = 1 i e i 2 - - - ( 1 ) ]]> 约束条件:
求解该问题引入Lagrange函数:
其中αi为Lagrange乘子,利用KKT条件分别对Lagrange函数各个变量求偏导可以得到该问题的最优条件:1 - b y i - Σ j = 1 N α j q ij - γ - 1 α i = 0 - - - ( 4 ) ]]>Σ i = 1 N α i y i = 0 - - - ( 5 ) ]]> 其中qij=yiyjKij,且
定义为核函数,得到LS-SVM分类学习神经网络模型的动态方程:b · = ∂ J ∂ b = Σ i = 1 N α i y i - - - ( 6 ) ]]>α · i = - ∂ J ∂ α j = 1 - b y i - Σ j = 1 N α j q ij - γ - 1 α i - - - ( 7 ) ]]> 其中αi为Lagrange乘子,b是阈值,(zi,yi)是一组待分类的样本,i=1,2,...N,步骤2:选用高斯核函数,选择参数γ-1=1、σ=1,并计算
步骤3:结合步骤2的结果,将动态方程(6)、(7)进行离散化处理,并确定步长ΔT;将方程(6)、(7)进行离散化处理后得到离散动态方程(8)、(9)b ( t + ΔT ) = ΔT Σ i = 1 N α i ( t ) y i ( t ) + b ( t ) - - - ( 8 ) ]]>α i ( t + ΔT ) = ΔT ( 1 - b ( t ) y i - Σ j = 1 N α j ( t ) q ij - γ - 1 α i ( t ) ) + α i ( t ) - - - ( 9 ) ]]> 方程(8)、(9)中的时间间隔ΔT即是采样的步长;步骤4:确定带补码的二进制编码的位数:将32位的带补码的二进制编码C转换为16位的带补码的二进制编码,包括整数位的位数和小数位的位数;步骤5:按照步骤4构造基本的元件库,包括运算单元、存储单元和控制单元,其中运算单元包括乘累加单元MAC、乘法器单元Mul、减法器单元Sub、累加器单元AC;存储单元包括ROM和RAM;控制单元调用ISE9.1中IP核实现MAC、Mul、Sub、AC和ROM;步骤6:利用步骤5得到的元件库,分别构建神经元单元:构建LS-SVM分类学习神经元模块,A1、当数据存储完毕,此时从ROM和RAM中同时读取数据,输入到MAC单元中,其中在一个触发沿中的αj(t)和qij是相互对应的,在MAC单元计算的同时计算1-b(t)yi,首先通过使用Mul的映射单元Mul(1)完成b(t)yi运算,然后通过使用Sub的映射单元Sub(1)完成1-b(t)yi;A2、等待MAC单元运算完毕,将结果
和1-b(t)yi输入到Sub的映射单元Sub(2),与Sub(2)平行的位置还有Mul(2),在这个时间段内同时完成γ-1αi(t)的计算;A3、将Mul(2)和Sub(2)的结果输入到Sub(3)中,完成1 - b ( t ) y i - Σ j = 1 N α j ( t ) q ij - γ - 1 α i ( t ) ]]> 的计算;A4、再将Sub(3)的结果与设定好的ΔT送入Mul(3),此时得到运算结果αj(ΔT),再将αj(ΔT)送入到AC模块中进行累加,最终得到αj(t+ΔT),对于(9)中ΔT ( 1 - b ( t ) y i - Σ j = 1 N α j ( t ) q ij - γ - 1 α i ( t ) ) ]]> 部分看作是αj(t)到αj(t+ΔT)一个增量,当它为0时,即AC模块的输入为0的时候,AC模块的输出不再变化时,神经元的输出稳定,输出结果为αj;步骤7:将各个神经元单元看作基本元件,Neuro1~Neuroi代表i个神经元,Neuro_b代表阈值神经元,调用i个神经元和Neuro_b阈值神经元并联接入select模块,通过i+1个神经元的规则连接,构成了SVM学习功能的神经网络,同时使每个神经元受控于一个时钟控制信号,每个神经元一个周期内计算完毕后,都产生一个有效控制信号,当神经网络控制单元接收到的所有神经元的控制信号有效时,产生一个总的有效控制信号使全部神经元进入下一周期的运算,当网络进行递归运算直至稳定时,求得收敛参数α,b。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910023583.9/,转载请声明来源钻瓜专利网。