Neural Network:Representation
Motivations
Non-linear Hypotheses
在以下视频中将开始介绍神经网络这种机器学习算法。
由于特征值比较多的时候,使用简单的逻辑回归分类方法就不会很有效,所以在下面将会讲到神经网络在这方面应用的先进性。
10000*256
ans =
2560000
Neurons and the Brain
神经网络的产生是为了制造能够模拟大脑的机器,这节课主要是一些关于神经网络的背景知识以及应用。
Neural Networks
Model Representation I
在一个神经网络里,或者说是我们在电脑上实现的人工神经网络里,我们将使用一种非常简单的模型来模拟神经元的工作,我们将神经元模拟成一个逻辑单元,所以黄色的圆圈我们可以想象成一个神经元,然后我们通过他的输出传递给它一些信息,然后神经元做一些计算,并输出计算结果,我们一般会增加一个输入 X 0 X_0 X0(偏置神经元),
Layer1 输入层 Layer 输出层 Layer2 隐藏层,下面我们具体讲解一下
Model Representation II
这节课中将讲到如何高效的进行计算并展示一个向量化的实现方法。
之前我们讲到了左边的方程,通过这些方程,我们计算出三个隐藏单元的激励值,然后李勇这些值进行计算最终的输出,接下来将定义一些额外的量,途中的蓝色标记就是我们的定义,这样我们就可以进行向量化了。
x
=
[
x
0
x
1
x
2
x
3
]
,
z
(
2
)
=
[
z
1
(
2
)
z
2
(
2
)
z
3
(
2
)
]
z
(
2
)
=
θ
(
1
)
x
a
(
2
)
=
g
(
z
(
2
)
)
A
D
D
      
a
0
(
2
)
=
1
z
(
3
)
=
θ
(
2
)
a
(
2
)
h
θ
(
x
)
=
a
(
3
)
=
g
(
z
(
3
)
)
\begin{array}{l} x = \left[ \begin{array}{l} {x_0}\\ {x_1}\\ {x_2}\\ {x_3} \end{array} \right],{z^{(2)}} = \left[ \begin{array}{l} {z_1}^{(2)}\\ {z_2}^{(2)}\\ {z_{_3}}^{(2)} \end{array} \right]\\ {z^{(2)}} = {\theta ^{(1)}}x\\ {a^{(2)}} = g({z^{(2)}})\\ ADD\;\;\;{a_0}^{(2)} = 1\\ {z^{(3)}} = {\theta ^{(2)}}{a^{(2)}}\\ {h_\theta }(x) = {a^{(3)}} = g({z^{(3)}}) \end{array}
x=⎣⎢⎢⎡x0x1x2x3⎦⎥⎥⎤,z(2)=⎣⎡z1(2)z2(2)z3(2)⎦⎤z(2)=θ(1)xa(2)=g(z(2))ADDa0(2)=1z(3)=θ(2)a(2)hθ(x)=a(3)=g(z(3))
这个计算h(x)的过程也称为前向传播(forward propagation),这样命名的原因是我们从输入层的激励开始,然后进行前向传播给隐藏层并计算,然后继续进行前向传播,并计算输出层的激励。我们刚刚计算的就是此过程的向量化实现方法,
Applications
Examples and Intuitions I
在神经网络中,单个的神经元在设置不同的权值时,是可以进行一些逻辑运算的,比如与\或运算,如下:
Examples and Intuitions II
我们也可以进行非运算,如下:
与之相似的是,我们可以建立一个简单的多层神经网络来计算异或运算,如下:
Multiclass Classification
和之前讲过的one vs more 差不多,不再陈述,以后用到再说。