目前通过学习《深度学习的数学》这本书,开始掌握了对神经网络的理解。(图片均来自于书本)
神经网络的基本单元——神经元
神经元的基本组成:
输入:
权重:形如
偏置:神经元的感受能力(就像神经元的脾气一样,脾气大,b小;脾气小,b大)
输出:y
激活函数:a(z)
神经元的数学公式
由公式可得y受到不同激活函数,权重和偏置的影响,会得到不同的输出
将神经元的工作拆分后得到两步:
1.加权输入
2.激活函数后的输出
后面对神经元的所有操作简化为1和2指代
神经元在进行网状结合后就形成了神经单元
对于数据处理的简单理解
由于获取的数据大小跨度很大,比如不同传感器获得的数据与在学习时的理论数据(显然理论学习的过程中是简化的),输出y的结果如果不经过处理所得到的结果是完全无法想象的。
一个10多个数量级的数,一个0.00000...1,如果考试手算想想都可怕
所以要经过处理。0和1是计算机的常见数字,计算起来也简单,所以我们希望y的输出是在0~1之间的结果。(当然有深层原因,我也不知道)
这里着重考虑一个方面,引入激活函数来控制范围,显然九年义务教育告诉我们任意的y都可以由此映射到0~1之间。
两个常见的激活函数:
1.单位阶跃函数
数学表达
(因为加权输入的结果用z表示,x指代的是原始输入)
图像:
(不会显示,不写了)
2.sigmoid函数
数学表达
图像:
阶层型神经网络的结构
按层来划分(图为全连接层)
基本特征:
1.输入层的每个神经元都会指向隐藏层的所有神经元(一对多)(这是全连接层的特征)
2.输入层的神经元不处理数据,从读取到输出的过程中数据是不变的。
输入层的神经元不需要操作1和操作2,直接进行读取和输出,所以没有输入的箭头
3.数据的处理主要发生在隐藏层,输出层也会进行操作1和2