机器学习神经元模型以及感知机

Posted GYH_better_coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习神经元模型以及感知机相关的知识,希望对你有一定的参考价值。

写在前面

前文回顾:

  1. 【机器学习】模型的过拟合,欠拟合以及评估方法
  2. 【机器学习】性能度量:错误率与精度&&查准率、查全率与Fβ
  3. 【机器学习】ROC以及代价曲线
  4. 【机器学习】偏差与方差和F1与BEP值的关系

今天我要分享的是神经元模型以及感知机,并且介绍神经元实现简单的与、或
、非运算

神经元模型

先来看看人体的神经元模型(图源自网络,如有侵权请评论,马上删除)
在这里插入图片描述
当左边的神经元接收到皮肤等感受器官的电信号之后,如果该电信号的阈值超过了特定的数值,那么左边的神经元就会将该信号通过突触传递给右边的神经元,从而实现了信息的传输
那么机器学习的神经元模型与此非常相似,都有一个激活阈值,但是多了一个参数,那就是权重,因为一个神经元会接收到很多个其他神经元的输入,为了衡量其他神经元输入的影响,机器学习中的神经元模型给了这些模型的输入乘上了权重再输入到当前神经元中,具体如下图所示

我们将当前神经元激活时的状态称为“1”状态,抑制时的状态称为“0”状态,那么当神经元的状态从“0”状态跳转到“1”状态时,突变就显得不太好了,不够光滑,在很多时候我们都比较喜欢光滑的曲线,因此sigmoid(x)曲线因其连续的特点广泛应用于神经元的激活函数

当多个神经元按照一定的层级结构连接在一起的时候,就构成了神经网络

感知机

感知机是由两层神经元组成,分别是输入层和输出层,输入层用于接收信号,输出层用于输出结果,示意图如下所示

那神经网络到底是怎么进行训练的呢?我们来直观的感受一下,我们就用感知机来实现与、或、非的运算吧

即要实现只有当输入层的2个神经元都输入1的时候,输出层才会输出1
要完成这个任务,我们需要整定的参数就是ω1,ω2,θ,在开始时我们可以令每个参数都为0,当x1=x2=1时,根据y=f(ω1x1+ω2x2-θ),这里的f就是激活函数sigmoid(x),得出y=0,显然不符合条件,于是进行下一次的迭代,通过计算机的不停迭代,最终得出当ω1=ω2=1,θ=2时


疯狂明示,这次一定

在这里插入图片描述

以上是关于机器学习神经元模型以及感知机的主要内容,如果未能解决你的问题,请参考以下文章

机器学习笔记——感知机

吴裕雄 python 机器学习——人工神经网络与原始感知机模型

机器学习-感知机

记一下机器学习笔记 Rosenblatt感知机

Python机器学习中文版

Python机器学习中文版