简介
神经网络就是模拟人思考的过程,生物上介绍人对于外界信息的处理是由神经元接受并处理的;计算机就提出了人工神经元来模拟对数据的处理
神经元
每个神经元都是一个独立的信息处理单元,可以根据接收到信息的特性作独立运算,然后把结果传输出去
神经网络
许多的神经元构成了神经网络
看一个经典的神经网络。这是一个包含三个层次的神经网络。
🔹 红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。
🔹 输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。
🔹 在神经元模型里,每个有向箭头表示的是值的加权传递
结构
神经元模型是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,而输出可以类比为神经元的轴突,计算则可以类比为细胞核。
📢 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;
📢 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
📢 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。
一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好
组成
-
输入层
-
特征数/特征向量的维度:输入个数
-
-
输出层
-
神经元:负责计算输出的单元
-
多层神经网络
图中的φ非线性函数是必须要引进的,如果不引进,通过化简,依然是一个单层的神经网络;只有引进,整个模型才会非线性
那φ是什么呢?
有人证明,如果引入的φ是阶跃函数/激活函数,则多层神经网路可以解决所有的非线性问题
激活函数
作用
增加模型非线性,使之更好的进行分类与回归问题
使用激活函数的目的是为了向网络中加入非线性因素;加强网络的表示能力,解决线性模型无法解决的问题
分类
定理
三层神经网络可以模拟所有决策面
以二维为例证明(这里采用的激活函数是x>0的时候φx为1,x<0的时候φx为0 )
先是只有一个连通区域的
三条直线的方程如图所示,落在阴影部分是c1,输出值大于0,其他区域是c2,输出值小于0。
a1,a2,a3是输出的中间过程。
经过各自的激活函数,得到z1,z2,z3
如何找到w1,w2,w3和b使得当a1,a2,a3>0时(表示数据是c1类的),z1=z2=z3=1(经过激活函数的映射)(即落在c1区域)的样本的最值输出的y=1;a1,a2,a3中但凡有一个是小于0,表示落在c2区域,则最终输出的y=-1
这个图片中的区域是三角形,所以只要三个神经元,;如果区域是个圆,就当成无数条直线(切线)组成的圆,如下图
如果有多个连通区域,如下图所示
复合的意思是只要有个1,最后输出都是1
从左至右是三层,也就是定理说的三层可以模拟所有决策面