神经元与感知机

最近在梳理一些关于深度学习的算法,大概在6年前的一些毕业设计也只是停留在了会用神经网络训练模型的阶段,对于其中的一些深入的东西。比如深度学习思想的起源,思想基础,以及一些关键的算法例如反向传播等,并没有进行细致的推导以及深度的剖析,以及目前它们在药物研究、DNA研究、和自然语言处理方面的应用,理解的不够深度,最近会一一更新!

神经元神经元是生物神经系统中的基本单位。神经元可以接收、处理和传递信号,使神经系统能够完成感知、记忆、运动等功能。每个神经元由细胞体、突起和突触组成神经元接收信号的区域称为树突,树突接收来自其他神经元的化学和电信号,这些信号在神经元内部通过复杂的电化学过程被加工处理。在细胞体内,这些信号经过集成和加工后,会产生一个输出信号,通过神经纤维传递到其他神经元或靶组织(如肌肉或腺体)神经元的输出区域称为轴突,轴突传递信号的方式是通过神经冲动或动作电位,这种电信号可以在轴突和树突之间传递。神经元通过轴突和其他神经元、肌肉或腺体建立突触连接,这种连接使得神经元可以在多个神经元之间传递信息

总的来说可以把神经元看做是一个能够接受电信号输入并且输出电信号的函数,该函数的有一定的阈值,低于阈值神经元不反应,高于阈值的电信号被抑制!这个函数在神经网络中被称为激活函数,也就是单个神经元的传输函数,它是根据我们人脑的神经元传递电信号的特点规定的!

激活函数(神经元的输出函数)在最简单的模型中,神经元被建模为一个二元状态模型,即其输出仅为0或1。当输入电信号超过神经元的阈值时,神经元就会生成脉冲信号,输出值变为1。否则,神经元不产生输出信号,输出值为0。这种模型称为脉冲神经元在更复杂的模型中,神经元被建模为具有非线性响应的系统,这种响应通常被称为激活函数。比较常用的激活函数如sigmoid函数、ReLU函数、tanh函数等。这些激活函数的形态各不相同,但都有一个共同点,即当输入电信号大于一定的阈值时,激活函数的导数大于零,神经元的输出值也随之增加。当输入信号小于阈值时,激活函数的导数接近零,神经元的输出值保持不变。对于人工神经网络的模型来说,神经元对于输入电信号的作用函数通常是可调整的,神经元的输出被用来作为网络中下一层神经元的输入。通常用反向传播算法来训练网络中的神经元,以使其能够正确地响应特定的输入信号感知机感知机是受到神经元的启发而产生的二分类模型,感知机与神经元之间存在密切关系。感知机的输入层接受输入样本的特征向量,并通过权值进行线性求和,得到一个加权和(类似于神经元的树突)。加权和将经过激活函数(类似于神经元的轴突)处理,产生一个输出值,代表着感知机对于输入样本的预测结果(类似于神经元的轴突上的电信号)。因此,感知机的设计与神经元的基本结构非常类似。

单个感知机示意图

感知机的学习方法

假设我们需要对模式向量X进行一个二分类的话,我们希望找到一个权重W,使得它能够满足下面性质:

在二维或者三维的情况下,我们其实可以通过视觉检验来确定W这个分割直线或者分割平面。

在超过三维的情况下我们想视觉检查这个分割超平面就比较困难了!感知机的算法较为简单,令a0,表示一个修正量(行话就是学习率),令W任意一个初始化的权重,偏置也是任意初始化。然后对所有的模式向量进行学习:

1)如果但是它和当前的权值出现了矛盾即

对当前权重进行学习更新偏置执行同样的操作:

2)如果但是它和当前的权值出现了矛盾即W^{T}*X_{k}+偏置=0

对当前权重进行学习更新偏置执行同样的操作:

3)如果和我们所规定的类别,没有产生矛盾,则不必学习

这样迭代遍历所有的模式向量后,感知机就会给出一个二分类的超平面,这里如果模式向量X是线性可分离的,那么感知机就能保证在有限次迭代之后,就能输出一个它学习到的决策边界!

今天就到这了,后续有时间继续更新!




转载请注明:http://www.cvwkh.com/lcbx/15099.html