发明名称 基于源域迁移极限学漂移补偿的电子鼻气体识别方法
摘要 本发明提供了一种基于源域迁移极限学漂移补偿的电子鼻气体识别方法,其从机器学角度提出域迁移极限学机框架用于解决传感器漂移问题,而不是直接地校正单一传感器响应,利用电子鼻在未发生漂移时和发生漂移后采集的有标签的气体传感器阵列感测数据矩阵分别构建源域数据集和目标域数据集分别作为极限学机的输入,对电子鼻的识别分类器进行学,以提升识别分类器在电子鼻发生漂移后对气体识别的容差性能,达到漂移补偿和提高气体识别精度的目的,并且持了极限学机的技术优点,使得该方法具备了较好的泛化性和迁移性能。可见,本发明方法中提出的源域迁移极限学机框架建立了一个有良好学能力和泛化能力的学框架。
申请公布号 CN105891422A 申请公布日期 2016.08.24
申请号 CN201610218450.7 申请日期 2016.04.08
申请人 重庆大学 发明人 张磊;刘燕;邓平聆;田逢春
分类号 G01N33/00(2006.01)I 主分类号 G01N33/00(2006.01)I
代理机构 重庆博凯知识产权代理有限公司 50212 代理人 黄河
主权项 基于源域迁移极限学习漂移补偿的电子鼻气体识别方法,其特征在于,包括如下步骤:1)获取电子鼻在未发生漂移时所采集的N<sub>S</sub>个有标签的气体传感器阵列感测数据矩阵作为源域数据集<img file="FDA0000961020500000011.GIF" wi="651" he="63" />对应的标签集合<img file="FDA0000961020500000012.GIF" wi="563" he="63" />任意的第i个源域数据样本<img file="FDA0000961020500000013.GIF" wi="64" he="63" />为电子鼻在未发生漂移时进行一次气体检测所得到的气体传感器阵列感测数据矩阵,i∈{1,2,…,N<sub>S</sub>},即:<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>X</mi><mi>S</mi><mi>i</mi></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>x</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>x</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mn>2</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>n</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>N</mi></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA0000961020500000014.GIF" wi="638" he="63" /></maths>其中,<img file="FDA0000961020500000015.GIF" wi="67" he="62" />表示第i个源域数据样本<img file="FDA0000961020500000016.GIF" wi="59" he="63" />中电子鼻气体传感器阵列的第n个气体传感器的感测特征向量,n∈{1,2,…,N},N表示电子鼻气体传感器阵列中所包含的气体传感器数量;上角标T为转置符号;所述第i个源域数据样本<img file="FDA0000961020500000017.GIF" wi="59" he="63" />的标签<img file="FDA0000961020500000018.GIF" wi="50" he="63" />为:<maths num="0002"><math><![CDATA[<mrow><msubsup><mover><mi>t</mi><mo>&OverBar;</mo></mover><mi>S</mi><mi>i</mi></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>t</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>t</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mn>2</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>t</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>m</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>t</mi><mi>S</mi><mrow><mi>i</mi><mo>,</mo><mi>M</mi></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA0000961020500000019.GIF" wi="597" he="70" /></maths>其中,<img file="FDA00009610205000000110.GIF" wi="61" he="63" />表示第i个源域数据样本<img file="FDA00009610205000000127.GIF" wi="67" he="64" />在第m类目标气体类别序号上的类别标签值,若对第i个源域数据样本<img file="FDA00009610205000000111.GIF" wi="67" he="63" />的识别结果为属于第m类气体,则令<img file="FDA00009610205000000112.GIF" wi="139" he="63" />否则令<img file="FDA00009610205000000113.GIF" wi="158" he="63" />由此构成第i个源域数据样本<img file="FDA00009610205000000114.GIF" wi="60" he="61" />的标签<img file="FDA00009610205000000115.GIF" wi="67" he="61" />m∈{1,2,…,M},M表示电子鼻所能够识别的目标气体种类数;2)获取电子鼻在发生漂移后所采集的N<sub>T</sub>个有标签的气体传感器阵列感测数据矩阵作为目标域数据集<img file="FDA00009610205000000116.GIF" wi="651" he="71" />对应的标签集合<img file="FDA00009610205000000117.GIF" wi="570" he="71" />任意的第j个目标域数据样本<img file="FDA00009610205000000118.GIF" wi="67" he="63" />为电子鼻在发生漂移后进行一次气体检测所得到的气体传感器阵列感测数据矩阵,j∈{1,2,…,N<sub>T</sub>},即:<maths num="0003"><math><![CDATA[<mrow><msubsup><mi>X</mi><mi>T</mi><mi>j</mi></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>x</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>x</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mn>2</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mi>n</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mi>N</mi></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA00009610205000000119.GIF" wi="670" he="71" /></maths>其中,<img file="FDA00009610205000000120.GIF" wi="70" he="63" />表示第j个目标域数据样本<img file="FDA00009610205000000121.GIF" wi="67" he="63" />中电子鼻气体传感器阵列的第n个气体传感器的感测特征向量,n∈{1,2,…,N};上角标T为转置符号;所述第j个目标域数据样本<img file="FDA00009610205000000122.GIF" wi="62" he="62" />的标签<img file="FDA00009610205000000123.GIF" wi="50" he="63" />为:<maths num="0004"><math><![CDATA[<mrow><msubsup><mover><mi>t</mi><mo>&OverBar;</mo></mover><mi>T</mi><mi>j</mi></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>t</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>t</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mn>2</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>t</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mi>m</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>t</mi><mi>T</mi><mrow><mi>j</mi><mo>,</mo><mi>M</mi></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA00009610205000000124.GIF" wi="628" he="63" /></maths>其中,<img file="FDA00009610205000000125.GIF" wi="70" he="62" />表示第j个目标域数据样本<img file="FDA00009610205000000126.GIF" wi="66" he="63" />在第m类目标气体类别序号上的类别标签值,若对第j个目标域数据样本<img file="FDA0000961020500000021.GIF" wi="59" he="63" />的识别结果为属于第m类气体,则令<img file="FDA0000961020500000022.GIF" wi="147" he="69" />否则令<img file="FDA0000961020500000023.GIF" wi="163" he="63" />由此构成第j个目标域数据样本<img file="FDA0000961020500000024.GIF" wi="67" he="61" />的标签<img file="FDA0000961020500000025.GIF" wi="79" he="61" />m∈{1,2,…,M};3)设定源域数据样本的预测误差惩罚系数C<sub>S</sub>和目标域数据样本的预测误差惩罚系数C<sub>T</sub>,且设定极限学习机的隐含层神经元个数N<sub>L</sub>,并随机初始化极限学习机的输入层与隐含层之间的权重矩阵<img file="FDA0000961020500000026.GIF" wi="213" he="56" />和隐含层的偏置向量<img file="FDA0000961020500000027.GIF" wi="179" he="61" />4)将源域数据集X<sub>S</sub>作为极限学习机的输入,计算得到相应的极限学习机的隐含层输出矩阵<img file="FDA0000961020500000028.GIF" wi="267" he="69" /><maths num="0005"><math><![CDATA[<mrow><msub><mi>H</mi><mi>S</mi></msub><mo>=</mo><mi>g</mi><mrow><mo>(</mo><mi>W</mi><mo>&CenterDot;</mo><msub><mi>X</mi><mi>S</mi></msub><mo>+</mo><mover><mi>b</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000961020500000029.GIF" wi="419" he="67" /></maths>将目标域数据集X<sub>T</sub>作为极限学习机的输入,计算得到相应的极限学习机的隐含层输出矩阵<img file="FDA00009610205000000210.GIF" wi="273" he="63" /><maths num="0006"><math><![CDATA[<mrow><msub><mi>H</mi><mi>T</mi></msub><mo>=</mo><mi>g</mi><mrow><mo>(</mo><mi>W</mi><mo>&CenterDot;</mo><msub><mi>X</mi><mi>T</mi></msub><mo>+</mo><mover><mi>b</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA00009610205000000211.GIF" wi="414" he="70" /></maths>其中,g(·)表示极限学习机的激活函数;5)判断源域数据集所包含的源域数据样本个数N<sub>S</sub>与极限学习机隐含层神经元个数N<sub>L</sub>的数值关系;若N<sub>S</sub>≥N<sub>L</sub>,则按下式计算极限学习机的隐含层与输出层之间的权重矩阵<img file="FDA00009610205000000212.GIF" wi="251" he="63" />β<sub>S</sub>=(I<sub>L</sub>+C<sub>S</sub>·H<sub>S</sub><sup>T</sup>·H<sub>S</sub>+C<sub>T</sub>·H<sub>T</sub><sup>T</sup>·H<sub>T</sub>)<sup>‑1</sup>(C<sub>S</sub>·H<sub>S</sub><sup>T</sup>·T<sub>S</sub>+C<sub>T</sub>·H<sub>T</sub><sup>T</sup>·T<sub>T</sub>);其中,I<sub>L</sub>为N<sub>L</sub>×N<sub>L</sub>的单位矩阵;若N<sub>S</sub><N<sub>L</sub>,则按下式计算极限学习机的隐含层与输出层之间的权重矩阵<img file="FDA00009610205000000213.GIF" wi="252" he="65" />β<sub>S</sub>=H<sub>S</sub><sup>T</sup>·F<sub>ST</sub>+H<sub>T</sub><sup>T</sup>(F<sub>B</sub><sup>‑1</sup>·T<sub>T</sub>‑F<sub>B</sub><sup>‑1</sup>·F<sub>A</sub>·F<sub>ST</sub>);其中,F<sub>ST</sub>、F<sub>A</sub>、F<sub>B</sub>和F<sub>C</sub>均为缩写式,其各自的展开式为:F<sub>ST</sub>=(F<sub>C</sub>·F<sub>B</sub><sup>‑1</sup>·F<sub>A</sub>‑F<sub>D</sub>)<sup>‑1</sup>(F<sub>C</sub>·F<sub>B</sub><sup>‑1</sup>·T<sub>T</sub>‑T<sub>S</sub>);F<sub>A</sub>=H<sub>T</sub>H<sub>S</sub><sup>T</sup>;<img file="FDA00009610205000000214.GIF" wi="390" he="127" />F<sub>C</sub>=H<sub>S</sub>H<sub>T</sub><sup>T</sup>;<img file="FDA00009610205000000215.GIF" wi="393" he="129" />其中,I<sub>S</sub>为N<sub>S</sub>×N<sub>S</sub>的单位矩阵;上角标T均为转置符号;6)获取电子鼻在发生漂移后所采集的N<sub>U</sub>个未标记标签的气体传感器阵列感测数据矩阵作为待测域数据集<img file="FDA00009610205000000216.GIF" wi="668" he="71" />任意的第k个待测数据样本<img file="FDA00009610205000000217.GIF" wi="67" he="70" />为电子鼻在发生漂移后进行一次气体检测所得到的气体传感器阵列感测数据矩阵,k∈{1,2,…,N<sub>U</sub>},即:<maths num="0007"><math><![CDATA[<mrow><msubsup><mi>X</mi><mi>U</mi><mi>k</mi></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>x</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>x</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mn>2</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mi>n</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mi>N</mi></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA0000961020500000031.GIF" wi="678" he="71" /></maths>其中,<img file="FDA0000961020500000032.GIF" wi="77" he="62" />表示第k个待测数据样本<img file="FDA0000961020500000033.GIF" wi="66" he="63" />中电子鼻气体传感器阵列的第n个气体传感器的感测特征向量,n∈{1,2,…,N};上角标T为转置符号;7)将待测域数据集X<sub>U</sub>作为极限学习机的输入,计算得到相应的极限学习机的隐含层输出矩阵<img file="FDA0000961020500000034.GIF" wi="275" he="69" /><maths num="0008"><math><![CDATA[<mrow><msub><mi>H</mi><mi>U</mi></msub><mo>=</mo><mi>g</mi><mrow><mo>(</mo><mi>W</mi><mo>&CenterDot;</mo><msub><mi>X</mi><mi>U</mi></msub><mo>+</mo><mover><mi>b</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000961020500000035.GIF" wi="428" he="63" /></maths>由此得到的对应的隐含层输出矩阵<img file="FDA0000961020500000036.GIF" wi="608" he="71" /><img file="FDA0000961020500000037.GIF" wi="174" he="63" />表示第k个待测数据样本<img file="FDA0000961020500000038.GIF" wi="67" he="70" />所对应的隐含层输出向量;8)将步骤5)所得到的权重矩阵β<sub>S</sub>作为电子鼻的识别分类器,按下式分别计算待测域数据集中各个待测数据样本所对应的标签:<maths num="0009"><math><![CDATA[<mrow><msubsup><mover><mi>y</mi><mo>&OverBar;</mo></mover><mi>U</mi><mi>k</mi></msubsup><mo>=</mo><msubsup><mover><mi>h</mi><mo>&OverBar;</mo></mover><mi>U</mi><mi>k</mi></msubsup><mo>&CenterDot;</mo><msub><mi>&beta;</mi><mi>S</mi></msub><mo>,</mo><mi>k</mi><mo>&Element;</mo><mo>{</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>N</mi><mi>U</mi></msub><mo>}</mo><mo>;</mo></mrow>]]></math><img file="FDA0000961020500000039.GIF" wi="645" he="64" /></maths>其中,<img file="FDA00009610205000000310.GIF" wi="53" he="63" />表示计算得到的第k个待测数据样本<img file="FDA00009610205000000311.GIF" wi="66" he="63" />的标签,且:<maths num="0010"><math><![CDATA[<mrow><msubsup><mover><mi>y</mi><mo>&OverBar;</mo></mover><mi>U</mi><mi>k</mi></msubsup><mo>=</mo><msup><mrow><mo>&lsqb;</mo><msubsup><mi>y</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mn>2</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>y</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mi>m</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>y</mi><mi>U</mi><mrow><mi>k</mi><mo>,</mo><mi>M</mi></mrow></msubsup><mo>&rsqb;</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow>]]></math><img file="FDA00009610205000000312.GIF" wi="685" he="71" /></maths><img file="FDA00009610205000000313.GIF" wi="85" he="63" />表示第k个待测数据样本<img file="FDA00009610205000000314.GIF" wi="72" he="69" />在第m类目标气体类别序号上的类别标签值;对于第k个待测数据样本<img file="FDA00009610205000000315.GIF" wi="91" he="70" />将其标签<img file="FDA00009610205000000316.GIF" wi="59" he="70" />中最大类别标签值所在的目标气体类别序号所对应的目标气体类别判定识别为待测数据样本<img file="FDA00009610205000000317.GIF" wi="67" he="63" />所属的气体类别;由此,判定得到待测域数据集中各个待测数据样本的气体类别识别结果。
地址 400044 重庆市沙坪坝区沙正街174号