基于自编码神经网络的无监督特征提取方法与流程

文档序号:12272425阅读:来源:国知局

技术特征:

1.基于自编码神经网络的无监督特征提取方法,其特征在于,包括以下步骤:

(1)训练数据矩阵的构建:

采集设备运行数据,在设备运行数据中每一组数据上任意选取一个点,从该点之后截取m个点构成数据矩阵,从该数据矩阵任意选取n组数据用来构建训练数据矩阵,剩下的数据构建测试数据矩阵,由此就构建了自编码神经网络的m×n维训练数据矩阵;

(2)把训练数据矩阵的各个分量值归一化到[0,1]之间:

将训练数据矩阵中的所有元素作为一个整体进行归一化,归一化处理过程为:其中:{xi}为设备运行数据,为归一化后的数据,max(xi)为中的最大值,min(xi)为中的最小值;

(3)参数学习,得到自编码神经网络模型:

自编码神经网络由输入层、隐藏层和输出层构成,参数学习过程,即对自编码神经网络的训练过程,在训练过程中,自编码神经网络规定网络的期望输出等于网络的输入,即自编码神经网络参数学习的目标是使得网络的输出等于网络的输入,

自编码神经网络的参数为(W,b)=(W(1),b(1),W(2),b(2)),其中表示第p层第j神经元与第p+1层第i神经元之间的权值,是第p+1层第i神经元的偏置项,

自编码神经网络在包含m个样本的数据集上的整体代价函数为:

<mrow> <mi>J</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>,</mo> <mi>b</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>m</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <msub> <mi>h</mi> <mrow> <mi>W</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msup> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>h</mi> <mrow> <mi>W</mi> <mo>,</mo> <mi>b</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msup> <mo>)</mo> </mrow> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> <mo>+</mo> <mfrac> <mi>&lambda;</mi> <mn>2</mn> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>p</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msub> <mi>s</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msub> <mi>s</mi> <mi>p</mi> </msub> <mo>+</mo> <mn>1</mn> </mrow> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>W</mi> <mrow> <mi>j</mi> <mi>i</mi> </mrow> <mrow> <mo>(</mo> <mi>p</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

hW,b(x)表示自编码神经网络的输出,np表示网络的层数,sp表示第p层的神经元个数,表示第p层第j神经元与第p+1层第i神经元之间的权值;

代价函数J(W,b)取得最小值时的W,b就是训练完毕的自编码神经网络的参数;

(4)计算隐藏层的输出,获取特征:

基于自编码神经网络的无监督特征提取方法提取到的特征其实就是隐藏层的输出,当自编码神经网络的参数在训练过程中确定后,将测试数据x输入到网络中,利用前向算法计算得到隐藏层神经元的激活值构成的向量a,而这个a就是对原始数据x提取的特征表示;

(5)按照“对折取值”法确定最佳隐藏层神经元的个数:

5.1)确定自编码神经网络输入层的神经元个数,输入层神经元的个数等于训练数据的维数;

5.2)然后确定隐藏层神经元个数的取值范围,最小值nmin默认为1,最大值nmax设置为网络输入层的神经元个数;

5.3)确定好取值范围后,找出取值范围的中间点m1,该点将取值范围分成两个范围[nmin,m1]和[m1,nmax],然后找出这两个范围各自的中间点m2m3,将以上5个值nmin,m1,m2,m3,nmax作为隐藏层单元数,并将它们对应的自编码神经网络提取的特征利用模式识别的方法进行分类,通过比较5个值对应的分类结果判断出隐藏层神经元个数在哪个区间上取值时自编码神经网络提取特征的有效性更好;

如果隐藏层神经元个数为m3,nmax时对应的分类结果比隐藏层神经元个数为m1,nmin时对应的分类结果好,那么说明隐藏层神经元个数在区间[m1,nmax]内取值自编码神经网络特征提取的有效性更好,那么下一步就在区间[m1,nmax]内使用同样的方法确定更小的取值区间,直至找到合理的隐藏层神经元个数,最终确定自编码神经网络的结构。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1