神经网络逼近函数c语言 c语言 神经网络( 三 )


(2)特性:兴奋性和传导性 。兴奋性是指当信号量超过某个阈值时 , 细胞体就会被激活 , 产生电脉冲 。传导性是指电脉冲沿着轴突并通过突触传递到其它神经元 。
(3)有两种状态的机器:激活时为“是”,不激活时为“否” 。神经细胞的状态取决于从其神经网络逼近函数c语言他神经细胞接收到的信号量,以及突触的性质(抑制或加强) 。
(1)神经元——不重要
① 神经元是包含权重和偏置项的 函数 :接收数据后,执行一些计算,然后使用激活函数将数据限制在一个范围内(多数情况下) 。
② 单个神经元:线性可分的情况下,本质是一条直线,,这条直线将数据划分为两类 。而线性分类器本身就是一个单层神经网络 。
③ 神经网络:非线性可分的情况下,神经网络通过多个隐层的方法来实现非线性的函数 。
(2)权重/参数/连接(Weight)——最重要
每一个连接上都有一个权重 。一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好 。
(3)偏置项(Bias Units)——必须
① 如果没有偏置项,所有的函数都会经过原点 。
② 正则化偏置会导致欠拟合:若对偏置正则化 , 会导致激活变得更加简单,偏差就会上升,学习的能力就会下降 。
③ 偏置的大小度量了神经元产生激励(激活)的难易程度 。
(1)定义:也称为转换函数,是一种将输入 (input) 转成输出 (output) 的函数 。
(2)作用:一般直线拟合的精确度要比曲线差很多,引入激活函数能给神经网络 增加一些非线性 的特性 。
(3)性质:
① 非线性:导数不是常数,否则就退化成直线 。对于一些画一条直线仍然无法分开的问题 , 非线性可以把直线变弯 , 就能包罗万象;
② 可微性:当优化方法是基于梯度的时候,处处可导为后向传播算法提供了核心条件;
③ 输出范围:一般限定在[0,1],使得神经元对一些比较大的输入会比较稳定;
④ 非饱和性:饱和就是指,当输入比较大的时候输出几乎没变化,会导致梯度消失;
⑤ 单调性:导数符号不变 , 输出不会上蹿下跳,让神经网络训练容易收敛 。
(1)线性函数 (linear function)—— purelin()
(2)符号函数 (sign function)—— hardlim()
【神经网络逼近函数c语言 c语言 神经网络】 ① 如果z值高于阈值,则激活设置为1或yes,神经元将被激活 。
② 如果z值低于阈值 , 则激活设置为0或no,神经元不会被激活 。
(3)对率函数 (sigmoid function)—— logsig()
① 优点:光滑S型曲线连续可导 , 函数阈值有上限 。
② 缺点:? 函数饱和使梯度消失,两端梯度几乎为0,更新困难,做不深;
? 输出不是0中心,将影响梯度下降的运作,收敛异常慢;
? 幂运算相对来讲比较耗时
(4)双曲正切函数(hyperbolic tangent function)—— tansig()
① 优点:取值范围0中心化,防止了梯度偏差
② 缺点:梯度消失现象依然存在,但相对于sigmoid函数问题较轻
(5)整流线性单元 ReLU 函数(rectified linear unit)
① 优点:? 分段线性函数,它的非线性性很弱,因此网络做得很深;
? 由于它的线性、非饱和性,对于随机梯度下降的收敛有巨大的加速作用;
② 缺点:? 当x0,梯度都变成0,参数无法更新 , 也导致了数据多样化的丢失;
? 输出不是0中心
(6)渗漏型整流线性单元激活函数 Leaky ReLU 函数

推荐阅读