发明名称 LS-SVM分类与回归学递归神经网络硬件电路及实现方法
摘要 本发明公开了一种LS-SVM分类与回归学递归神经网络硬件电路及其实现方法,该方法将LS-SVM与递归神经网络相结合,推导出描述神经网络的动态方程及其拓扑结构,并进一步建立了实现上述递归神经网络的硬件电路,从而用硬件电路对最小二乘支持向量机算法进行实现。本发明所述的LS-SVM分类与回归学递归神经网络与以往出现的网络相比,消除了网络中的非线性部分,神经网络结构更加简洁,大幅度的提高支持向量机的训练速度;同时本发明提出的LS-SVM学神经网络可以在几乎不改变拓扑结构的基础上实现分类和回归两种问题。
申请公布号 CN101308551B 申请公布日期 2010.06.02
申请号 CN200810018129.X 申请日期 2008.05.05
申请人 西安理工大学 发明人 刘涵
分类号 G06N1/00(2006.01)I;G06N3/02(2006.01)I 主分类号 G06N1/00(2006.01)I
代理机构 西安弘理专利事务所 61214 代理人 罗笛
主权项 1.一种LS-SVM分类与回归学习递归神经网络的实现方法,其特征在于:该方法按以下步骤实施,步骤1:根据样本数量构造LS-SVM分类或回归学习递归神经网络的拓扑结构;1)、分别建立LS-SVM分类学习递归神经网络模型和LS-SVM回归学习递归神经网络模型,γ为LS-SVM的惩罚因子;所述的LS-SVM分类学习递归神经网络模型的建立包括,给定分类训练集(z<sub>i</sub>,y<sub>i</sub>),i=1,…,N,其中z<sub>i</sub>∈R<sup>N</sup>为训练样本,而y<sub>i</sub>∈{-1,+1}为样本相对应的类别,其分类决策面表示为<img file="F200810018129XC00011.GIF" wi="510" he="71" />其中w为权值矩阵,b为偏移量,e<sub>i</sub>为误差值,<img file="F200810018129XC00012.GIF" wi="152" he="78" />表示从输入空间到特征空间的非线性映射,LS-SVM分类学习即是解决下面的受约束的最优化问题:<maths num="0001"><![CDATA[<math><mrow><munder><mi>min</mi><mrow><mi>w</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>e</mi></mrow></munder><mi>J</mi><mrow><mo>(</mo><mi>w</mi><mo>,</mo><mi>e</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>w</mi><mi>T</mi></msup><mi>w</mi><mo>+</mo><mi>&gamma;</mi><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>e</mi><mi>i</mi><mn>2</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><img file="F200810018129XC00014.GIF" wi="800" he="46" />求解该问题时引入Lagrange函数:<img file="F200810018129XC00015.GIF" wi="800" he="100" />其中α<sub>i</sub>为Lagrange乘子,分别对各参数求偏导得到该问题的最优条件,消去w和e<sub>i</sub>得出:<maths num="0002"><![CDATA[<math><mrow><mn>1</mn><mo>-</mo><mi>b</mi><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>j</mi></msub><msub><mi>q</mi><mi>ij</mi></msub><mo>-</mo><msup><mi>&gamma;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中q<sub>ij</sub>=y<sub>i</sub>y<sub>j</sub>K<sub>ij</sub>,并且<img file="F200810018129XC00022.GIF" wi="414" he="75" />定义为核函数,当核函数满足Mecer条件,并且对称阵Q<sub>c</sub>=[q<sub>ij</sub>]是正定的,则该问题是一个最优化的凸问题,并且只有一个全局解,所述的LS-SVM分类学习神经网络模型由下面的动态方程来描述:<maths num="0004"><![CDATA[<math><mrow><mover><mi>b</mi><mo>.</mo></mover><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>&alpha;</mi><mo>.</mo></mover><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo>-</mo><msub><mi>by</mi><mi>i</mi></msub><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>j</mi></msub><msub><mi>q</mi><mi>ij</mi></msub><mo>-</mo><msup><mi>&gamma;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>该动态方程(6)(7)在平衡点处即满足最优化条件(4)(5),即所提出的神经网络在平衡点处是满足KKT条件的,这样当所提出的动态网络收敛到平衡点时,就能求解LS-SVM问题,方程(6)(7)用递归神经网络来实现,选取τ=1,由此得出:<maths num="0006"><![CDATA[<math><mrow><mi>&tau;</mi><msub><mover><mi>v</mi><mo>.</mo></mover><msub><mi>&alpha;</mi><mi>i</mi></msub></msub><mo>=</mo><mn>1</mn><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>v</mi><msub><mi>&alpha;</mi><mi>j</mi></msub></msub><msub><mi>q</mi><mi>ij</mi></msub><mo>-</mo><mfrac><mn>1</mn><mi>&gamma;</mi></mfrac><msub><mi>v</mi><msub><mi>&alpha;</mi><mi>i</mi></msub></msub><mo>-</mo><msub><mi>v</mi><mi>b</mi></msub><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>所述的LS-SVM回归学习神经网络模型的建立包括,给定训练集(z<sub>i</sub>,y<sub>i</sub>),i=1,…,N,其中z<sub>i</sub>∈R<sup>N</sup>,y<sub>i</sub>∈R,与分类问题相似回归函数为<img file="F200810018129XC00026.GIF" wi="473" he="73" />LS-SVM回归问题即解决如下的优化问题:<maths num="0007"><![CDATA[<math><mrow><munder><mi>min</mi><mrow><mi>w</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>e</mi></mrow></munder><mi>J</mi><mrow><mo>(</mo><mi>w</mi><mo>,</mo><mi>e</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>w</mi><mi>T</mi></msup><mi>w</mi><mo>+</mo><mi>&gamma;</mi><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msubsup><mi>e</mi><mi>i</mi><mn>2</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>s.t.y<sub>i</sub>=w<sup>T</sup>φ(x<sub>i</sub>)+b+e<sub>i</sub>                (10)同样构建Lagrange函数:<img file="F200810018129XC00031.GIF" wi="800" he="83" />其中α<sub>i</sub>为Lagrange乘子,由KKT条件和与分类类似的推导得到问题最优必须满足:<maths num="0008"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><mi>b</mi><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>j</mi></msub><msub><mi>&Omega;</mi><mi>ij</mi></msub><mo>+</mo><msup><mi>&gamma;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths>上式中Q<sub>R</sub>=[Ω<sub>ij</sub>]=K(x<sub>i</sub>,x<sub>j</sub>)=φ(x<sub>i</sub>)<sup>T</sup>φ(x<sub>j</sub>)定义为核函数,所述的回归网络模型由以下动态方程描述:<maths num="0010"><![CDATA[<math><mrow><mover><mi>b</mi><mo>.</mo></mover><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>J</mi></mrow><mrow><mo>&PartialD;</mo><mi>b</mi></mrow></mfrac><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><msub><mover><mi>&alpha;</mi><mo>.</mo></mover><mi>i</mi></msub><mo>=</mo><mo>-</mo><mfrac><mrow><mo>&PartialD;</mo><mi>J</mi></mrow><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mi>i</mi></msub></mrow></mfrac><mo>=</mo><mo>-</mo><mi>b</mi><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>&alpha;</mi><mi>j</mi></msub><msub><mi>&Omega;</mi><mi>ij</mi></msub><mo>-</mo><msup><mi>&gamma;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>+</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow></math>]]></maths>该动态方程(14)(15)描述的系统在平衡点处即满足原问题的KKT条件(12)(13),2)、建立LS-SVM分类学习递归神经网络拓扑结构和LS-SVM回归学习递归神经网络拓扑结构,所述的LS-SVM分类学习递归神经网络的拓扑结构的实现方法是,将方程(6)(7)用递归神经网络来实现,其中<img file="F200810018129XC00036.GIF" wi="90" he="74" />对应于拓扑结构中的α<sub>i</sub>;v<sub>b</sub>对应于偏移量b;γR<sub>0</sub>对应于积分器的反馈结构;R<sub>0</sub>/|q<sub>ij</sub>|对应于连接权值q<sub>ij</sub>部分,该电路采用多个输入的线性积分器来实现加法和积分环节,运算放大器工作在线性状态,在数值上,<img file="F200810018129XC00041.GIF" wi="251" he="65" />v<sub>b</sub>=b,q<sub>ij</sub>的正负性通过<img file="F200810018129XC00042.GIF" wi="157" he="87" />来体现;对于整个电路,若有N个训练样本,则需要N+1个运算放大器和N(N+3)个连接电阻;LS-SVM分类问题的惩罚因子γ的调整通过调整电阻γR<sub>0</sub>来实现,所述的LS-SVM分类学习递归神经网络硬件电路是,<img file="F200810018129XC00043.GIF" wi="97" he="85" />为对应的拉格朗日乘子α<sub>i</sub>的值,电压<img file="F200810018129XC00044.GIF" wi="131" he="85" /><img file="F200810018129XC00045.GIF" wi="134" he="60" />-1V以及v<sub>b</sub>y<sub>i</sub>通过各自的连接电阻同时与积分器的输入端连接,电压<img file="F200810018129XC00046.GIF" wi="134" he="86" /><img file="F200810018129XC00047.GIF" wi="135" he="61" />-1V以及v<sub>b</sub>y<sub>i</sub>与积分器的连接电阻分别为R<sub>0</sub>/|q<sub>ij</sub>|、γR<sub>0</sub>、R<sub>0</sub>、R<sub>0</sub>,该积分器是由运算放大器与电容C并联而成,积分器的一个输出电路输出端为电压<img file="F200810018129XC00048.GIF" wi="137" he="68" />积分器的另外一个输出电路中连接有一反向器,该反向器的输出端为电压<img file="F200810018129XC00049.GIF" wi="152" he="66" />电压<img file="F200810018129XC000410.GIF" wi="112" he="88" />再经电阻R<sub>0</sub>/|q<sub>ij</sub>|反馈到相应的积分器输入端;所述的LS-SVM回归学习递归神经网络的拓扑结构的实现方法是,将方程(14)(15)用递归神经网络来实现,其中<img file="F200810018129XC000411.GIF" wi="94" he="67" />对应于拓扑结构中的α<sub>i</sub>;v<sub>b</sub>对应于偏移量b;γR<sub>0</sub>对应于积分器的反馈结构;R<sub>0</sub>/|Ω<sub>ij</sub>|对应于连接权值Ω<sub>ij</sub>;<img file="F200810018129XC000412.GIF" wi="101" he="67" />对应于y<sub>i</sub>,在数值上,<img file="F200810018129XC000413.GIF" wi="253" he="90" />v<sub>b</sub>=b,对于LS-SVM回归问题的惩罚因子γ的调整则通过调整电阻γR<sub>0</sub>来实现,所述的LS-SVM回归学习递归神经网络硬件电路是,电压<img file="F200810018129XC000414.GIF" wi="134" he="73" /><img file="F200810018129XC000415.GIF" wi="130" he="69" /><img file="F200810018129XC000416.GIF" wi="127" he="57" />以及v<sub>b</sub>同时与积分器的输入端连接,电压<img file="F200810018129XC000417.GIF" wi="136" he="73" /><img file="F200810018129XC000418.GIF" wi="131" he="68" /><img file="F200810018129XC000419.GIF" wi="125" he="58" />以及v<sub>b</sub>与积分器的连接电阻分别为R<sub>0</sub>/|Ω<sub>ij</sub>|、γR<sub>0</sub>、R<sub>0</sub>、R<sub>0</sub>;积分器由运算放大器与电容C并联组成,该积分器的输出端为电压<img file="F200810018129XC000420.GIF" wi="130" he="66" />电压<img file="F200810018129XC000421.GIF" wi="105" he="71" />再通过电阻R<sub>0</sub>/|Ω<sub>ij</sub>|与相应的积分器输入端连接;步骤2:根据步骤1的LS-SVM分类或回归学习情况选用相应的核函数,并选择对应的核函数参数,如果是SVM分类学习递归神经网络,则选用下式计算<img file="F200810018129XC00051.GIF" wi="800" he="96" />如果是SVM回归学习递归神经网络,则选用下式计算Ω<sub>ij</sub>=K(x<sub>i</sub>,x<sub>j</sub>)=φ(x<sub>i</sub>)<sup>T</sup>φ(x<sub>j</sub>);步骤3:根据步骤1建立的LS-SVM分类或回归学习递归神经网络拓扑结构选择相应的模块进行仿真计算;步骤4:选择电路元件参数,计算各权值电阻R<sub>0</sub>/|q<sub>ij</sub>|,且采用四舍五入的方式选择尽量逼近的标称阻值;步骤5:根据步骤1建立的分类与回归学习递归神经网络的拓扑结构制作相应的硬件电路。
地址 710048 陕西省西安市碑林区金花南路5号