数据挖掘day26、27-CS229-WEEK4 Neural Networks:Representtation


本节仅是对神经网络的背景知识介绍和神经网络的表述方式进说明。因为生物学知识不难,理解也还行。

1、神经元(neuron)

下图是以左侧表示神经网络的一个神经元(这个神经元对应的就是简单的逻辑回归)。
在这里插入图片描述

2、神经网络(Neural Network)表示

下图表示一个神经网络
从左至右三层(layer)分别叫:输入层(input layer)、隐藏层(hidden layer)、输出层(output layer)
在这里插入图片描述
a i ( j ) a_i^{(j)} 表示第 j j 层的第 i i 个元素, Θ ( j ) \Theta^{(j)} 表示第j、j+1层之间的参数
在这里插入图片描述
因为每一层有偏置项, x 0 = 1 x_0=1 a 0 = 1 a_0=1 ,所以 Θ ( j ) \Theta^{(j)} 列数要+1

3、向量化

还是上面的例子,用向量表示输入,为了和隐藏层一致,用 a ( 1 ) a^{(1)} 表示 x x a ( 1 ) = [ x 0 x 1 x 2 x 3 ] a^{(1)}=\left[\begin{matrix} x_0\\x_1\\ x_2 \\x_3 \end{matrix} \right]
z ( j ) z^{(j)} 表示上述等式的加法项,则:
z ( 2 ) = Θ ( 1 ) a ( 1 ) z^{(2)}=\Theta^{(1)}a^{(1)}
a ( 2 ) = g ( z ( 2 ) ) a^{(2)}=g(z^{(2)})
A d d Add a 0 ( 2 ) = 1 a_0^{(2)}=1 (则 a ( 2 ) R 4 a^{(2)} \in \mathbb{R}^4 )
z ( 3 ) = Θ ( 2 ) a ( 2 ) z^{(3)}=\Theta^{(2)}a^{(2)}
h Θ ( x ) = a ( 3 ) = g ( z ( 3 ) ) h_{\Theta}(x)=a^{(3)}=g(z^{(3)})

当然,神经网络还有不同的框架,例如下图,含有两个隐藏层。其实最后一个隐藏层例如下面layer3和输出层就是一个逻辑回归算法。其他各层也是,所以他是一个非常复杂的多层逻辑回归。中间的隐藏层作为后面的参数输入,已经非常难以解释。
在这里插入图片描述

4、例子

例子是使用简单神经网络模拟逻辑运算(AND、OR、NOT、XOR、XNOR)
回忆simoid 方程的特性:
在这里插入图片描述
使用单个神经元可以模拟(AND、OR、NOT)
例如:OR 的表示如下,其实就是使用 Θ \Theta 控制simoid函数的输入
h Θ ( x ) = g ( 10 + 20 x 1 + 20 x 2 h_{\Theta}(x)=g(-10+20x_1+20x_2 )
在这里插入图片描述
与非或如下:
在这里插入图片描述
然后,直接使用OR神经元将前两个组合,形成3层神经网络,得到复杂逻辑XNOR
在这里插入图片描述

5、多元分类

多元分类,并不是单个输出,而是同时多个输出,由每个输出{0,1}(仅有一个为1,其余为0),判别属于那一类:
在这里插入图片描述

发布了90 篇原创文章 · 获赞 3 · 访问量 4923

猜你喜欢

转载自blog.csdn.net/weixin_43329319/article/details/100127999
今日推荐