人工神经元:感知器


highlight: androidstudio

theme: simplicity-green

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情

McCulloch和Pitts提出了一个非常简单的生物神经元模型,该模型后来被称为神经元。它具有一个或多个二进制输入和一个二进制输出。

输出的激活需要根据输入的激活状态判断,如有多个输入时,只有激活一定数量的输入时,输出才能激活。如下面几个神经元进行简单逻辑运算,需要输入激活两个才能有输出:




图1 简单逻辑运算
  • 图1左图,实现一个激活神经元A后,神经元C也能被激活
  • 图1中间,实现了神经元C的激活,需要同时激活神经元A和神经元B
  • 图1右边,实现了神经元A或神经元B激活其中一个,神经元C都能够激活

简单的了解一下神经元的概念后,我们可以看一个简单点的ANN架构-感知器。

感知器

感知器也被称为阈值逻辑单元(TLU),或者线性阈值单元(LTU),和上面的神经元有一点区别,输入和输出变为数字,在输入时,都会有一个相对的权值。TLU会先计算出输入的加权和($z=w{1}x{1}+…+w{n}x{n}$),然后将z代入阶跃函数中,计算出输出,如图2所示:




图2 阈值逻辑单元

常用的阶跃函数为Heaviside函数,公式如下:
$$

heaviside(z) = \left{\begin{matrix}
0,如果z<0 \
1,如果z\geqslant 0 \
\end{matrix}\right.

sgn(z) = \left{\begin{matrix}
-1,如果z<0 \\ 0,如果z=0 \\ 1,如果z>0 \
\end{matrix}\right.
$$

单个TLU可用于简单的二进制分类。计算输入的线性组合,超过阈值输出正类,相反则输出负类。

感知器由单层TLU组成,每个TLU连接所有的输入。当一层的所有神经元都连接到上一层中的每一个神经元时,该层称为全连接层。 需要注意一点是,在输入层中会包含一个偏置神经元,用于额外的偏置特征($x_{0}=1$)。

要计算去全连接层输出如下:


h_{w,b}(X)=\phi (XW+b)

  • $X$就是输入矩阵
  • 权重矩阵$W$包含除偏置神经元之外的所有连接权重。
  • 偏置向量$b$包含偏置神经元和人工神经元之间的所有连接权重。
  • \phi()是激活函数:当人工神经元是TLU时是阶跃函数。

为了不断修正输出的偏差,我们需要让神经元能够根据输入去学习。这边有一个Hebb的思想:“触发的细胞,连接在一起”,简单的理解就是如果多个神经元再输入时是一起激活的,则可以增加这些神经元的权重。通过学习不断修正一些错误的连接。学习规则如下(权重更新):

W{i,j}^{(下一步)}=W{i,j}+\eta (y{j}-\hat{y{j}})x_{i}

  • $W_{i,j}$ :第i个输入与第j个输出之间的连接权重
  • $x_{i}$:当前训练实例的第i个输入值
  • $\hat{y_{j}}$:当前训练实例的第i个输出神经元输出
  • $y_{j}$: 当前训练实例的第i个输出神经元的目标输出
  • $\eta$: 学习率

可以简单的使用Scikit-Learn提供的Perceptron类,该类实现了单个TLU网络。

感知器的学习算法类似随机梯度下降,Perceptron类也可以在SGDClassifier设置如下超参数:
loss="perception",learning_rate="constant",eta0=1,penalty=None


文章标签:

原文连接:https://juejin.cn/post/7111711748582801421

相关推荐

翟佳:高可用、强一致、低延迟——BookKeeper的存储实现

管正雄:基于预训练模型、智能运维的QA生成算法落地

814. 二叉树剪枝 : 简单递归运用题

【综合笔试题】难度 3.5\u002F5,多解法热门二叉树笔试题

【java刷算法】牛客—剑指offer3栈、数组、递归、二分法的初步练习

leetcode 2342. Max Sum of a Pair With Equal Sum of Digits (python)

22张图带你深入剖析前缀、中缀、后缀表达式以及表达式求值

随机数索引(一题双解)【Leetcode每日(4.25)一题】C++

1260. 二维网格迁移 : 简单构造模拟题

坚持用C++刷牛客题(剑指offer专题)

日拱一卒,麻省理工教你信息安全和密码学

C语言——三种方式实现学生信息管理

快速排序及优化

萌新也能看懂的KMP算法

简答一波 HashMap 常见八股面试题 —— 算法系列(2)

素数算法(Prime Num Algorithm)

必须收藏!双目立体匹配算法:Patch Match Stereo实用详解教程

有哪些高质量的自学网站?

731. 我的日程安排表 II : 线段树(动态开点)的两种方式

LeetCode周赛302,这也太卷了,20分钟ak也只有300名……