神经网络是一种非线性学习算法,神经网络中最基本的成分是神经元(neuron),下面给出神经元的基本模型:
其中${x1,x2,x3}$为输入单元,x$_0$称为偏置单元(bias unit),$x_0=1$,{$x_0$,$x_1$,$x_2$,$x_3$}称为连接权重。其中$h_0(x)=\frac{1}{1+e^{-\theta^{t}*x}}$。 还记得逻辑回归的sigmoid函数吗,在这里称作“激励函数”(motivation function)$sigmoid(x)=\frac{1}{1+e^{-x}}$,其图像为(图片来自wiki):
关于这个函数就不多介绍了,我在逻辑回归里介绍过了。 介绍完神经元模型后,下面来介绍神经网络基本模型:
在上面的图中我并没有画出$x_0$,$a_{0}^{(1)}$,在实际应用中有时候需要加上。其中第一层(layer1)称为输入层,layer2称为隐藏层(神经网络可能不止一个隐藏层,只是本例中只有一个,其实只要位于隐输入层和输出层之间的都称为隐藏层),layer3称为输出层。$a_{i}^{(j)}$称为第j层的第i个单元的激励,$\theta^{j}$表示从第j层到第j+1层的权重。因此在本例中:
因此这里
关于神经网络的最基本的知识就介绍到,下面举一些例子,帮助大家更好的理解神经网络。
Example 1:实现“与”功能
如上图所示,我们容易求得$h_{0}(x)=sigmoid(-30+20x_1+20x_2)$,因此我们可以画出$x_1,x_2$的真值表,看看它是怎样实现“与”功能的。
因此,从上图可以看出是如何实现“与”功能的。。。
Example 2:
实现“或”功能:
参考链接
神经网络入门基础知识 neural networks basics