核函数极限学习机分类器的fpga实现方法

文档序号:8361923阅读:555来源:国知局
核函数极限学习机分类器的fpga实现方法
【技术领域】:
[0001] 本发明属于模式识别技术领域,具体涉及一种核函数极限学习机分类器的FPGA 实现方法。
【背景技术】:
[0002] 人工神经网络是在人类对其大脑神经网络认识理解的基础上人工构造的能够实 现某种功能的神经网络。他实际上是一个由大量简单神经元相互连接而成的复杂网络,具 有高度非线性特征,并行性,能够进行复杂的逻辑操作和非线性关系实现的系统。但是前馈 神经网的训练主要采用梯度下降算法,所有的权值都需要调节,这样限制了神经网络的训 练速度。G.B. Huang对此进行了研宄,提出了极限学习机(ELM)算法,该算法对单隐层分类 器的输入权值和隐层节点偏移量进行随机赋值,并且只需对隐含层输出矩阵进行广义逆操 作即可得到网络的输出权值。该算法具有学习速度快,操作简单,错误率低等优点,在最近 几年内得到很快的发展。在分类方面,由于最初的ELM的训练是基于误差为零而推导出来 的,主要考虑的是训练误差,没有对输出权值进行优化,也不是去寻找类别之间的最优分类 超平面,而且会造成训练过度。因此并不适合分类,故在此基础上提出了核函数极限学习 机。该方法寻找分类数据之间的最优超平面,采用了二次优化的方法在最小化训练误差的 同时对输出权值进行了优化,得到了全局最优点,具有很好的泛化能力,分类方面的表现优 于ELM,而且同时具有操作简单、训练速度快等优点。
[0003] 目前核函数极限学习机只是在计算机上编程实现的,虽然计算机具有高度灵活性 但由于计算机串行运算并不适合神经网络。近些年FPGA技术发展迅速,FPGA作为专用集 成电路(ASIC)领域中的一种半定制电路,其高速、并行和可重构的特点成为神经网络硬件 实现最合适的芯片。

【发明内容】

[0004] 本发明的目的在于提出了一种核函数极限学习机分类器的FPGA实现方法。该实 现方法实现过程中采用串行,并行混合编程,同时采用流水线编程思想,该实现方法可以在 保持较高的运算速度的前提下,可以有效的节省硬件资源,提高资源的利用率。在矩阵求逆 时采用降维法完成矩阵求逆,将大维数矩阵分解成小维数的矩阵,可以有效的提高工作效 率。
[0005] 为达到上述目的,本发明采用如下的技术方案予以实现:
[0006] 核函数极限学习机分类器的FPGA实现方法,包括如下步骤:
[0007] 首先在PC机上对原始分类样本进行预处理得到样本,然后通过RS232端口将样本 由PC机传输到FPGA中,FPGA将样本存入RAM中,根据训练样本的特征数和样本数确定核 函数极限学习机的决策函数、拓扑结构。
[0008] 本发明进一步的改进在于,在PC机上对原始分类样本预处理实现过程为:首先确 定FPGA上所需二进制定点数位数,nl表示整数位位数、n2表示小数位位数,初定1位符号 位、3位整数位及12位小数位,当运算产生溢出时或精度不够时增加相应的二进制位数;然 后将原始分类样本进行归一化处理,将归一化的数据乘以2112并四舍五入到整数位,得到十 进制数,最后将十进制数转换成十六进制数,得到样本。
[0009] 本发明进一步的改进在于,通过RS232端口将样本数据传输到FPGA中,传输时先 高位后低位,FPGA接收数据,当接收到一个数字对应的ASCII码时,将ASCII码转成该数字 对应的二进制数,暂存在存储器中;当再次接收到数字对应的ASCII码时,将存储器中的二 进制数左移4位然后将刚接收的数字对应的二进制数赋值给存储器中二进制数的低四位; 当接收到非数字对应的ASCII码时,将存储器中的数据写入RAM中,然后将存储器中的数据 清零,准备接收下一个数据。
[0010] 本发明进一步的改进在于,核函数极限学习机决策函数的确定方法如下:
[0011] 设有一组样本集(Xpti)J = 1,...,N,N为正整数,其中Xie Rd,R为实数集,d为 样本特征数,h= [t i;1, ti;2,. . .,ti;ni]T是与第i个样本相对应的分类类别,m表示类别数, 如果第i个样本属于第j类,则有tu= 1,其余为-1,核函数极限学习机分类决策面描述 为f (Xi) = Ii(Xi) β,其中β为权值向量,Ii(Xi) = Qi(Xu), ...,h(xM)]为样本从输入空间 到特征空间的非线性映射,核函数极限学习机的分类学习即解决下面的受约束优化问题:
[0012] 最小化:
【主权项】
1. 核函数极限学习机分类器的FPGA实现方法,其特征在于,包括如下步骤: 首先在PC机上对原始分类样本进行预处理得到样本,然后通过RS232端口将样本由PC 机传输到FPGA中,FPGA将样本存入RAM中,根据训练样本的特征数和样本数确定核函数极 限学习机的决策函数、拓扑结构。
2. 根据权利要求1所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,在 PC机上对原始分类样本预处理实现过程为:首先确定FPGA上所需二进制定点数位数,nl表 示整数位位数、n2表示小数位位数,初定1位符号位、3位整数位及12位小数位,当运算产 生溢出时或精度不够时增加相应的二进制位数;然后将原始分类样本进行归一化处理,将 归一化的数据乘以2 n2并四舍五入到整数位,得到十进制数,最后将十进制数转换成十六进 制数,得到样本。
3. 根据权利要求1所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,通 过RS232端口将样本数据传输到FPGA中,传输时先高位后低位,FPGA接收数据,当接收到 一个数字对应的ASCII码时,将ASCII码转成该数字对应的二进制数,暂存在存储器中;当 再次接收到数字对应的ASCII码时,将存储器中的二进制数左移4位然后将刚接收的数字 对应的二进制数赋值给存储器中二进制数的低四位;当接收到非数字对应的ASCII码时, 将存储器中的数据写入RAM中,然后将存储器中的数据清零,准备接收下一个数据。
4. 根据权利要求1所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,核 函数极限学习机决策函数的确定方法如下: 设有一组样本集(Xpti), i = 1,...,N,N为正整数,其中Xie Rd,R为实数集,d为样 本特征数,h= [t i;1, ti;2,...,ti;JT是与第i个样本相对应的分类类别,m表示类别数,如 果第i个样本属于第j类,则有tu= 1,其余为-1,核函数极限学习机分类决策面描述为 f(Xi) = Ii(Xi)IB,其中β为权值向量,Ii(Xi) = [hUu),···,Ii(Xm)]为样本从输入空间到 特征空间的非线性映射,核函数极限学习机的分类学习即解决下面的受约束优化问题: 最小化:
其中:C为惩罚参数、ξ i为松弛变量,i = 1,. . .,N ; 约束条件:
求解该问题引入拉格朗日函数得:
其中,Cii= [a u,...,aim],Ciij是拉格朗日乘子,利用KKT条件分别对拉格朗日函 数的各个变量求偏导数即得:

,W由训练样本计算得到,此处定义其为输出权值向量; 把样本X代入决策函数(10)后得到输出f(x),其中fj(x)表示第j个输出,则f(x)= [fl (X),·(X)],对于样本X的分类结果表示为:
5.根据权利要求4所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,由 式
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1