• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 24
    • 下载费用:30 金币  

    重庆时时彩到几点结束: 核函数极限学习机分类器的FPGA实现方法.pdf

    关 键 词:
    函数 极限 学习机 分类 FPGA 实现 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201510079979.0

    申请日:

    2015.02.13

    公开号:

    CN104680236A

    公开日:

    2015.06.03

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06N 3/08申请日:20150213|||公开
    IPC分类号: G06N3/08; G06K9/62 主分类号: G06N3/08
    申请人: 西安交通大学
    发明人: 荣海军; 弓晓阳; 杨静; 李苑; 赵广社
    地址: 710049陕西省西安市咸宁西路28号
    优先权:
    专利代理机构: 西安通大专利代理有限责任公司61200 代理人: 闵岳峰
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510079979.0

    授权公告号:

    ||||||

    法律状态公告日:

    2017.08.01|||2015.07.01|||2015.06.03

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种核函数极限学习机分类器的FPGA实现方法,包括如下步骤:首先在PC机上对原始分类样本进行预处理得到样本,然后通过RS232端口将样本由PC机传输到FPGA中,FPGA将样本存入RAM中,根据训练样本的特征数和样本数确定学习机的决策函数、拓扑结构。核函数极限学习机具有好的分类能力、操作简单,训练速度快,泛化性好,同时也可以避免了陷入局部最小值的危险。本发明创新点采用并行、串行混合编程,可以有效地降低资源的利用;采用降维法的矩阵分块求逆的FPGA实现,适用于任意维数矩阵求逆,修改简单方便,可以有效地提高工作效率;可根据精度要求使用不同位宽的二进制数,可以在保持精度的情况下有效地降低资源的消耗。

    权利要求书

    权利要求书
    1.  核函数极限学习机分类器的FPGA实现方法,其特征在于,包括如下步骤:
    首先在PC机上对原始分类样本进行预处理得到样本,然后通过RS232端口将样本由PC 机传输到FPGA中,FPGA将样本存入RAM中,根据训练样本的特征数和样本数确定核函数 极限学习机的决策函数、拓扑结构。

    2.  根据权利要求1所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,在 PC机上对原始分类样本预处理实现过程为:首先确定FPGA上所需二进制定点数位数,n1表 示整数位位数、n2表示小数位位数,初定1位符号位、3位整数位及12位小数位,当运算产 生溢出时或精度不够时增加相应的二进制位数;然后将原始分类样本进行归一化处理,将归 一化的数据乘以2n2并四舍五入到整数位,得到十进制数,最后将十进制数转换成十六进制数, 得到样本。

    3.  根据权利要求1所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,通 过RS232端口将样本数据传输到FPGA中,传输时先高位后低位,FPGA接收数据,当接收 到一个数字对应的ASCII码时,将ASCII码转成该数字对应的二进制数,暂存在存储器中; 当再次接收到数字对应的ASCII码时,将存储器中的二进制数左移4位然后将刚接收的数字 对应的二进制数赋值给存储器中二进制数的低四位;当接收到非数字对应的ASCII码时,将 存储器中的数据写入RAM中,然后将存储器中的数据清零,准备接收下一个数据。

    4.  根据权利要求1所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,核 函数极限学习机决策函数的确定方法如下:
    设有一组样本集(xi,ti),i=1,...,N,N为正整数,其中xi∈Rd,R为实数集,d为样本 特征数,ti=[ti,1,ti,2,...,ti,m]T是与第i个样本相对应的分类类别,m表示类别数,如果第i个样 本属于第j类,则有ti,j=1,其余为-1,核函数极限学习机分类决策面描述为f(xi)=h(xi)β, 其中β为权值向量,h(xi)=[h(xi,1),...,h(xi,d)]为样本从输入空间到特征空间的非线性映射,核 函数极限学习机的分类学习即解决下面的受约束优化问题:
    最小化:
    L = 1 2 | | β | | 2 + C 1 2 Σ i = 1 N | | ξ i | | 2 - - - ( 1 ) ]]>
    其中:C为惩罚参数、ξi为松弛变量,i=1,...,N;
    约束条件:
    h ( x i ) β - t i T = ξ i T - - - ( 2 ) ]]>
    求解该问题引入拉格朗日函数得:
    L = 1 2 | | β | | 2 + C 1 2 Σ i = 1 N | | ξ i | | 2 - Σ i = 1 N Σ j = 1 m α i , j ( h ( x i ) β j - t i , j + ξ i , j ) - - - ( 3 ) ]]>
    其中,αi=[αi,1,...,αi,m],αi,j是拉格朗日乘子,利用KKT条件分别对拉格朗日函数的各 个变量求偏导数即得:
    ∂ L ∂ β j = 0 → β j = Σ i = 1 N α i , j h ( x i ) T → β = H T α - - - ( 4 ) ]]>
    ∂ L ∂ ξ i = 0 → α i = C ξ i , i = 1 , . . . , N - - - ( 5 ) ]]>
    ∂ L ∂ α i = 0 → ( x i ) β - t i T + ξ i T = 0 - - - ( 6 ) ]]>
    对式(4)~式(6)进行变换得式:
    β = H T ( 1 C + HH T ) - 1 T - - - ( 7 ) ]]>
    式中:H=[h(x1)T,h(x2)T,...,h(xN)T]T,T=[t1、t2,...,tN]T;
    将式(7)其代入决策函数得:
    f ( x ) = h ( x ) β = h ( x ) H T ( 1 C + HH T ) - 1 T - - - ( 8 ) ]]>
    引入高斯核函数,核函数定义为:
    K(xi,xj)=h(xi)·h(xj)=exp(-γ||xi-xj||2)           (9)
    其中,γ为高斯核函数宽度参数
    f ( x ) = K ( x , x 1 ) · · · K ( x , x N ) ( 1 C + Ω ) - 1 T - - - ( 10 ) ]]>
    其中:
    Ω=HHT;Ωi,j=h(xi)·h(xj)=K(xi,xj)          (11)
    设W由训练样本计算得到,此处定义其为输出权值向量;
    把样本x代入决策函数(10)后得到输出f(x),其中fj(x)表示第j个输出,则 f(x)=[f1(x),...,fm(x)],对于样本x的分类结果表示为:
    label ( x ) = arg max i ∈ { 1 , . . . m } f i ( x ) - - - ( 12 ) . ]]>

    5.  根据权利要求4所述的核函数极限学习机分类器的FPGA实现方法,其特征在于, 由式(10)确定核函数极限学习机拓扑结构:输入层节点数为d,中间层节点数为N,输出 层节点数为m;将该核函数极限学习机分成两部分:训练部分和测试部分;
    训练部分即输出权值W的计算,按以下步骤实现;
    A1、矩阵Ω见式(11)的求解???,构造一个高斯核函数??榘戳魉叩姆绞绞迪?,核 函数采用流水线的方式完成运算,分为减法、平方、求和、乘法及指数函数五步完成,每一 步消耗一个时钟周期,五个步骤按流水线的方式工作,当训练样本连续输入时,在第5个时 钟周期后计算结果连续输出;
    A2、将上一步计算结果存储到存储器中,实现(1/C+Ω),将变量1/C加到矩阵Ω的对角 线上,构造计数器和加法器,加法器的一端接变量1/C,另一端接存储器的输出端,加法器 的输出端接存储器的输入端,计数器的输出cnt作为存储器的地址,4个时钟周期为一个循环, t=1时读数据,t=2时输出的数据与变量1/C相加,t=3时将求和结果写回原地址中,t=4时 计数器更新,cnt=cnt+(N+1);即指向对角线的下一个元素,运算结束后将数据输出;
    A3、构造矩阵求逆??榻獳2的输出数据写入??槟诘拇娲⑵髦腥缓蠼星竽?运算,运算结束后将数据输出,设A2的输出结果为ANN,设A3的输出结果为BNN即 B NN = A NN - 1 = ( 1 C + Ω ) - 1 ; ]]>
    A4、将A3输出的数据存入RAM中,完成W=BNNT,分类标签T分别存到RAMt1, RAMt2,…,RAMtm,构造m个乘法累加器,m个存储器RAMw1,RAMw2,…,RAMwm, 第j个乘法累加器的两个输入端口,一端接RAM的输出,另一端接RAMtj的输出,完成 运算,将结果存入RAMwj中,其中i=1,2…,N,m个乘法累加器是同时并 行运算,结果分别存入RAMw1,RAMw2,…,RAMwm中,RAMw中所存储的数据即为 输出权值,其中j=1,2….,m;
    测试部分即网络输出??榈氖迪?,完成下式运算
    f ( x ) = K ( x , x 1 ) · · · K ( x , x N ) T · W - - - ( 13 ) ]]>
    B1、测试样本的核函数运算???
    由公式(13)知有N个核函数,此处采用流水线的方式来完成N个核函数的运算,测试 样本X∈Rd送入核函数的一端,另一端接训练样本,N组训练样本连续输入,5个时钟周期 后N个计算结果连续输出;
    B2、构造m个乘法累加器,其中第j个乘法累加器的两个输入端,一个端口接B1的输 出数据,另一个端口接RAMwj的输出,当B1数据输出时,同时读取RAMwj中的对应输出 权值同时送入乘法累加器中进行并行运算,m个乘法累加器并型运算产生m个输出值,其中 j=1,2….,m;
    B3、判断???,上一步有m个输出,分别为f1(x),f2(x),…,fm(x),首先令T(0)=1, 其余位为0;然后取f1(x)和f2(x)进行比较,如果f1(x)≥f2(x)则max=f1(x)T不变,否则 max=f2(x),T(1)=1,其余位置0;然后按此方法取max与下一个数据fj(x)进行比较,如 果max≥fj(x)则max,T不变,否则max=fj(x),T(j-1)=1,其余位置0,全部比较完后 将T输出。

    6.  根据权利要求5所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,高 斯核函数的实现方法如下:
    高斯核函数指数部分y=exp(-x)的实现,采用分段线性近似法,即用yi(x)=aix+bi进行 分段近似,构造RAMa、RAMb分别存储参数(ai,bi),根据x所属的分段区间来选择参数 (ai,bi),构造一个乘法器实现aix和一个带使能端的加法器实现与bi相加;
    高斯核函数整体的实现:
    第一步构造d个减法器实现:(xi,1-xj,1),(xi,2-xj,2),…,(xi,d-xj,d);
    第二步构造d个乘法器,将减法器的输出同时送入乘法器的两个端口完成平方运算: (xi,1-xj,1)2,(xi,2-xj,2)2,…,(xi,d-xj,d)2;
    第三步构造加法器??槎猿朔ㄆ鱈个输出结果进行求和
    第四步构造乘法器实现求和结果与参数γ的相乘运算
    第五步最后将第四步的结果代入高斯核函数指数??榧吹玫绞涑?。

    7.  根据权利要求5所述的核函数极限学习机分类器的FPGA实现方法,其特征在于,步 骤A3中,矩阵求逆如下:此处为大维数矩阵分块求逆的方法,该方法适合任意维数的矩阵 进行求逆,以下列举一次分块就能达到要求的矩阵,对于更大维数的矩阵依照该方法继续进 行多次分块,设n=N/2,其中N为偶数,如果N为奇数时,先将该矩阵扩大一维变成(N+1) 维的矩阵再进行分块求逆,求完逆后取前N行N列矩阵即为原N维矩阵的逆,见式(14);
    A ( N + 1 ) ( N + 1 ) = A NN 0 N 1 0 1 N 1 - - - ( 14 ) ]]>
    C1、将大维数的矩阵分成4块,小块矩阵维数是原矩阵维数的一半,见式(15)

    C2、首先对A11进行LU分解,方法如下

    将式(16)展开并进行变形得如下计算公式:
    u 1 j = a 1 j ( j = 1,2 , · · · , n ) ; l i 1 = a i 1 u 11 ( i = 2,3 , · · · , n ) ; u kj = a kj - Σ t = 1 k - 1 l kt u tj ( j = 1 , k + 1 , · · · , n ; k = 2,3 , · · · , n ) ; l ik = 1 u kk ( a ik - Σ t = 1 k - 1 l it u tk ) ( i = k + 1 , k + 2 , · · · , n ; k = 2,3 , · · · , n ) - - - ( 17 ) ]]>
    按照式(17)运算即得到矩阵L11、矩阵U11;
    C3、上三角矩阵求逆,对矩阵U11进行求逆,对于下三角矩阵经过转置后使用该方法; 设矩阵U11的逆矩阵为V11则有:

    式中,E为单位矩阵;
    将式(18)展开并进行变形得:
    v ii = 1 u ii ( i = 1 , . . . , n ) ; v ij = - 1 u ii Σ t = i + 1 j u it v tj ( i = 1 , . . . , n - 1 ; j = i + 1 , . . . , n ) ; - - - ( 19 ) ]]>
    按照(19)公式运算即求出同样的方法求出
    C4,对ANN进行LU分块,见式(20):
    A NN = A 11 A 12 A 21 A 22 = L 11 O L 21 L 22 * U 11 U 12 O U 22 - - - ( 20 ) ]]>
    将式(20)展开并进行变形得式(21);
    L 11 · U 11 = A 11 ( 1 ) L 21 = A 21 · U 11 - 1 ( 2 ) U 12 = L 11 - 1 · A 12 ( 3 ) L 22 U 22 = A 22 - L 21 U 12 ( 4 ) - - - ( 21 ) ]]>
    ①、根据步骤C2和C3即求出(21)式(1)中的矩阵
    ②、将矩阵代入(21)式(2)中求出L21,将矩阵代入(21)式(3)中求出U12;
    ③、将矩阵L21和U12代入(21)式(4)中得到L22U22,按照C2和C3的方法求出矩阵:
    C5、上三角矩阵分块求逆方法,对下三角矩阵进行转置变成上三角矩阵后运用该方法, 设U矩阵的逆矩阵为V矩阵,则有:
    U 11 U 12 O U 22 V 11 V 12 O V 22 = E - - - ( 22 ) ]]>
    将矩阵(22)展开并进行变形得;
    V 11 = U 11 - 1 V 22 = U 22 - 1 V 12 = - U 11 - 1 U 12 U 22 - 1 - - - ( 23 ) ]]>
    其中矩阵U12在上一步已求得,代入式(23)即求出V11、V22、V12;同样 的方法能够求得下三角矩阵的逆矩阵;
    C6、LU矩阵的分块相乘即得到设上三角矩阵L阵的逆矩阵为Y;
    A NN - 1 = A 11 A 12 A 21 A 22 - 1 = V 11 V 12 O V 22 * Y 11 O Y 21 Y 22 - - - ( 24 ) ]]>
    C1~C6所述为矩阵分块求逆的原理,在构造矩阵求逆??槭庇ο裙乖旒虻ピ臃?器、减法器、乘法器、除法器以及RAM,然后构造小维数的矩阵求出其上三角逆矩阵和下三 角逆矩阵,然后按照原理进行扩维直到得到所求维数上三角逆矩阵和下三角逆矩阵,最后将 上三角逆矩阵乘以下三角逆矩阵即为所求矩阵的逆矩阵。

    说明书

    说明书核函数极限学习机分类器的FPGA实现方法
    技术领域:
    本发明属于模式识别技术领域,具体涉及一种核函数极限学习机分类器的FPGA实现方 法。
    背景技术:
    人工神经网络是在人类对其大脑神经网络认识理解的基础上人工构造的能够实现某种功 能的神经网络。他实际上是一个由大量简单神经元相互连接而成的复杂网络,具有高度非线 性特征,并行性,能够进行复杂的逻辑操作和非线性关系实现的系统。但是前馈神经网的训 练主要采用梯度下降算法,所有的权值都需要调节,这样限制了神经网络的训练速度。G.B. Huang对此进行了研究,提出了极限学习机(ELM)算法,该算法对单隐层分类器的输入权 值和隐层节点偏移量进行随机赋值,并且只需对隐含层输出矩阵进行广义逆操作即可得到网 络的输出权值。该算法具有学习速度快,操作简单,错误率低等优点,在最近几年内得到很 快的发展。在分类方面,由于最初的ELM的训练是基于误差为零而推导出来的,主要考虑的 是训练误差,没有对输出权值进行优化,也不是去寻找类别之间的最优分类超平面,而且会 造成训练过度。因此并不适合分类,故在此基础上提出了核函数极限学习机。该方法寻找分 类数据之间的最优超平面,采用了二次优化的方法在最小化训练误差的同时对输出权值进行 了优化,得到了全局最优点,具有很好的泛化能力,分类方面的表现优于ELM,而且同时具 有操作简单、训练速度快等优点。
    目前核函数极限学习机只是在计算机上编程实现的,虽然计算机具有高度灵活性但由于 计算机串行运算并不适合神经网络。近些年FPGA技术发展迅速,FPGA作为专用集成电路 (ASIC)领域中的一种半定制电路,其高速、并行和可重构的特点成为神经网络硬件实现最 合适的芯片。
    发明内容:
    本发明的目的在于提出了一种核函数极限学习机分类器的FPGA实现方法。该实现方法 实现过程中采用串行,并行混合编程,同时采用流水线编程思想,该实现方法可以在保持较 高的运算速度的前提下,可以有效的节省硬件资源,提高资源的利用率。在矩阵求逆时采用 降维法完成矩阵求逆,将大维数矩阵分解成小维数的矩阵,可以有效的提高工作效率。
    为达到上述目的,本发明采用如下的技术方案予以实现:
    核函数极限学习机分类器的FPGA实现方法,包括如下步骤:
    首先在PC机上对原始分类样本进行预处理得到样本,然后通过RS232端口将样本由PC 机传输到FPGA中,FPGA将样本存入RAM中,根据训练样本的特征数和样本数确定核函数 极限学习机的决策函数、拓扑结构。
    本发明进一步的改进在于,在PC机上对原始分类样本预处理实现过程为:首先确定FPGA 上所需二进制定点数位数,n1表示整数位位数、n2表示小数位位数,初定1位符号位、3位 整数位及12位小数位,当运算产生溢出时或精度不够时增加相应的二进制位数;然后将原始 分类样本进行归一化处理,将归一化的数据乘以2n2并四舍五入到整数位,得到十进制数,最 后将十进制数转换成十六进制数,得到样本。
    本发明进一步的改进在于,通过RS232端口将样本数据传输到FPGA中,传输时先高位 后低位,FPGA接收数据,当接收到一个数字对应的ASCII码时,将ASCII码转成该数字对 应的二进制数,暂存在存储器中;当再次接收到数字对应的ASCII码时,将存储器中的二进 制数左移4位然后将刚接收的数字对应的二进制数赋值给存储器中二进制数的低四位;当接 收到非数字对应的ASCII码时,将存储器中的数据写入RAM中,然后将存储器中的数据清 零,准备接收下一个数据。
    本发明进一步的改进在于,核函数极限学习机决策函数的确定方法如下:
    设有一组样本集(xi,ti),i=1,...,N,N为正整数,其中xi∈Rd,R为实数集,d为样本 特征数,ti=[ti,1,ti,2,...,ti,m]T是与第i个样本相对应的分类类别,m表示类别数,如果第i个样 本属于第j类,则有ti,j=1,其余为-1,核函数极限学习机分类决策面描述为f(xi)=h(xi)β, 其中β为权值向量,h(xi)=[h(xi,1),...,h(xi,d)]为样本从输入空间到特征空间的非线性映射,核 函数极限学习机的分类学习即解决下面的受约束优化问题:
    最小化:
    L = 1 2 | | β | | 2 + C 1 2 Σ i = 1 N | | ξ i | | 2 - - - ( 1 ) ]]>
    其中:C为惩罚参数、ξi为松弛变量,i=1,...,N;
    约束条件:
    h ( x i ) β - t i T = ξ i T - - - ( 2 ) ]]>
    求解该问题引入拉格朗日函数得:
    L = 1 2 | | β | | 2 + C 1 2 Σ i = 1 N | | ξ i | | 2 - Σ i = 1 N Σ j = 1 m α i , j ( h ( x i ) β j - t i , j + ξ i , j ) - - - ( 3 ) ]]>
    其中,αi=[αi,1,...,αi,m],αi,j是拉格朗日乘子,利用KKT条件分别对拉格朗日函数的各 个变量求偏导数即得:
    ∂ L ∂ β j = 0 → β j = Σ i = 1 N α i , j h ( x i ) T → β = H T α - - - ( 4 ) ]]>
    ∂ L ∂ ξ i = 0 → α i = C ξ i , i = 1 , . . . , N - - - ( 5 ) ]]>
    ∂ L ∂ α i = 0 → h ( x i ) β - t i T + ξ i T = 0 - - - ( 6 ) ]]>
    对式(4)~式(6)进行变换得式:
    β = H T ( 1 C + HH T ) - 1 T - - - ( 7 ) ]]>
    式中:H=[h(x1)T,h(x2)T,...,h(xN)T]T,T=[t1、t2,...,tN]T;
    将式(7)其代入决策函数得:
    f ( x ) = h ( x ) β = h ( x ) H T ( 1 C + HH T ) - 1 T - - - ( 8 ) ]]>
    引入高斯核函数,核函数定义为:
    K(xi,xj)=h(xi)·h(xj)=exp(-γ||xi-xj||2)   (9)
    其中,γ为高斯核函数宽度参数
    f ( x ) = K ( x , x 1 ) . . . K ( x , x N ) ( 1 C + Ω ) - 1 T - - - ( 10 ) ]]>
    其中:
    Ω=HHT;Ωi,j=h(xi)·h(xj)=K(xi,xj)   (11)
    设W由训练样本计算得到,此处定义其为输出权值向量;
    把样本x代入决策函数(10)后得到输出f(x),其中fj(x)表示第j个输出,则
    f(x)=[f1(x),...,fm(x)],对于样本x的分类结果表示为:
    label ( x ) = arg max i ∈ { 1 , . . . m } f i ( x ) - - - ( 12 ) . ]]>
    本发明进一步的改进在于,由式(10)确定核函数极限学习机拓扑结构:输入层节点数 为d,中间层节点数为N,输出层节点数为m;将该核函数极限学习机分成两部分:训练 部分和测试部分;
    训练部分即输出权值W的计算,按以下步骤实现;
    A1、矩阵Ω见式(11)的求解???,构造一个高斯核函数??榘戳魉叩姆绞绞迪?,核 函数采用流水线的方式完成运算,分为减法、平方、求和、乘法及指数函数五步完成,每一 步消耗一个时钟周期,五个步骤按流水线的方式工作,当训练样本连续输入时,在第5个时 钟周期后计算结果连续输出;
    A2、将上一步计算结果存储到存储器中,实现(1/C+Ω),将变量1/C加到矩阵Ω的对角 线上,构造计数器和加法器,加法器的一端接变量1/C,另一端接存储器的输出端,加法器 的输出端接存储器的输入端,计数器的输出cnt作为存储器的地址,4个时钟周期为一个循环, t=1时读数据,t=2时输出的数据与变量1/C相加,t=3时将求和结果写回原地址中,t=4时 计数器更新,cnt=cnt+(N+1);即指向对角线的下一个元素,运算结束后将数据输出;
    A3、构造矩阵求逆??榻獳2的输出数据写入??槟诘拇娲⑵髦腥缓蠼星竽?运算,运算结束后将数据输出,设A2的输出结果为ANN,设A3的输出结果为BNN即 B NN = A NN - 1 = ( 1 C + Ω ) - 1 ; ]]>
    A4、将A3输出的数据存入RAM中,完成W=BNNT,分类标签T分别存到RAMt1, RAMt2,…,RAMtm,构造m个乘法累加器,m个存储器RAMw1,RAMw2,…,RAMwm, 第j个乘法累加器的两个输入端口,一端接RAM的输出,另一端接RAMtj的输出,完成 运算,将结果存入RAMwj中,其中i=1,2…,N,m个乘法累加器是同时并 行运算,结果分别存入RAMw1,RAMw2,…,RAMwm中,RAMw中所存储的数据即为 输出权值,其中j=1,2….,m;
    测试部分即网络输出??榈氖迪?,完成下式运算
    f ( x ) = K ( x , x 1 ) . . . K ( x , x N ) T · W - - - ( 13 ) ]]>
    B1、测试样本的核函数运算???
    由公式(13)知有N个核函数,此处采用流水线的方式来完成N个核函数的运算,测试 样本X∈Rd送入核函数的一端,另一端接训练样本,N组训练样本连续输入,5个时钟周期 后N个计算结果连续输出;
    B2、构造m个乘法累加器,其中第j个乘法累加器的两个输入端,一个端口接B1的输 出数据,另一个端口接RAMwj的输出,当B1数据输出时,同时读取RAMwj中的对应输出 权值同时送入乘法累加器中进行并行运算,m个乘法累加器并型运算产生m个输出值,其中 j=1,2….,m;
    B3、判断???,上一步有m个输出,分别为f1(x),f2(x),…,fm(x),首先令T(0)=1, 其余位为0;然后取f1(x)和f2(x)进行比较,如果f1(x)≥f2(x)则max=f1(x)T不变,否则 max=f2(x),T(1)=1,其余位置0;然后按此方法取max与下一个数据fj(x)进行比较,如 果max≥fj(x)则max,T不变,否则max=fj(x),T(j-1)=1,其余位置0,全部比较完后 将T输出。
    本发明进一步的改进在于,高斯核函数的实现方法如下:
    高斯核函数指数部分y=exp(-x)的实现,采用分段线性近似法,即用yi(x)=aix+bi进行 分段近似,构造RAMa、RAMb分别存储参数(ai,bi),根据x所属的分段区间来选择参数 (ai,bi),构造一个乘法器实现aix和一个带使能端的加法器实现与bi相加;
    高斯核函数整体的实现:
    第一步构造d个减法器实现:(xi,1-xj,1),(xi,2-xj,2),…,(xi,d-xj,d);
    第二步构造d个乘法器,将减法器的输出同时送入乘法器的两个端口完成平方运算: (xi,1-xj,1)2,(xi,2-xj,2)2,…,(xi,d-xj,d)2;
    第三步构造加法器??槎猿朔ㄆ鱈个输出结果进行求和
    第四步构造乘法器实现求和结果与参数γ的相乘运算
    第五步最后将第四步的结果代入高斯核函数指数??榧吹玫绞涑?。
    本发明进一步的改进在于,步骤A3中,矩阵求逆如下:此处为大维数矩阵分块求逆的 方法,该方法适合任意维数的矩阵进行求逆,以下列举一次分块就能达到要求的矩阵,对于 更大维数的矩阵依照该方法继续进行多次分块,设n=N/2,其中N为偶数,如果N为奇数 时,先将该矩阵扩大一维变成(N+1)维的矩阵再进行分块求逆,求完逆后取前N行N列矩阵 即为原N维矩阵的逆,见式(14);
    A ( N + 1 ) ( N + 1 ) = A NN 0 N 1 0 1 N 1 - - - ( 14 ) ]]>
    C1、将大维数的矩阵分成4块,小块矩阵维数是原矩阵维数的一半,见式(15)

    C2、首先对A11进行LU分解,方法如下

    将式(16)展开并进行变形得如下计算公式:
    u 1 j = a 1 j ( j = 1,2 , . . . , n ) ; l i 1 = a i 1 u 11 ( i = 2,3 , . . . , n ) ; u kj = a kj - Σ t = 1 k - 1 l kt u tj ( j = k , k + 1 , . . . , n ; k = 2,3 , . . . , n ) ; l ik = 1 u kk ( a ik - Σ t = 1 k - 1 l it u tk ) ( i = k + 1 , k + 2 , . . . , n ; k = 2,3 , . . . , n ) - - - ( 17 ) ]]>
    按照式(17)运算即得到矩阵L11、矩阵U11;
    C3、上三角矩阵求逆,对矩阵U11进行求逆,对于下三角矩阵经过转置后使用该方法; 设矩阵U11的逆矩阵为V11则有:

    式中,E为单位矩阵;
    将式(18)展开并进行变形得:
    v ii = 1 u ii ( i = 1 , . . . , n ) ; v ij = - 1 u ii Σ t = i + 1 j u it v tj ( i = 1 , . . . , n - 1 ; j = i + 1 , . . . , n ) ; - - - ( 19 ) ]]>
    按照(19)公式运算即求出同样的方法求出
    C4,对ANN进行LU分块,见式(20):
    A NN = A 11 A 12 A 21 A 22 = L 11 O L 21 L 22 * U 11 U 12 O U 22 - - - ( 20 ) ]]>
    将式(20)展开并进行变形得式(21);
    L 11 · U 11 = A 11 ( 1 ) L 21 = A 21 · U 11 - 1 ( 2 ) U 12 = L 11 - 1 · A 12 ( 3 ) L 22 U 22 = A 22 - L 21 U 12 ( 4 ) - - - ( 21 ) ]]>
    ①、根据步骤C2和C3即求出(21)式(1)中的矩阵
    ②、将矩阵代入(21)式(2)中求出L21,将矩阵代入(21)式(3)中求出U12;
    ③、将矩阵L21和U12代入(21)式(4)中得到L22U22,按照C2和C3的方法求出矩阵:
    C5、上三角矩阵分块求逆方法,对下三角矩阵进行转置变成上三角矩阵后运用该方法, 设U矩阵的逆矩阵为V矩阵,则有:
    U 11 U 12 O U 22 V 11 V 12 O V 22 = E - - - ( 22 ) ]]>
    将矩阵(22)展开并进行变形得;
    V 11 = U 11 - 1 V 22 = U 22 - 1 V 12 = - U 11 - 1 U 12 U 22 - 1 - - - ( 23 ) ]]>
    其中矩阵U12在上一步已求得,代入式(23)即求出V11、V22、V12;同样 的方法能够求得下三角矩阵的逆矩阵;
    C6、LU矩阵的分块相乘即得到设上三角矩阵L阵的逆矩阵为Y;
    A NN - 1 = A 11 A 12 A 21 A 22 - 1 = V 11 V 12 O V 22 * Y 11 O Y 21 Y 22 - - - ( 24 ) ]]>
    C1~C6所述为矩阵分块求逆的原理,在构造矩阵求逆??槭庇ο裙乖旒虻ピ臃?器、减法器、乘法器、除法器以及RAM,然后构造小维数的矩阵求出其上三角逆矩阵和下三 角逆矩阵,然后按照原理进行扩维直到得到所求维数上三角逆矩阵和下三角逆矩阵,最后将 上三角逆矩阵乘以下三角逆矩阵即为所求矩阵的逆矩阵。
    与现有技术相比较,本发明具备如下优点:
    1、核函数的运算采用分步运算,每一步内采用并行,整体采用流水线的方法,所有的模 块同时参与运算,具有运算效率高,运算速度快,资源消耗少等特点;
    2、任意维数的矩阵的求逆方法,将大维数的矩阵通过多次降维的方法分成小维数矩阵, 即反过来通过由小维数的矩阵逆操作构造大一级的矩阵逆,大一级的矩阵逆再构造更大一级 的矩阵逆,由于每次构造大一级矩阵逆操作时步骤相同,可以有效的节省工作量,提高工作 效率;
    3、核函数极限学习机采用自顶而下??榛谋喑趟枷?,??橛肽?橹洳捎么辛?, 这样有利于??榉止?,??榈男薷?。
    附图说明:
    图1为高斯核函数指数部分硬件实现原理图;
    图2为高斯核函数整体硬件实现原理图;
    图3为高斯核函数运行仿真图,其中数据来自鸢尾花数据(Iris);
    图4为60维矩阵的分块过程图;
    图5为核函数极限学习机分类器训练部分??橥?;
    图6为核函数极限学习机分类器测试部分??橥?;
    图7为核函数极限学习机分类器的FPGA实现方法的流程图。
    具体实施方式:
    下面结合附图和具体实施对本发明进行详细说明。
    构造核函数极限学习机分类器的拓扑结构;
    设有一组样本集(xi,ti),i=1,...,N,其中xi∈Rd,d为样本特征数,ti=[ti,1,ti,2,...,ti,m]T是 与第i个样本相对应的分类类别,m表示类别数,如果第i个样本属于第j类,则有ti,j=1, 其余为-1,核函数极限学习机分类决策面描述为f(xi)=h(xi)β,其中β为权值向量, h(xi)=[h(xi,1),...,h(xi,d)]为样本从输入空间到特征空间的非线性映射,核函数极限学习机的分 类学习即解决下面的受约束优化问题:
    最小化:
    L = 1 2 | | β | | 2 + C 1 2 Σ i = 1 N | | ξ i | | 2 - - - ( 1 ) ]]>
    约束条件:
    h ( x i ) β - t i T = ξ i T - - - ( 2 ) ]]>
    求解该问题引入拉格朗日函数得:
    L = 1 2 | | β | | 2 + C 1 2 Σ i = 1 N | | ξ i | | 2 - Σ i = 1 N Σ j = 1 m α i , j ( h ( x i ) β j - t i , j + ξ i , j ) - - - ( 3 ) ]]>
    利用KKT条件分别对拉格朗日函数的各个变量求偏导数即得:
    ∂ L ∂ β j = 0 → β j = Σ i = 1 N α i , j h ( x i ) T → β = H T α - - - ( 4 ) ]]>
    ∂ L ∂ ξ i = 0 → α i = C ξ i , i = 1 , . . . , N - - - ( 5 ) ]]>
    ∂ L ∂ α i = 0 → h ( x i ) β - t i T + ξ i T = 0 - - - ( 6 ) ]]>
    对式(4)~式(6)进行变换得式:
    β = H T ( 1 C + HH T ) - 1 T - - - ( 7 ) ]]>
    将式(7)其代入决策函数得:
    f ( x ) = h ( x ) β = h ( x ) H T ( 1 C + HH T ) - 1 T - - - ( 8 ) ]]>
    引入高斯核函数,核函数定义为:
    K(xi,xj)=h(xi)·h(xj)=exp(-γ||xi-xj||2)   (9)
    其中γ为高斯核函数宽度参数,决策函数变形为:
    f ( x ) = K ( x , x 1 ) . . . K ( x , x N ) ( 1 C + Ω ) - 1 T - - - ( 10 ) ]]>
    其中:
    Ω=HHT;Ωi,j=h(xi)·h(xj)=K(xi,xj)   (11)
    设W由训练样本计算得到,定义其为输出权值向量。
    把样本x代入决策函数(10)后得到输出f(x),其中fj(x)代表第j个输出,则 f(x)=[f1(x),...,fm(x)],对于样本x的分类结果表示为:
    label ( x ) = arg max i ∈ { 1 , . . . m } f i ( x ) - - - ( 12 ) ]]>
    本发明将对如何利用FPGA实现方程(10)、(12)进行说明。本发明采用VHDL语言进 行编写,使用的开发平台为Quartus II 13。在程序编写过程中的基本元件直接使用IP软核包 括减法器(SUB)、加法器(ADD)、乘法器(MULT)、除法器(DIV)、乘法累加器(MAC) 以及存储器ROM和RAM。
    中间数据的处理:在运算过程中,运算??榈氖淙?、输出应具有统一的二进制位数,设 运算??椴捎胵位二进制数格式为1位符号位、n1位整数位、n2位小数位,即二进制位数为: q=1+n1+n2。乘法器的设置,当输入数据是q位时对应的输出数据是2q位,为了前后??橄?互通信应使输出数据变为q位,此时应保留首位符号位和第(n1+2·n2)位~n2位,其余位舍去。 除法??榈纳柚?,为了前后衔接,应使输入数据q位的二进制数左移n2位,低位补0,对于 输出数据取最高位的符号位和低(n1+n2)位作为输出,其余舍去。
    高斯核函数??榈氖迪郑焊咚购撕甘?椴捎梅侄蜗咝越品?,即用yi(x)=aix+bi进行分段近似,当x=8,高斯核函数y=exp(-8)=0.000335,已经很接近0,当x>8时,取 y=0,将0~8分成64分,即x每变化1/8,取一组(ai,bi)。如图1所示构造2个18位的RAM 存储(ai,bi),深度是64,即用6位二进制数表示地址。定义一个乘法器(MULT)实现ai和 x相乘,一个带使能端的加法器(ADD)实现aix和bi相加。
    核函数??榈氖迪郑焊媚?橥瓿墒淙胧莺腿ㄖ档暮撕怂?,即完成 如图2此处采用流水线的方式实现核函数运算,第一步构造 L个减法器(SUB)实现(xi1-xj1),(xi2-xj2),…,(xid-xjd);第二步构造L个乘法器 (MULT),将减法器的输出同时送入乘法器的两个端口完成平方运算(xi1-xj1)2, (xi2-xj2)2,…,(xid-xjd)2;第三步构造加法器模(ADD)块对乘法器L个输出结果进行 求和第四步构造乘法器(MULT)实现求和结果与参数γ的相乘运算 第五步最后将第四步的结果代入高斯核函数指数??榈玫绞涑鼋峁?;上述 核函数运算的5个步骤中的元件中均定义有使能控制端,当满足使能信号为高电平时,在时 钟上升沿即可触发运算,此时核函数可进行流水线操作,图3为高斯核函数运行仿真图,输 入数据来自鸢尾花(Iris)数据,第一次输入1组数据[0.694、0.417、0.833、0.083、0.667、0、 0.042],在第5个时钟周期后产生输出0.1929,当连续输入6组数据时,在第5个时钟周期后 数据连续输出,图中数据采用16进制数表示;
    矩阵分块求逆??椋菏紫炔捎肔U矩阵分解成上三角(U)、下三角矩阵(L)即A=L·U,然 后对三角矩阵求逆,最后进行矩阵相乘A-1=U-1·L-1,如果矩阵维数很大时直接用上面的方法 求逆计算量会很大,故在此使用一种适合任意维数的降维法矩阵求逆的方法,对于N维矩阵, 如果N为偶数则直接平均分成4块,如果N为奇数则将矩阵扩大维变成(N+1)维矩阵然后进 行分块。对分块后的矩阵进行求逆,最后求出整个矩阵的逆矩阵,图4为60维矩阵A60,60的 分块图,首先将60维矩阵分成30维,然后分成15维,进行扩维变成16维,然后分成8维, 4维,运算时则由小维数矩阵逆构造大维数的矩阵逆,具体按下面步骤运算;
    ①、4维矩阵的LU分解
    A 1 ~ 4,1 ~ 4 = L 1 ~ 4,1 ~ 4 · U 1 ~ 4,1 ~ 4 = a 11 a 12 a 13 a 14 a 22 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44 = 1 l 21 1 l 31 l 32 1 l 41 l 42 l 43 1 u 11 u 12 u 13 u 14 u 22 u 23 u 24 u 33 u 34 u 44 - - - ( 25 ) ]]>
    将式(25)展开并进行变形得如下计算公式:
    u 1 j = a 1 j ( j = 1,2 , 3 , n ) ; l i 1 = a i 1 u 11 ( i = 2,3 , 4 ) ; u kj = a kj - Σ t = 1 k - 1 l kt u tj ( j = k , k + 1 , . . . , 4 ; k = 2,3 , 4 ) ; l ik = 1 u kk ( a ik - Σ t = 1 k - 1 l it u tk ) ( i = k + 1 , k + 2 , . . . , 4 ; k = 2,3 , 4 ) - - - ( 26 ) ]]>
    求解式(26)运算得到矩阵L1~4,1~4,U1~4,1~4。
    ②、上三角矩阵求逆,对矩阵U1~4,1~4进行求逆,对于下三角矩阵经过转置即可使用该方 法;设矩阵U1~4,1~4的逆矩阵为V1~4,1~4则有:
    u 11 u 12 u 13 u 14 u 22 u 23 u 24 u 33 u 34 u 44 v 11 v 12 v 13 v 14 v 22 v 23 v 24 v 33 v 34 v 44 = U 1 ~ 4,1 ~ 4 · V 1 ~ 4,1 ~ 4 = E - - - ( 27 ) ]]>
    将式(27)展开并进行变形得:
    v ii = 1 u ii ( i = 1 , . . . , 4 ) ; v ij = - 1 u ii Σ t = i + 1 j u it v tj ( i = 1 , . . . , 3 ; j = i + 1 , . . . , 4 ) ; - - - ( 28 ) ]]>
    求解式(28)即可求出同样的方法也可求出
    ③、对A1~8,1~8进行LU分块分解,得下式:
    A 1 ~ 8,1 ~ 8 = A 1 ~ 4,1 ~ 4 A 1 ~ 4,5 ~ 8 A 5 ~ 8,1 ~ 4 A 5 ~ 8,5 ~ 8 = L 1 ~ 4,1 ~ 4 O L 5 ~ 8,1 ~ 4 L 5 ~ 8,5 ~ 8 · U 1 ~ 4,1 ~ 4 U 1 ~ 4,5 ~ 8 O U 5 ~ 8,5 ~ 8 - - - ( 29 ) ]]>
    将式(29)展开并进行变形得式(30);
    L 1 ~ 4,1 ~ 4 · U 1 ~ 4,1 ~ 4 = A 1 ~ 4,1 ~ 4 ( 1 ) L 5 ~ 8,1 ~ 4 = A 5 ~ 8,1 ~ 4 · U 1 ~ 4,1 ~ 4 - 1 ( 2 ) U 1 ~ 4,5 ~ 8 = L 1 ~ 4,1 ~ 4 - 1 · A 1 ~ 4,5 ~ 8 ( 3 ) L 5 ~ 8,5 ~ 8 U 5 ~ 8,5 ~ 8 = A 5 ~ 8,5 ~ 8 - L 5 ~ 8,1 ~ 4 U 1 ~ 4,5 ~ 8 ( 4 ) - - - ( 30 ) ]]>
    a、由步骤①和②的方法求出(30)式(1)中的矩阵
    b、将矩阵代入(30)式(2)中,可求出L5~8,1~4,将矩阵代入(30)式(3) 中,求出U1~4,5~8;
    c、将矩阵L5~8,1~4和U1~4,5~8代入(30)式(4)中,得到L5~8,5~8U5~8,5~8,由步骤①和②的方 法求出矩阵:
    ④、上三角矩阵分块求逆方法(对下三角矩阵进行转置变成上三角矩阵即可运用该方法), 设U矩阵的逆矩阵为V矩阵,则有:
    U 1 ~ 4,1 ~ 4 U 1 ~ 4,5 ~ 8 O U 5 ~ 8,5 ~ 8 V 1 ~ 4,1 ~ 4 V 1 ~ 4,5 ~ 8 O V 5 ~ 8,5 ~ 8 = U 1 ~ 8,1 ~ 8 · V 1 ~ 8,1 ~ 8 = I - - - ( 31 ) ]]>
    将矩阵(31)展开并进行变形得;
    V 1 ~ 4,1 ~ 4 = U 1 ~ 4,1 ~ 4 - 1 V 5 ~ 8,5 ~ 8 = U 5 ~ 8,5 ~ 8 - 1 V 1 ~ 4,5 ~ 8 = - U 1 ~ 4,1 ~ 4 - 1 U 1 ~ 4,5 ~ 8 U 5 ~ 8,5 ~ 8 - 1 - - - ( 32 ) ]]>
    式(32)中的矩阵U1~4,5~8、均由步骤③求得,代入式(32)即得到V1~8,1~8, 即将下三角矩阵经过转置使用同样的方法求得
    ⑤、按照步骤③、④的方法,求得对于15位的矩阵可以通过扩维 的方法如式(33)变成16维的矩阵,调用上面的方法,求得然后分别 取矩阵的前15行15列即为矩阵A1~15,1~15的
    A 1 ~ 16,1 ~ 16 = A 1 ~ 15,1 ~ 15 0 1 ~ 15,1 0 1,1 ~ 15 1 - - - ( 33 ) ]]>
    得到然后按照步骤③、④的方法求得,进而求 得
    ⑥、矩阵A60,60的逆矩阵即可由式(34)求得;
    A 1 ~ 60,1 ~ 60 - 1 = U 1 ~ 60,1 ~ 60 - 1 · L 1 ~ 60,1 ~ 60 - 1 - - - ( 34 ) ]]>
    矩阵求逆的FPGA实现,首先构造求的???,然后构造的 ???、的???、的???、的???,高 一级的??榭梢灾苯拥饔玫鸵患兜哪??,最后构造矩阵相乘??榈玫皆怂憬峁?,由于每次扩 维的方法步骤相同,所以仅需对程序进行少量修改即可。
    基本元件、??楣乖旌靡院?,按照如图5和图6所示的结构连接起来,然后将控制信号, 状态信号引入状态机,去控制和监测整个程序的进行。程序按照图7所示的流程进行。
    A1:进行复位,所有??榛氐匠跏甲刺?;
    A2:初始化,将训练样本及其分类标签通过RS232由PC机存入到FPGA双端口的RAM 中(将样本按特征分成d部分分别存储到d个RAM,d个RAM使用相同的地址,一个样本 的d个特征在RAM占用相同的地址);
    A3:启动训练??槿缤?,首先进行训练数据的核函数运算,
    Ω=HHT;Ωi,j=h(xi)·h(xj)=K(xi,xj);训练样本存储在双端口的RAM中,定义两个计数器, cnta,cntb作为双端口RAM的两个地址读取数据,两个样本送入核函数中运算,核函数的 使能端全部置高电平。每个时钟周期,cntb=cntb+1,当cntb=(N-1)时,cntb清零, cnta=cnta+1;当cnta计数到N时,运算结束。随着计数器更新,数据连续不断地送入核函 数,按流水线不断的运算并产生输出。
    A4:当A3状态启动时,延时5个时钟周期,启动加法??椋航邮丈弦徊降氖涑鍪?, 将其存储到存储器中,构造一个计数器CNT,一个加法器ADD,实现(1/C+Ω),加法器 的一端接1/C,另一端接存储器的输出端,加法器的输出接存储的输入端口,计数器的输出 端(cnt)作为存储器的地址,4个时钟周期为一个循环,t=1时读取数据,t=2时输出数据 与1/C相加,t=3时将求和结果存回原地址中,t=4时计数器更新,cnt1=cnt1+(N+1)。即 指向对角线的下一个元素,当计数器记到N2时,运算结束,将完成信号Ready置高电平,状 态机跳到下一状态,延时2个时钟将数据输出。
    A5:启动矩阵求逆???,首先将A4输出数据存入存储器,待数据全部读入以后,进行 运算,运算结束后将Ready置高电平,同时延迟两个时钟周期后将数据输出。状态机检测到 信号后,跳到下一状态。
    A6:矩阵乘??椋航獳5数据存入RAM中,完成W=BNNT,分类标签T分别存到RAMt1, RAMt2,…,RAMtm,构造m个乘法累加器MAC,m个存储器RAMw1,RAMw2,…, RAMwm,第j个乘法累加器MAC的两个输入端口,一端接RAM的输出,另一端接RAMtj 的输出,完成运算,将结果存入RAMwj中,其中i=1,2….,N,m个乘法累 加器是同时并行运算,结果分别存入RAMw1,RAMw2,…,RAMwm中,RAMw中所存 储的数据即为输出权值,其中j=1,2….,m;当计算结束后,Ready置高电平,跳到下一 状态。
    A7:检测外部的测试样本是否准备好,当检测到高电平时,跳到下一个状态。
    A8:启动测试??槿缤?:测试样本的分类运算,首先完成测试样本与输入权值的核运 算,输入权值即训练样本,隐含层共有N个核函数,所以有N组输入权值(输入权值在系统 初始化时存入RAM中)。核函数采用流水线操作,测试数据不变,输入权值连续输入时,在 第5个时钟周期后数据开始连续输出。即当第5个时钟周期第1个核函数数据输出,同时送 入m个乘法累加器一端,另一端输入对应的输出权值进行并行相乘,第6个时钟周期第2个 训练样本的核函数数据输出,送入m个乘法累加器与对应的输出权值相乘,当第N个核函数 产生输出,送入乘法累加器与对应的输出权值相乘,则计算完成,m个乘法累加器输出端的 数据保持不变。Ready置高电平。状态跳到下一个状态。
    A9:判断???,上一步有m个输出,分别为f1(x),f2(x),…,fm(x),首先令T(0)=1, 其余位为0;然后取f1(x)和f2(x)进行比较,如果f1(x)≥f2(x)则max=f1(x)T不变,否则 max=f2(x),T(1)=1,其余位置0;然后按此方法取max与下一个数据fj(x)进行比较,如 果max≥fj(x)则max,T不变,否则max=fj(x),T(j-1)=1,其余位置0,全部比较完后 将T输出,同时状态机跳到A7,准备测试下一组样本。

    关于本文
    本文标题:核函数极限学习机分类器的FPGA实现方法.pdf
    链接地址://www.4mum.com.cn/p-5886967.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 舟山飞鱼直播走势图片 多乐彩开奖结果今天 360浏览器快乐8 海南环岛赛彩票技巧 贵州11选5开奖结果走势图 台湾高频彩 股票行情大盘走势直播 体彩青海11选5 双色球蓝球杀号风杀 移动棋牌游戏大厅下载 江西多乐彩今天开奖吗 最好的丰禾棋牌官网 江苏十一选五的走势图 股票分析师qq 百赢棋牌app官方下载 青海十一选五走势图表