2. 江苏省媒体设计与软件设计重点实验室,江苏 无锡 214122
2. Jiangsu Province Key Lab. of Media Design & Software Technologies, Wuxi 214122, China
近年来,极限学习机(extreme learning machine, ELM)已经得到了广泛的研究和应用。ELM是基于前馈神经网络(single hidden-layer feedforward neural network, SLFN)的最小二乘算法,同时具有最小的训练误差和最小的权重范数,可应用于回归问题和分类问题[1]。固定型ELM为了获得较好的学习能力,通常采用高维的网络结构,学习规模较大,因此寻找最优隐节点个数和有效控制网络结构复杂性成为急需解决的问题。Huang等[2]提出了增量型极限学习机(incremental extreme learning machine,I-ELM),通过增加隐含层节点数减少训练误差,但是其使用增量式策略后得到的新输出权重与具有同样隐含层参数的标准ELM求得的输出权重结果不同。文献[3]提出了不同的增量式策略,根据分块矩阵的广义逆矩阵分析确定输出权重,且其具有ELM的最优性。以上所述均为批量学习算法,只能将数据一次性输入给训练模型。而现实生活中,很多数据都不是一次性获得的。数据依次加入到训练模型中,批量学习算法需将旧的数据和新的数据一起重新训练,需要花费大量的时间[4-5]。文献[6]提出了在线序列极限学习机(online sequence extreme learning machine, OS-ELM),可以将训练数据逐个或多个地加入到训练模型中,丢掉已经训练过的数据以减少空间消耗。文献[7]提出了一种基于增量平均加权的在线序贯极限学习机算法(incremental weighted average based online sequential extreme learning machine, IWOS-ELM),利用原始数据来弱化增量数据的波动,使在线学习机具有良好的稳定性。然而,现实生活中存在着大量的不平衡数据,例如生物医学应用和网络入侵等,ELM并不适用于此类不平衡数据。在不平衡数据中,分为多数类和少数类,一般学习算法中大多数类将分离边界推向少数类,以期望获得更好的自身分类效果[8-10]。文献[11]提出了应用于不平衡数据的W-ELM算法。此算法增加了权数,使得数据具有新的平衡程度。对于在线学习,文献[12]在OS-ELM的基础上提出了加权在线序列极限学习机(weighted online sequential extreme learning machine, WOS-ELM),设置适当的权重,使得不平衡分类的学习性能更好。但是这些在线学习算法有着和ELM一样的问题——如何寻找最优隐含层节点数。
本文提出了针对类别不平衡问题的增量在线序列极限学习机(incremental and online sequence extreme learning machine for class imbalance learning,IOS-ELM)。首先根据类别不平衡比率调整平衡因子,增大少数类样本的平衡因子使得分离超平面靠近多类样本。再根据分类误差大小决定是否增加隐节点数,通常情况下隐节点数小于训练样本,利用Schur complement公式增加隐节点;当隐节点数较大时利用Sherman-Morrison公式增加隐节点。寻找到最优隐节点数后,可逐个或多个地加入新训练样本获得更好的训练模型。
1 相关工作 1.1 极限学习机ELM随机产生隐含层参数且不需要进行调整,通过最小二乘法直接确定隐含层的输出权重,极大地提高了运行速度且具有良好的泛化性能[13]。ELM是批量学习算法,训练样本数是固定的。2006年,Huang等[1]正式提出极限学习机的理论及应用。
${{{y}}_j} = \sum\limits_{i = 1}^l {{{{\beta }}_i}} g\left( {{{{w}}_i},{{{e}}_i},{{{x}}_j}} \right),\;\; {\rm{ }}j = 1, 2,\cdots ,t$ | (1) |
式中:yj是第j个训练样本的输出值;wi为第i个隐含层节点的输入权重;ei为第i个隐含层节点的偏差;xj为第j个输入节点。由式(1)可推出输出权重
$ {{\beta }} = \left\{ {\begin{array}{*{20}{c}} {{{{H}}^{\rm{T}}}{{\left( {{{H}}{{{H}}^{\rm{T}}}} \right)}^{ - 1}}{{Y}},\;\; {\text{样本数隐}}<{\text{节点数}}}\\ {{{\left( {{{{H}}^{\rm{T}}}{{H}}} \right)}^{ - 1}}{{{H}}^{\rm{T}}}{{Y}}, \;\; {\text{隐节点数}}<{\text{样本数}}} \end{array}} \right. $ |
ELM没有迭代调整的过程,相对于传统的前馈神经网络极大地提高了学习速度。
1.2 在线序列极限学习机OS-ELM是ELM增加训练样本而得的一种在线学习算法,具有ELM所有的优点。OS-ELM包括一个初始的ELM批量学习过程和在线序列学习过程。在初始化阶段,根据广义逆矩阵的公式,初始的输出权重
${{{\beta }}_0} = {{K}}_0^{ - 1}{{H}}_0^{\rm{T}}{{{Y}}_0}$ |
式中:H0是隐含层输出矩阵;
${{{H}}_{t + 1}} = \left[ {\begin{array}{*{20}{c}} {{{{H}}_t}} \\ {{{{h}}_{t + 1}}} \end{array}} \right],\;\;\;{{{Y}}_{t{\rm{ + 1}}}}{\rm{ = }}\left[ {\begin{array}{*{20}{c}} {{{{Y}}_t}} \\ {{{{y}}_{t + 1}}} \end{array}} \right]$ |
式中:ht+1为新增节点的隐含层输出矩阵;yt+1为新增训练样本的期望输出向量。当第t+1块数据集加入到训练样本时,输出矩阵可由第t块数据集加入到训练样本后的输出矩阵分析求得,计算公式为
$\begin{array}{c} {{{\beta }}_{t + 1}} = {{{\beta }}_t} + {{K}}_{t + 1}^{ - 1}{{h}}_{t + 1}^{\rm{T}} ({{{Y}}_{t + 1}} - {{{h}}_{t + 1}}{{{\beta }}_t}) \\ {{K}}_{t + 1}^{ - 1} = {{K}}_t^{ - 1} - {{K}}_t^{ - 1}{{h}}_{t + 1}^{\rm{T}} {({{I}} + {{{h}}_{t + 1}}{{K}}_t^{ - 1}{{{h}}_{t + 1}}^{\rm{T}} )^{ - 1}}{{{h}}_{t + 1}}{{K}}_t^{ - 1} \end{array} $ |
在极限学习机的模型中,训练误差随着隐含层节点数的增加而减小。但在实验中,考虑到计算复杂度,应尽量减少隐含层节点数。为了平衡训练误差与计算复杂度这两个因素,寻找隐含层节点数的最优值成为迫切需要解决的问题。无逆矩阵极限学习机(IF-ELM)应运而生。该算法采用了隐节点增加策略,具有l+1个隐含层节点的输出权重可由原l个隐含层节点的输出权重求出,而不需要重新计算所有的隐含层节点输出权重。
当增加一个隐含层节点时,输入权重Wl+1和偏值El+1更新为如下形式:
${{{W}}^{l + 1}} = \left[ {\begin{array}{*{20}{c}} {{{{W}}^l}} \; {{{{w}}_{l + 1}}} \end{array}} \right],\;\;\;{{{E}}^{l + 1}} = \left[ {\begin{array}{*{20}{c}} {{{{E}}^l}} \; {{{{e}}_{l + 1}}} \end{array}} \right]$ |
式中Wl和El是具有l个隐含层节点数的输入权重和偏差。wl+1为新增隐含层节点输出权重,el+1为新增隐含层节点偏差,两者均为随机选取的参数。则具有l+1个隐含层节点的ELM的隐含层输出矩阵
$\begin{array}{c} {{{H}}^{l + 1}} = g\left( {{{{W}}^{l + 1}}{{X}} + {{{E}}^{l + 1}}} \right) = \\ \;\;\;\;\;\;g\left( {\left[ {\begin{array}{*{20}{c}} {{{{W}}^l}}&{{{{w}}_{l + 1}}} \end{array}} \right]{{X}} + \left[ {\begin{array}{*{20}{c}} {{{{E}}^l}}&{{{{e}}_{l + 1}}} \end{array}} \right]} \right) = {\rm{ [}}\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}{\rm{]}} \end{array} $ | (2) |
具有l+1个隐含层节点的输出权重
$\begin{array}{c} {{{\beta }}^{l + 1}} = {\left( {{{{H}}^{l + 1}}} \right)^{\dagger} }{{Y}} = \\ \;\;\;\;\; \;\;\;\; {({[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}])^{ - 1}}{[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }{{Y}} = {{UY}} \end{array} $ |
式中:
$\begin{array}{c} {{U}} = {({a^2}{{{I}}_{l + 1}} + {[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}])^{ - 1}}{[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} } = \\ \;\;\;\;\;\;\;\;\;\;\; {\left[ {\begin{array}{*{20}{c}} {{a^2}{{{I}}_l} + {{{H}}^{\rm{T}} }{{H}}}&{{{{H}}^{\rm{T}} }{{h}}} \\ {{{{h}}^{\rm{T}} }{{H}}}&{{a^2} + {{{h}}^{\rm{T}} }{{h}}} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} {{H}} \\ {{h}} \end{array}} \right] = \\ \;\;\;\;\;\;\;\;\;\;\; \left[ {\begin{array}{*{20}{c}} {{A}}&{{B}} \\ {{C}}&{{D}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{H}} \\ {{h}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{{AH + Bh}}} \\ {{{CH + Dh}}} \end{array}} \right] \\ \end{array} $ |
由Schur complement公式可得
$\begin{array}{c} {{A}} = {\left[ {{a^2}{{{I}}_l} + {{{H}}^{\rm{T}} }{{H}} - {{{H}}^{\rm{T}} }{{h}}{{\left( {{a^2} + {{{h}}^{\rm{T}} }{{h}}} \right)}^{ - 1}}{{{h}}^{\rm{T}} }{{H}}} \right]^{ - 1}} \\ {{B}} = - {{A}}{{{H}}^{\rm{T}} }{{h}}{\left( {{a^2} + {{{h}}^{\rm{T}} }{{h}}} \right)^{ - 1}} \\ {{C}} = - {\left( {{a^2} + {{{h}}^{\rm{T}} }{{h}}} \right)^{ - 1}}{{{h}}^{\rm{T}} }{{HA}} \\ {{D}} = - {{C}}{{{H}}^{\rm{T}} }{{h}}{\left( {{a^2} + {{{h}}^{\rm{T}} }{{h}}} \right)^{ - 1}} + {\left( {{a^2} + {{{h}}^{\rm{T}} }{{h}}} \right)^{ - 1}} \end{array} $ |
式中
$\begin{array}{c} {{A}} = {({a^2}{{{I}}_l} + {{{H}}^{\rm{T}} }{{H}})^{ - 1}} + {({a^2}{{{I}}_l} + {{{H}}^{\rm{T}} }{{H}})^{ - 1}}{{{H}}^{\rm{T}} }{{h}}\cdot \\ {\left[{{I}} + {({a^2} + {{{h}}^{\rm{T}} }{{h}})^{ - 1}}{{{h}}^{\rm{T}} }{{H}}{({a^2}{{{I}}_l} + {{{H}}^{\rm{T}} }{{H}})^{ - 1}}{{{H}}^{\rm{T}} }{{h}}\right]^{ - 1}}\cdot \\ {({a^2} + {{{h}}^{\rm{T}} }{{h}})^{ - 1}}{{{h}}^{\rm{T}} }{{H}}{({a^2}{{{I}}_l} + {{{H}}^{\rm{T}} }{{H}})^{ - 1}} \end{array} $ |
OS-ELM算法通过不断地增加训练样本更好地反应数据模型。现实生活中有很多类别不平衡数据,为了获得更高的分类准确率OS-ELM算法将分离超平面推向少数类,降低了少类的识别率。此外,隐节点个数太少降低了分类准确率,但隐含层节点个数太多使网络结构变得复杂。OS-ELM算法只是逐个增加训练样本个数,并未对隐含层节点个数进行调整。
本文提出了面向类别不平衡的无逆矩阵在线序列极限学习机。所提算法首先利用参数λ平衡类别不平衡数据中分离边界的距离和训练误差之间的关系,然后通过增加隐节点来调整网络结构,最后使用在线学习方式,训练模型在线的加入训练数据以更好地反映数据模型。
2.2 算法推导现实生活中有很多类别不平衡现象,例如欺诈交易识别中,绝大多数交易属于正常交易,只有少数交易为欺诈交易,这就形成了类别不平衡现象[15]。在经典ELM中,为了获得更高的分类准确率,ELM将分离超平面推向少数类,降低了少数类的识别率[16-17]。本文为了提高少数类的识别率,为每个不同的类别设置不同的λ值,少数类的λ值比多数类的λ大,将分离超平面推向多数类。新的λ值为k×k的矩阵,设置如下:
$ {\lambda _{ii}} = \frac{{100}}{{{\text{第}}i{\text{类样本个数}}}} $ |
本文所提算法分为两种情况:一种为隐含层节点数小于训练样本数,另一种为训练样本数小于隐含层节点数。
1)隐含层节点数小于训练样本数是比较常见的情况。将λ设置为矩阵后,具有l个隐含层节点的输出权重
${{{\beta }}^l} = {({{H}}{}^{\rm{T}}{{\lambda H}} + {{I}})^{ - 1}}{{{H}}^{\rm{T}}}{{\lambda Y}}$ | (3) |
初始化阶段增加隐含层节点数后,隐含层输出权重Hl+1更新如式(2)所示,将式(2)代入到式(3)可得到新的输出权重
$\begin{array}{c} {{{\beta }}^{l + 1}} = {({[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }{{\lambda }}[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}] + {{I}})^{ - 1}}{{{H}}^{\rm{T}} }{{\lambda Y}} = \\ \;\;\;\;\;\;\;\; {\left[ {\begin{array}{*{20}{c}} {{{{H}}^{\rm{T}} }{{\lambda H}} + {{{I}}_{l \times l}}}&{{{{H}}^{\rm{T}} }{{\lambda h}}} \\ {{{{h}}^{\rm{T}} }{{\lambda H}}}&{{{{h}}^{\rm{T}} }{{\lambda h}} + 1} \end{array}} \right]^{ - 1}}\left[ {\begin{array}{*{20}{c}} {{{{H}}^{\rm{T}} }} \\ {{{{h}}^{\rm{T}} }} \end{array}} \right]{{\lambda Y}} = \\ \;\;\;\;\;\;\;\; \left[ {\begin{array}{*{20}{c}} {{{{A}}_1}}&{{{{B}}_1}} \\ {{{{C}}_1}}&{{{{D}}_1}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{{{H}}^{\rm{T}} }} \\ {{{{h}}^{\rm{T}} }} \end{array}} \right]{{\lambda Y}} \\ \end{array} $ |
其中:
$\begin{array}{c} {{{A}}_1} = {[{{{H}}^{\rm{T}} }{{\lambda H}} + {{{I}}_{l \times l}} - {{{H}}^{\rm{T}} }{{\lambda h}}{({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}}{{{h}}^{\rm{T}} }{{\lambda H}}]^{ - 1}} \\ {{{B}}_1} = - {{{A}}_1}{{{H}}^{\rm{T}} }{{\lambda h}}{({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}} \\ {{{C}}_1} = - {({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}}{{{h}}^{\rm{T}} }{{\lambda H}}{{{A}}_1} \\ {{{D}}_1} = - {{{C}}_1}{{{H}}^{\rm{T}} }{{\lambda h}}{({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}} + {({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}} \end{array} $ |
式中
$\begin{array}{c} {{{A}}_1} = {({{{H}}^{\rm{T}} }{{\lambda H}} + {{{I}}_{l \times l}})^{ - 1}} + {({{{H}}^{\rm{T}} }{{\lambda H}} + {{{I}}_{l \times l}})^{ - 1}}{{{H}}^{\rm{T}} }{{\lambda h}}\cdot \\ {\left[I + {({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}}{{{h}}^{\rm{T}} }{{\lambda H}}{({{{H}}^{\rm{T}} }{{\lambda H}} + {{{I}}_{l \times l}})^{ - 1}}{{{H}}^{\rm{T}} }{{\lambda h}}\right]^{ - 1}}\cdot \\ {({{{h}}^{\rm{T}} }{{\lambda h}} + 1)^{ - 1}}{{{h}}^{\rm{T}} }{{\lambda H}}{({{{H}}^{\rm{T}} }{{\lambda H}} + {{{I}}_{l \times l}})^{ - 1}} \end{array} $ |
在线学习阶段,增加隐含层节点数以减小训练误差,当隐含层节点数与训练误差都具有合适的值的时候,再继续增加训练样本数,更多的样本以更好地反映数据模型。当增加样本时,参数λ、隐含层输出矩阵H和预期输出Y分别为
${{{\lambda }}_{t + 1}} = \left[ {\begin{array}{*{20}{c}} {{{{\lambda }}_t}}&{{0}} \\ {{0}}&{{{{\lambda }}_{t + 1}}} \end{array}} \right]{\rm{, }}{{{H}}_{t{\rm{ + 1}}}}{\rm{ = }}\left[ {\begin{array}{*{20}{c}} {{{{H}}_t}} \\ {{{{h}}_{t + 1}}} \end{array}} \right]{\rm{, }}{{{Y}}_{t + 1}}{\rm{ = }}\left[ {\begin{array}{*{20}{c}} {{{{Y}}_t}} \\ {{{{y}}_{t + 1}}} \end{array}} \right]$ |
故在线学习的输出权重为
$ \begin{array}{c} {{{\beta }}_{t + 1}} = {{{\beta }}_t} + {{K}}_{t + 1}^{ - 1}{{h}}_{t + 1}^{\rm{T}}{{{\lambda }}_{t + 1}}\left( {{{{Y}}_{t + 1}} - {{{h}}_{t + 1}}{{{\beta }}_t}} \right) \\ {{K}}_{t + 1}^{ - 1} = {{K}}_t^{ - 1} - {{K}}_t^{ - 1}{{h}}_{t + 1}^{\rm{T}}{\left( {{{I}} + {{{\lambda }}_{t + 1}}{{{h}}_{t + 1}}{{K}}_t^{ - 1}{{{h}}_{t + 1}}^{\rm{T}}} \right)^{ - 1}}{{{\lambda }}_{t + 1}}{{{h}}_{t + 1}}{{K}}_t^{ - 1} \\ \end{array} $ |
2) OS-ELM和IF-ELM中都只讨论了隐含层节点数小于训练样本数的情况,而当隐含层节点数大于训练样本数时,这两种算法都不符合最小二乘定律。有些数据结构比较复杂,数据之间的关系或是属性较多,此时需要较多的隐含层节点数。接下来将讨论隐含层节点数大于训练样本数的情况,初始化阶段,将λ设置为矩阵后,由式(1)可得具有l个隐含层节点的输出权重
${{{\beta }}^l} = {{{H}}^{\rm{T}}}{({{H}}{{{H}}^{\rm{T}}} + {{{\lambda }}^{ - 1}})^{ - 1}}{{Y}}$ |
设
${{{Q}}^l} = {({{H}}{{{H}}^{\rm{T}}} + {{{\lambda }}^{ - 1}})^{ - 1}}$ | (4) |
增加隐含层节点后,新的输出权重
$\begin{array}{c} {{{\beta }}^{l + 1}} = {[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }{([\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]{[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} } + {{{\lambda }}^{ - 1}})^{ - 1}}{{Y}} = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; {[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }{({{H}}{{{H}}^{\rm{T}} } + {{h}}{{{h}}^{\rm{T}} } + {{{\lambda }}^{ - 1}})^{ - 1}}{{Y}} = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\; {[\begin{array}{*{20}{c}} {{H}}&{{h}} \end{array}]^{\rm{T}} }{{{Q}}^{l + 1}}{{Y}} \end{array} $ |
式中
$ \begin{array}{l} {{{Q}}^{l + 1}} = {({{H}}{{{H}}^{\rm{T}}} + {{{\lambda }}^{ - 1}})^{ - 1}} - {({{H}}{{{H}}^{\rm{T}} } + {{{\lambda }}^{ - 1}})^{ - 1}}{{h}}\cdot \\ {\left[{{I}} + {{{h}}^{\rm{T}}}{({{H}}{{{H}}^{\rm{T}}} + {{{\lambda }}^{ - 1}})^{ - 1}}{{h}}\right]^{ - 1}}{{{h}}^{\rm{T}}}{({{H}}{{{H}}^{\rm{T}}} + {{{\lambda }}^{ - 1}})^{ - 1}} \end{array} $ | (5) |
将式(4)代入到式(5)中得
${{{Q}}^{l + 1}} = {{{Q}}^l} - {{{Q}}^l}{{h}}{({{I}} + {{{h}}^{\rm{T}}}{{{Q}}^l}{{h}})^{ - 1}}{{{h}}^{\rm{T}}}{{{Q}}^l}$ |
在线学习阶段增加新训练样本后,参数λ、隐含层输出矩阵H和预期输出Y的变化与隐含层节点数小于训练样本数的情况相同,增加训练样本后新的输出权重为
$\begin{array}{c} {{{\beta }}^{t + 1}} = {\left[ {\begin{array}{*{20}{c}} {{{{H}}_t}} \\ {{{{h}}_{t + 1}}} \end{array}} \right]^{\rm{T}}}\left( \left[ {\begin{array}{*{20}{c}} {{{{H}}_t}} \\ {{{{h}}_{t + 1}}} \end{array}} \right]{{\left[ {\begin{array}{*{20}{c}} {{{{H}}_t}} \\ {{{{h}}_{t + 1}}} \end{array}} \right]}^{\rm{T}}} + \right.\\ \quad \quad\;\; \left.{{\left[ {\begin{array}{*{20}{c}} {{{{\lambda }}_t}}&{\bf{0}} \\ {\bf{0}}&{{{{\lambda }}_{t + 1}}} \end{array}} \right]}^{ - 1}} \right)^{ - 1}\left[ {\begin{array}{*{20}{c}} {{{{Y}}_t}} \\ {{{{y}}_{t + 1}}} \end{array}} \right] = \\ \quad \quad \;\; {\left[ {\begin{array}{*{20}{c}} {{{{H}}_t}} \\ {{{{h}}_{t + 1}}} \end{array}} \right]^{\rm{T}}}{\left( {\begin{array}{*{20}{c}} {{{{H}}_t}{{{H}}_t}^{\rm{T}} + {{{\lambda }}_t}}&{{{{H}}_t}{{{h}}^{\rm{T}}_{t + 1}}} \\ {{{{h}}_{t + 1}}{{{H}}_t}^{\rm{T}}}&{{{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}}} \end{array}} \right)^{ - 1}}\left[ {\begin{array}{*{20}{c}} {{{{Y}}_t}} \\ {{{{y}}_{t + 1}}} \end{array}} \right] \\ \end{array} $ |
由Schur complement公式可得:
$\left[ {\begin{array}{*{20}{c}} {{O}}&{{P}} \\ {{R}}&{{S}} \end{array}} \right] = {\left( {\begin{array}{*{20}{c}} {{{{H}}_t}{{{H}}_t}^{\rm{T}} + {{{\lambda }}_t}}&{{{{H}}_t}{{{h}}^{\rm{T}}_{t + 1}}} \\ {{{{h}}_{t + 1}}{{{H}}_t}^{\rm{T}}}&{{{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}}} \end{array}} \right)^{ - 1}}$ |
其中:
$\begin{array}{c} {{O}} = {\left[{{{H}}_t}{{{H}}_t}^{\rm{T}} + {{{\lambda }}_t} - {{{H}}_t} {{{h}}^{\rm{T}}_{t + 1}}{({{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}})^{ - 1}}{{{h}}_{t + 1}}{{{H}}_t}^{\rm{T}}\right]^{ - 1}} \\ {{P}} = - {{O}}{{{H}}_t}{{{h}}^{\rm{T}}_{t + 1}}{({{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}})^{ - 1}} \\ {{R}} = - {({{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}})^{ - 1}}{{{h}}_{t + 1}}{{{H}}_t}^{\rm{T}}{{O}} \\ {{S}} = - {{R}}{{{H}}_t}{{{h}}^{\rm{T}}_{t + 1}}{({{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}})^{ - 1}} + {({{{h}}_{t + 1}}{{{h}}^{\rm{T}}_{t + 1}} + {{{\lambda }}_{t + 1}})^{ - 1}} \end{array} $ |
设
${{O}} = {{\gamma }} + {{\gamma }}\eta {(I + \iota {{\gamma }}\eta )^{ - 1}}\iota {{\gamma }}$ |
为了验证本文所提IOS-ELM算法的有效性,利用keel数据集和UCI数据集对W-ELM、IF-ELM-SMOTE、OS-ELM- SMOTE、EWOS-ELM和所提IOS-ELM算法进行测试。实验数据集分别是:Dermatology-6、Abalone9-18、Yeast1、Shuttle-c0-vs-c4、Segment0、Abalone19、Pageblocks0、Pdspeechfeaters、Vehicle1、Vehicle3、Biodge、DNA、Satimage、USPS,具体描述如表1所示。本文所有实验均在同一环境下完成,采用在Windows 10环境下搭建系统,计算机处理器配置为Intel® CoreTM i5-8400 CPU@2.8 GHz,内存12 GB,MATLAB2016b下完成。
实验中,将所有数据归一化到[−1,1]区间中。ELM网络的激活函数均为Sigmoid函数,为了保证实验的有效性,实验使用五折交叉验证法,每组数据进行20次实验,最终结果为20次实验结果的平均值。为了确保IF-ELM和IOS-ELM算法网络结构不会无休止增长,隐含层节点最大增长个数为50。IF-ELM、OS-ELM和WEOS-ELM算法使用SMOTE作为过采样方法[15]。SMOTE中的k值设置为5,若少数类样本数量较少,则k值相应地减小。本文采用类别不平衡领域中的常用评价性能指标几何平均数(geometric_mean, G-mean)来比较各个算法的分类性能[17]。对于多类问题,本文将多类划分为多个二类问题,求出每个二类问题的G-mean值,取其平均值作为多类分类最终实验结果。
表2给出了隐节点数小于训练样本数的不同ELM算法二分类实验结果。大部分的二分类实验中本文所提出的IOS-ELM算法的G-mean值最高且训练时间也较少。以Dermatology6数据集为例,初始的隐含层节点数为5,误差终止条件为tempmean=0.98。IOS-ELM算法的G-mean=0.96,训练时间为0.078 9 s,分类准确率明显高于其他3种算法。表3给出了隐含层节点数大于训练样本的结果。在隐节点数大于训练样本时,初始时隐含层节点数较多,增加隐节点数对实验结果影响较小。隐节点数过大也导致训练时间较多。表4给出了多类分类实验结果,证明IOS-ELM算法对多类分类实验也有很好的学习性能。
本文针对类别不平衡环境下的增量学习问题,提出了面对类别不平衡的增量在线极限学习机算法,即IOS-ELM算法。ISO-ELM算法利用Schur complement公式增加隐含层节点获得连接权重的最优解。再引入在线学习思想,使训练样本可以逐个或多个地加入到训练模型中。最后调节惩罚因子的大小使其适用于类别不平衡环境下的学习。针对隐含层节点数小于或大于训练样本数两种情况,本文分别给出了理论推理。实验证明,与对比算法相比IOS-ELM算法具有较好的泛化性能和在线预测能力。
[1] | HUANG Guangbin, ZHU Qinyu, SIEW C K. Extreme learning machine: theory and applications[J]. Neurocomputing, 2006, 70(1/2/3): 489-501. (0) |
[2] | HUANG Guangbin, CHEN Lei, SIEW C K. Universal approximation using incremental constructive feedforward networks with random hidden nodes[J]. IEEE transactions on neural networks, 2006, 17(4): 879-892. DOI:10.1109/TNN.2006.875977 (0) |
[3] | LI Shuai, YOU Zhuhong, GUO Hongliang, et al. Inverse-free extreme learning machine with optimal information updating[J]. IEEE transactions on cybernetics, 2016, 46(5): 1229-1241. DOI:10.1109/TCYB.2015.2434841 (0) |
[4] | HUANG Shan, WANG Botao, CHEN Yuemei, et al. An efficient parallel method for batched OS-ELM training using MapReduce[J]. Memetic computing, 2017, 9(3): 183-197. DOI:10.1007/s12293-016-0190-5 (0) |
[5] | KIM Y, TOH K A, TEOH A B J, et al. An online learning network for biometric scores fusion[J]. Neurocomputing, 2013, 102: 65-77. DOI:10.1016/j.neucom.2011.12.048 (0) |
[6] | LIANG Nanying, HUANG Guangbin, SARATCHANDRAN P, et al. A fast and accurate online sequential learning algorithm for feedforward networks[J]. IEEE transactions on neural networks, 2006, 17(6): 1411-1423. DOI:10.1109/TNN.2006.880583 (0) |
[7] |
张明洋, 闻英友, 杨晓陶, 等. 一种基于增量加权平均的在线序贯极限学习机算法[J]. 控制与决策, 2017, 32(10): 1887-1893. ZHANG Mingyang, WEN Yingyou, YANG Xiaotao, et al. An incremental weighted average based online sequential extreme learning machine algorithm[J]. Control and decision, 2017, 32(10): 1887-1893. (0) |
[8] | DOUZAS G, BACAO F, LAST F. Improving imbalanced learning through a heuristic oversampling method based on k-means and SMOTE[J]. Information sciences, 2018, 465: 1-20. DOI:10.1016/j.ins.2018.06.056 (0) |
[9] | BATUWITA R, PALADE V. Class imbalance learning methods for support vector machines[M]//HE Haibo, MA Yunqian. Imbalanced Learning: Foundations, Algorithms, and Applications. New York: John Wiley & Sons, Inc., 2013: 145–168. (0) |
[10] | XIA Shixiong, MENG Fanrong, LIU Bing, et al. A Kernel Clustering-based possibilistic fuzzy extreme learning machine for class imbalance learning[J]. Cognitive computation, 2015, 7(1): 74-85. DOI:10.1007/s12559-014-9256-1 (0) |
[11] | ZONG Weiwei, HUANG Guangbin, CHEN Yiqiang. Weighted extreme learning machine for imbalance learning[J]. Neurocomputing, 2013, 101: 229-242. DOI:10.1016/j.neucom.2012.08.010 (0) |
[12] | MIRZA B, LIN Zhiping, TOH K A. Weighted online sequential extreme learning machine for class imbalance learning[J]. Neural processing letters, 2013, 38(3): 465-486. DOI:10.1007/s11063-013-9286-9 (0) |
[13] | HUANG Guangbin, ZHOU Hongming, DING Xiaojian, et al. Extreme learning machine for regression and multiclass classification[J]. IEEE transactions on systems, man, and cybernetics, part B (cybernetics), 2012, 42(2): 513-529. DOI:10.1109/TSMCB.2011.2168604 (0) |
[14] | RAO C R, MITRA S K. Generalized inverse of a matrix and its applications[C]//Proceedings of the Sixth Berkeley Symposium on Mathematical Statistics and Probability, Volume 1: Theory of Statistics. Berkeley, : University of California Press, 1972: 601–620. (0) |
[15] | BATUWITA R, PALADE V. FSVM-CIL: fuzzy support vector machines for class imbalance learning[J]. IEEE transactions on fuzzy systems, 2010, 18(3): 558-571. DOI:10.1109/TFUZZ.2010.2042721 (0) |
[16] | DING Shuya, MIRZA B, LIN Zhiping, et al. Kernel based online learning for imbalance multiclass classification[J]. Neurocomputing, 2017, 277: 139-148. (0) |
[17] | HE H, GARCIA E A. Learning from imbalance data[J]. IEEE transactions on knowledge and data engineering, 2009, 21(9): 1263-1284. DOI:10.1109/TKDE.2008.239 (0) |