机器学习 | 神经网络基础知识_matlab代码



小编的师弟最近沉迷于学习神经网络,今天的推文依然是由他精心准备的。


01 | 人类神经系统原理


生物神经元间的信号通过突触传递。通过它,一个神经元内传送的冲击信号将在下一个神经元内引起响应,使下一个神经元兴奋,或阻止下一个神经元兴奋。人体内有上百亿个神经细胞,这些神经细胞通过突触连接可以构成许多不同的路径,来传递信息。

一个神经元有两种状态——兴奋和抑制平时处于抑制状态的神经元,当接收到其它神经元经由突触传来的冲击信号时,多个输入神经元中以代数和的方式叠加。(进入突触的信号会被加权,起兴奋作用的信号为,起抑制作用的信号为)。如果叠加总量超过某个阈值,神经元就会被激发进入兴奋状态,发出输出脉冲,并由轴突的突触传递给其它神经元。


02 | 人工神经元的建模


人工神经网络是模仿人类神经系统工作原理建立的仿生数学模型。其基本构成单位人工神经元。目前人们提出的神经元模型已有很多,其中最早提出且影响最大的当属M-P(由McCulloch和W.Pitts两位科学家提出)模型。该模型经过不断改进,形成了目前广泛应用的神经元模型。下面直接给出人工神经元模型的示意图。

机器学习 | 神经网络基础知识_matlab代码_02

通过观察示意图,结合神经元处理信息的方式可以得到:

(1)人工神经元是一个输入输出的信息处理单元;

(2)神经元的每一个输入都有一个加权系数w;

(3)神经元需要对输入的所有信号进行整合

(4)神经元激活与否取决于某一阈值,只有当其输入总和超过阈值T时,神经元才被激活,并输出信号。

上述神经元模型可以用下面的数学表达式来简要概括:

机器学习 | 神经网络基础知识_神经元模型_03

其中oj为神经元j输出值Tj为神经元j阈值wij为神经元ij的突触连接系数或称权重值f(·)为神经元转移函数


03 | 神经元的转移函数


神经元的转移函数反映了神经元输出与其激活状态之间的关系,常用的转移函数有以下几种形式。

(1)阈值型转移函数。常用的阈值型转移函数有:

a)单位阶跃函数,其表达式和函数图像如下

机器学习 | 神经网络基础知识_神经元模型_04

b)双极性阈值函数,其表达式和函数图像如下


机器学习 | 神经网络基础知识_人工神经元_05


(2)非线性转移函数。这种函数的特点是其本身和导函数都是连续的,因此在后续的处理过程中十分方便。常用的非线性转移函数有:

a)单极性Sigmoid函数,其表达式和函数图像如下

机器学习 | 神经网络基础知识_人工神经元_06

b)双极性S型函数,即双曲正切函数,其表达式和函数图像如下

机器学习 | 神经网络基础知识_人工神经元_07


(3)分段线性转移函数。这种函数的特点是输入与输出在一定区间内满足线性关系,其表达式和函数图像如下:

机器学习 | 神经网络基础知识_人工神经元_08


(4)概率型转移函数。采用概率型转移函数的神经元模型其输入与输出之间的关系不确定的,需用一个随机函数来描述其输出状态为1或者0的概率。设神经元输出为1的概率为:

机器学习 | 神经网络基础知识_matlab代码_09

式中,T为温度参数。由于采用该转移函数的神经元输出状态分布与热力学中的玻尔兹曼(Boltzmann)分布相似,因此这种神经元模型也称为热力学模型





微博/知乎:随心390

机器学习 | 神经网络基础知识_matlab代码_10

机器学习 | 神经网络基础知识_人工神经元_11

长按识别关注我们