Neural Network:Representation
Motivations
Non-linear Hypotheses
在以下视频中将开始介绍神经网络这种机器学习算法。
由于特征值比较多的时候,使用简单的逻辑回归分类方法就不会很有效,所以在下面将会讲到神经网络在这方面应用的先进性。
10000*256
ans =
2560000
Neurons and the Brain
神经网络的产生是为了制造能够模拟大脑的机器,这节课主要是一些关于神经网络的背景知识以及应用。
Neural Networks
Model Representation I
在一个神经网络里,或者说是我们在电脑上实现的人工神经网络里,我们将使用一种非常简单的模型来模拟神经元的工作,我们将神经元模拟成一个逻辑单元,所以黄色的圆圈我们可以想象成一个神经元,然后我们通过他的输出传递给它一些信息,然后神经元做一些计算,并输出计算结果,我们一般会增加一个输入X0X_0X0(偏置神经元),
Layer1 输入层 Layer 输出层 Layer2 隐藏层,下面我们具体讲解一下
Model Representation II
这节课中将讲到如何高效的进行计算并展示一个向量化的实现方法。
之前我们讲到了左边的方程,通过这些方程,我们计算出三个隐藏单元的激励值,然后李勇这些值进行计算最终的输出,接下来将定义一些额外的量,途中的蓝色标记就是我们的定义,这样我们就可以进行向量化了。
x=[x0x1x2x3],z(2)=[z1(2)z2(2)z3(2)]z(2)=θ(1)xa(2)=g(z(2))ADD      a0(2)=1z(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 差不多,不再陈述,以后用到再说。