【机器学习】机器学习中的人工神经元模型有哪些?

  1. 线性神经元
    线性神经元(Linear Neuron)是一种基本的人工神经元模型,特点是其输出是输入的线性组合。线性神经元是神经网络中最简单的一种形式,适用于处理线性关系的问题。数学模型如下,

y = w ⋅ x + b = ∑ i = 1 n w i x i + b y = \mathbf{w} \cdot \mathbf{x} + b = \sum_{i=1}^n w_i x_i + b y=wx+b=i=1nwixi+b
在这里插入图片描述

  1. 非线性神经元
  • 引入非线性激活函数,如Sigmoid、Tanh、ReLU、ELU、PReLU或者Leak ReLU,以允许网络学习更复杂的模式。
    在这里插入图片描述

  • 应用现代神经网络的普遍使用。

  1. 自适应线性神经元(Adaptive Linear Neuron, Adaline)
  • 自适应线性神经元(Adaptive Linear Neuron,简称ADALINE)是一种早期的人工神经网络模型,由Bernard Widrow和Ted Hoff在1960年提出。ADALINE是感知器(Perceptron)的一个扩展,但使用线性激活函数,并且采用梯度下降法来调整权重。这使得它在处理线性可分问题和线性回归任务上非常有效。ADALINE的基本结构和感知器类似,但其激活函数是线性的。这意味着ADALINE在输出层不会应用阶跃函数,而是直接输出加权和。ADALINE的数学模型如和线性神经元一样,如下
    • 计算加权和:将输入信号和权重进行线性组合,再加上偏置项:
      y = w ⋅ x + b = ∑ i = 1 n w i x i + b y = \mathbf{w} \cdot \mathbf{x} + b = \sum_{i=1}^n w_i x_i + b y=wx+b=i=1nwixi+b

但是线性神经元 通常用作描述线性回归模型,可以使用不同的优化算法。ADALINE 明确采用梯度下降法,并且其主要创新在于使用均方误差作为损失函数来调整权重。
在这里插入图片描述

  1. 感知机神经元(Perceptron Neuron)
  • Perceptron模型是由弗兰克·罗森布拉特(Frank Rosenblatt)在1958年提出的,是对McCulloch-Pitts神经元模型的扩展。Perceptron神经元的结构与McCulloch-Pitts神经元相似,但具有更灵活的学习能力。输入信号可以是连续值而不是二进制。
    数学模型为
    y = { 1 if  ∑ i = 1 n w i x i + b ≥ 0 0 otherwise y = \begin{cases} 1 & \text{if } \sum_{i=1}^n w_i x_i + b \geq 0 \\ 0 & \text{otherwise} \end{cases} y={10if i=1nwixi+b0otherwise
    在这里插入图片描述
  1. McCulloch-Pitts神经元
  • McCulloch-Pitts神经元是一个二进制阈值设备,输入是一组二进制输入信号 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn,每个输入要么是0要么是1。这个神经元的输出 y是通过以下步骤计算的:
    • 计算输入信号和权重的加权和: S = ∑ i = 1 n w i x i S = \sum_{i=1}^n w_i x_i S=i=1nwixi
    • 将加权和与阈值进行比较:如果 S ≥ θ S \geq \theta Sθ,则输出 y = 1;否则输出y = 0。
      数学模型为
      y = { 1 if  ∑ i = 1 n w i x i ≥ θ 0 otherwise y = \begin{cases} 1 & \text{if } \sum_{i=1}^n w_i x_i \geq \theta \\ 0 & \text{otherwise} \end{cases} y={10if i=1nwixiθotherwise

在这里插入图片描述

  1. 径向基函数神经元(Radial Basis Function, RBF Neuron)
  • 使用径向基函数作为激活函数,能够对输入空间进行非线性映射。
  • 应用函数逼近、模式识别。
  1. 径向基概率神经元(Radial Basis Probabilistic Neuron, RBPNN)
  • 结合了RBF神经元和概率模型,用于分类和回归任务。
  • 应用统计模式识别。
  1. 模糊神经元
  • 使用模糊逻辑作为激活函数,能够处理不确定性和模糊性。
  • 应用模糊控制系统。
  1. 自组织映射神经元(Self-Organizing Map, SOM Neuron)
  • 一种无监督学习的神经元,能够将高维输入数据映射到低维空间。
  • 应用数据可视化、聚类分析。
  1. CMAC神经元(Cerebellar Model Articulation Controller, CMAC Neuron)
  • 一种局部学习的神经元,常用于控制理论。
  • 应用机器人控制、实时系统。
  1. LIF神经元(Leaky Integrate-and-Fire Neuron)
  • 一种生物物理模型,模拟了生物神经元的放电特性。
  • 应用生物神经网络模拟。
    在这里插入图片描述
  1. Izhikevich神经元
    Izhikevich神经元模型是由Eugene Izhikevich在2003年提出的,它结合了生物学上的真实性和计算上的效率。该模型能够捕捉到多种生物神经元的复杂放电模式,同时计算复杂度较低,使其在大规模神经网络模拟中非常有用。该模型使用两个变量 v v v u u u 来描述神经元的动态行为:
  • v v v 表示膜电位。
  • u u u 表示恢复变量,捕捉膜电位的复原机制。

模型的微分方程为:

d v d t = 0.04 v 2 + 5 v + 140 − u + I \frac{dv}{dt} = 0.04v^2 + 5v + 140 - u + I dtdv=0.04v2+5v+140u+I

d u d t = a ( b v − u ) \frac{du}{dt} = a(bv - u) dtdu=a(bvu)

其中, I I I 是外部输入电流, a a a b b b c c c d d d 是模型参数,用于调整神经元的放电特性。放电后的重置条件为:
v ≥ 30 v\geq 30 v30 mV 时:
v ← c v \leftarrow c vc
u ← u + d u \leftarrow u + d uu+d

  1. Spiking神经元
  • 模拟生物神经元的尖峰放电行为,是神经形态计算的基础。
  • 应用神经形态工程、生物启发的计算模型。
    在这里插入图片描述
  1. Swish神经元
  • Swish是一种自门控的激活函数,它在不同的输入下有不同的行为,表现出非单调特性。
    在这里插入图片描述
  1. Boltzmann神经元
  • Boltzmann 神经元是一种在 Boltzmann 机(Boltzmann Machine)中使用的神经元模型。Boltzmann 神经元是二值的,即其状态只能是 0 或 1。它们通过概率性规则来更新状态,这些规则依赖于其他神经元的状态和连接权重。Boltzmann 神经元的状态更新遵循以下概率性规则:

    • 神经元 i i i 的状态 s i s_i si 可以是 0 或 1。
    • 神经元 i i i 的状态以一定的概率 P ( s i = 1 ) P(s_i = 1) P(si=1) 更新,这个概率取决于当前网络的状态和神经元的输入信号。

该概率通常使用 logistic 函数来表示:

P ( s i = 1 ) = 1 1 + exp ⁡ ( − E i ) P(s_i = 1) = \frac{1}{1 + \exp(-E_i)} P(si=1)=1+exp(Ei)1

其中 E i E_i Ei 是神经元 i i i 的输入信号,总和来自其他神经元的输入加上偏置项:

E i = ∑ j w i j s j + b i E_i = \sum_{j} w_{ij} s_j + b_i Ei=jwijsj+bi

  • w i j w_{ij} wij 是从神经元 j j j 到神经元 i i i 的连接权重。
  • b i b_i bi 是神经元 i i i 的偏置项。
  • s j s_j sj 是神经元 j j j 的状态。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-19 09:34:01       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-19 09:34:01       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-19 09:34:01       4 阅读
  4. Python语言-面向对象

    2024-06-19 09:34:01       4 阅读

热门阅读

  1. 安卓交叉编译——ndk

    2024-06-19 09:34:01       19 阅读
  2. Swarm 集群管理

    2024-06-19 09:34:01       17 阅读
  3. PostgreSQL源码分析——创建用户

    2024-06-19 09:34:01       18 阅读
  4. Linux 上的 TTY 是什么?

    2024-06-19 09:34:01       16 阅读
  5. USB 端点停止

    2024-06-19 09:34:01       15 阅读
  6. 通信基础知识

    2024-06-19 09:34:01       14 阅读
  7. 如何给vue开发的网站做seo?

    2024-06-19 09:34:01       16 阅读
  8. redis雪崩问题怎么解决

    2024-06-19 09:34:01       16 阅读
  9. Elasticsearch优化

    2024-06-19 09:34:01       16 阅读