神经网络的模型表示之1—ML Note46
Posted 讲编程的高老师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络的模型表示之1—ML Note46相关的知识,希望对你有一定的参考价值。
本文是吴恩达《机器学习》视频笔记第46篇,对应第4周第3个视频。
“Neural Networks: Representation——Model representation I”。
01
—
笔记
通过上两个小节,我们大概知道了神经网络到底要干什么了。那到底该怎样用数学、计算机的方式表示神经网络呢,也就是说怎样像前面表示线性(逻辑)回归那样来表示神经网络呢?接下来的两个小节就来回答这一问题。
大脑中的神经元
下面这个图是比较经典的大脑中单个神经元的示意图,
毕竟我们不是专业的生物学家,这里我们只需要知道这个神经元可以处理输入(Dendrite)信号,然后可以将信号输出(Axon)给其它神经元。
不同的神经元之间是通过微弱的电流进行沟通的,这些电流也被称为动作电位。下图是两个神经元进行通信的示意图,一个神经元将信号通过轴突输出给另一个神经元的树突,第2个神经元接收到第1个神经元的信号后经过一些运算可能会把结果再从轴突输出给其它神经元。
这就是我们人类大脑思考的过程,这也是感觉和肌肉动作的原理,等等。我们人类的很多事情最本质上就是这样子的小单元做出来的。
神经元模型:一个逻辑单元
我们知道的大脑的神经元,就可以用一个简单的系统模型来模拟它了。
这个事,就很显然了,我们可以构建下图这样子的一个模型。
上图左边的x1\x2\x3就是外界的刺激(输入),中间的圆圈好比是树突,h(x)好比是中间的处理,然后经过h(x)处理后结果输出(好比是轴突)。
更专业一点,我们会加上一个偏移量x0. 一个人工神经元模型如下图:
凝视上面的这个图,你会发现和上周学习的逻辑回归有点类似,看着也挺简单的,那怎样处理复杂的事呢?
神经网络
我们可以用上面讲到的简单的神经元构造非常复杂的神经网络,如下图。
上图中有三个层,最左边的layer1(输入层),最右边的layer3(输出层),其实就是将一组输入映射成立一个输出。输入和输出之间可以藏有很复杂的隐藏层。
那这样的一个网络究竟怎么工作的呢?
上图中layer2的a_1^(2), 被称为第2层的第1个单元的激活。而每个层级之间的连线上会乘以一个数(权重weight),第j层到第j+1层上的所有线上的权重就构成一个权重向量。如下图:
而每个单元上的激活,都是一个函数,而这个函数的输入就是上图中有向线段所示的样子,线段左边的值乘上该线上的权重然后去到线段右侧的圈圈中后和其它的输入进行叠加。
而最后layer2的所有的输出又用同样的方法输出到layer3上的输出单元被其中的g函数处理。
此处的g函数,可以是一个sigmoid函数。
如果我们认真、仔细、有耐心地去计算一下,一旦网络中的每个线上的权重\theta、g函数确定了。那么只要给定一组(x1,x2,x3),那么这个网络必然是能算出一个输出的。
神经网络就是这样子的,由一大堆看上去比较简单的神经元按照一定的方式组合起来,就在输入x和输出y构成了一个复杂的映射。
那么,这个映射如何解决机器学习问题的呢?且听下回。
以上是关于神经网络的模型表示之1—ML Note46的主要内容,如果未能解决你的问题,请参考以下文章