赞
踩
好久没发博客了,最近一直在忙于毕设…
说到毕设,最近在用神经网络做一些东西,用的是MATLAB自带的神经网络工具箱去训练,毕竟和其他平台相比比较熟悉。MATLAB用工具箱训练出来的神经网络是一个network类型,里面包含了这个网络的所有参数。出于研究需要,我需要将神经网络的隐含层的输出提取出来,但是发现并没有直接提取的办法。查了一些资料,算是搞懂了,写一篇东西记录一下,也顺便分享给有需要的人。
其实这个操作并不难,只是因为MATLAB自动帮我们完成了一些数据处理操作,所以导致我们无法直接通过节点输出计算公式算得隐含层的输出。
众所周知,神经元节点的输出由下式计算可得
其中向量x为上一层节点的输出,也就是当前神经元的输入,w为权值矩阵,b是偏置,z为输出的加权和,σ为激活函数,a为神经元的输出。
所以可以看到,只要确定好了输入、权值、偏置以及激活函数,就可以算出任意一层的输出。下面分别介绍怎么获取这些属性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。