从感知机到神经网络

  • Post author:
  • Post category:其他




从感知机到神经网络



1、感知机

image-20220425190555102

感知机接收x1和x2两个输入信号,输出y。b是被称为偏置的参数,用于控制神经元被激活的容易程度;而w1和w2 是表示各个信号的权重的参数。这个感知机将x1、x2、1三个信号作为神经元的输入,将其和各自的权重相乘后, 传送至下一个神经元。

image-20220425195558042



2、激活函数

激活函数:将输入信号的总和转换为输出信号

作用:在于决定如何来激活输入信号的总和

先计算输入 信号的加权总和,然后用激活函数转换这一总和

image-20220425200524797

激活函数以阈值为界,一旦输入超过阈值,就切换输出。 这样的函数称为“阶跃函数”。因此,可以说感知机中使用了阶跃函数作为激活函数。

如果感知机使用其他激活函数,那就是神经网络了。



2.1 sigmoid函数

image-20220425200852155

神经网络中用sigmoid函数作为激活函数,进行信号的转换,转换后的信号被传送给下一个神经元。



2.2 sigmoid与阶跃函数的比较

image-20220425201447059

不同点:

  • 平滑性
  • 感知机中神经元之间流动的是0或1的二元信号,而神经网络中流动的是连续的实数值信号

相同点:

  • 都是非线性函数(神经网络不可能是线性的,不然加深神经网络层数就没有意义了)



2.3 ReLU函数

最近常用的神经网络函数:

image-20220425204205459



3、三层神经网络

image-20220425205255542

image-20220425205127176

image-20220425200852155



4、输出层的设计

神经网络可以用在分类问题和回归问题上,不过需要根据情况改变输出层的激活函数。一般而言,回归问题用恒等函数,分类问题用softmax函数。



4.1 恒等函数

恒等函数会将输入按原样输出,对于输入的信息,不加以任何改动地直接输出。

image-20220425210933213



4.2 softmax函数

假设输出层共有n个神经元,计算第k个神经元的输出yk。softmax函数的分子是输入信号ak的指数函数,分母是所有输入信号的指数函数的和。

image-20220425211404788

弊端:容易超出最大值。比如,e 10的值 会超过20000,e 100会变成一个后面有40多个0的超大值,e 1000的结果会返回 一个表示无穷大的inf。

但是可以上下都加上一个常数:
image-20220425211755072

的C可以使用任何值,但是为了防止溢出,一般会使用输入信号中的最大值。



4.21 softmax函数的特征

  • softmax函数的输出是0.0到1.0之间的实数
  • softmax 函数的输出值的总和是1。(正因为有了这个性质,我们才可以把softmax函数的输出解释为“概率”)
  • 即便使用了softmax函数,各个元素之间的大小关系也不会改变。



4.3 输出层的神经元数量

输出层的神经元数量需要根据待解决的问题来决定。对于分类问题,输出层的神经元数量一般设定为类别的数量。比如,对于某个输入图像,预测是图中的数字0到9中的哪一个的问题(10类别分类问题), 可以将输出层的神经元设定为10个

来决定。对于分类问题,输出层的神经元数量一般设定为类别的数量。比如,对于某个输入图像,预测是图中的数字0到9中的哪一个的问题(10类别分类问题), 可以将输出层的神经元设定为10个

image-20220425212725584



版权声明:本文为weixin_44726654原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。