神经网络の01感知机
神经网络の 01感知机
导论
- 损失函数(loss function):是用来衡量预测值和真实值之间的差距大小的;
- 神经网络的作用:调整权值使实际输出接近期望输出。
- 线性可分数据集和线性不可分数据集的区别:
(1)线性可分数据集:给定某个数据集,其中正例和负例能够被特征空间中的某个分类超平面完全分开,则称该数据集是线性可分的;
(2)线性不可分数据集:在特征空间中,没有一个分类超平面能够将数据集中的正例和负例完全分开,则称该数据集是线性不可分的;
- 损失函数的优化方法:
一般采用梯度下降法来对损失函数进行优化,进而求得相对合适的和。梯度下降算法的常见形式:
(1)批量梯度下降BGD(Batch Gradient Descent):通过计算所有训练样本的损失函数值之和的梯度,来对损失函数进行优化,对参数进行更新迭代,也就是说每一次参数的更新,都将使用所有的训练样本;
(2)随机梯度下降SGD(Stochastic Gradient Descent):这种形式的梯度下降是一个训练样本计算一次损失,计算一次梯度,对参数进行更新一次;
(3)小批量随机梯度下降算法MSGD(Mini-Batch SGD):是批量梯度下降与随机梯度下降的折中版本,即每次既不取1个训练样本来计算梯度,也不是取全部样本来进行梯度的计算,而是只取训练样本的一部分来进行梯度的计算。
背景
感知机 (perceptron):又称为“人工神经元”或“朴素感知机”是神经网络(深度学习)的起源算法,学习感知机的构造是通向神经网络和深度学习的一种重要思想。
核心功能:感知机接收多个输入信号,输出一个信号。
发展历程
感知机的基本知识点
感知机PLA(全称:Perceptron Linear Algorithm),是二分类的线性模型,其输入是实例的特征向量,输出是实例的类别,分别是+1和-1,属于 判别模型。它的基本结构如图所示:

(1)感知机模型的定义:
f
(
x
)
=
s
i
g
n
(
w
⋅
x
+
b
)
f(x)=sign(\mathbf{w}\cdot \mathbf{x}+b)
f(x)=sign(w⋅x+b)
其中,
s
i
g
n
(
)
sign()
sign()为符号函数,其定义如下:
s
i
g
n
(
x
)
=
{
1
,
x
≥
0
−
1
,
x
<
0
\begin{aligned} \\&sign(x) = \left\{ \begin{array}{lr} 1 & , x \ge 0 \\ -1 & ,x < 0 \end{array} \right. \end{aligned}
sign(x)={1−1,x≥0,x<0
观察可知:感知机模型
f
(
x
)
f(x)
f(x)由三部分组成:
w
\mathbf{w}
w,
x
\mathbf{x}
x 和
b
b
b。其中,
w
\mathbf{w}
w 和
b
b
b 分别为权重和偏置,而
x
\mathbf{x}
x为样本的特征向量。
参数说明:
其
中
,
x
i
是
输
入
,
w
i
是
权
重
系
数
,
b
表
示
偏
移
常
数
,
y
^
是
输
出
信
号
,
图
中
的
○
称
为
“
神
经
元
”
或
者
“
节
点
”
。
\begin{aligned} & 其中, x_i 是输入,w_i是权重系数,b表示偏移常数,\hat{y} 是输出信号,图中的○称为“神 经元”或者“节点”。\\& \end{aligned}
其中,xi是输入,wi是权重系数,b表示偏移常数,y^是输出信号,图中的○称为“神经元”或者“节点”。
公式推导:
感知机的线性输出
y
^
\hat{y}
y^ 的计算公式:
y
^
=
∑
i
=
1
N
w
i
x
i
+
b
\hat{y}=\sum_{i=1}^{N}w_ix_i+b
y^=i=1∑Nwixi+b
为了简化计算,通常我们将
b
b
b 作为权重系数的一个维度,即
w
0
w_0
w0 。同时,将输入
x
x
x扩展一个维度,为
N
+
1
N+1
N+1 。这样,上式简化为:
y
^
=
∑
i
=
1
N
+
1
w
i
x
i
\hat{y}=\sum_{i=1}^{N+1}w_ix_i
y^=i=1∑N+1wixi
y
^
\hat{y}
y^ 是感知机的输出,接下来就要对
y
^
\hat{y}
y^ 进行判断:
f ( x ) = s i g n ( w ⋅ x + b ) = { 1 , 若 y ^ ≥ θ − 1 , 若 y ^ < θ \begin{aligned} f(x)=sign(\mathbf{w}\cdot \mathbf{x}+b)= \left\{ \begin{array}{lr} 1 & ,\ 若\hat{y}≥θ& \\[2ex] -1 & , \ 若\hat{y}<θ \end{array} \right. \end{aligned} f(x)=sign(w⋅x+b)={1−1, 若y^≥θ, 若y^<θ
感知机公式阐释:
(1)输入信号 { x 1 , x 2 , . . . x n } \{ x_1,x_2,...x_n \} {x1,x2,...xn}分别乘以相应的固定权重 ( w 1 × x 1 , w 2 × x 2 , . . . , w n × x n ) (w_1 ×x_1, w_2 ×x_2, ..., w_n ×x_n) (w1×x1,w2×x2,...,wn×xn)之后,送往到神经元;
(2)神经元计算传送过来的输入信号的总和 ∑ i = 1 N + 1 w i x i \sum_{i=1}^{N+1}w_ix_i ∑i=1N+1wixi;
(3)当这个总和超过 指定阈值 θ θ θ 时,输出1,这也称为 “神经元被激活”。否则,输出-1。
\quad
备注: 感知机的多个输入信号都有各自固有的权重,这些权重发挥着控制各个信号重要性的作用。即:权重越大,对应该权重的信号的重要性就越高。
(2)感知机的工作原理:
给定某个样本的特征向量x作为感知机模型的输入,通过感知机模型的定义式,得出f(x)的值作为模型的输出,如果f(x)为1,则可以预测样本为一个正例样本;如果f(x)为-1,则预测样本为一个负例样本,这便是感知机的工作原理。
(3)感知机的几何意义:
每一个感知机模型均对应了一个分类超平面: w ⋅ x + b = 0 \mathbf{w}\cdot \mathbf{x}+b=0 w⋅x+b=0
(1)如果样本的特征空间为2维的,则分类超平面对应于二维空间中的一直线;
(2)如果样本的特征空间为3维的,则分类超平面对应于三维空间中的一个平面。


(4)感知机的学习策略(即:确定求解
w
\mathbf{w}
w 和
b
b
b 的策略)
感知机的学习过程就是寻找最合适的参数 w \mathbf{w} w 和 b b b ,从而确定分类超平面 w ⋅ x + b = 0 \mathbf{w}\cdot \mathbf{x}+b=0 w⋅x+b=0。
首 先 我 们 假 设 存 在 一 个 线 性 可 分 数 据 集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } , 其 中 , x i ∈ χ = R n , 即 样 本 的 特 征 空 间 为 n 维 的 , 样 本 标 记 y i ∈ γ = { + 1 , − 1 } , i = 1 , 2 , . . . , N 。 \begin{aligned} & 首先我们假设存在一个线性可分数据集T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}, \\&其中,x_i\in\chi=R^n,即样本的特征空间为n维的,样本标记y_i\in\gamma=\{+1,-1\},i=1,2,...,N。 \end{aligned} 首先我们假设存在一个线性可分数据集T={(x1,y1),(x2,y2),...,(xN,yN)},其中,xi∈χ=Rn,即样本的特征空间为n维的,样本标记yi∈γ={+1,−1},i=1,2,...,N。
确定感知机的学习策略实际上就是确定损失函数(loss function),损失函数是用来衡量预测值和真实值之间的差距大小,因此,我们需要对损失函数进行优化,即:得到使损失函数值最小的参数w和b。
定义感知机的损失函数的两种解决思路:
(1)定义损失函数为误分类点的总数:这样的损失函数对于参数w和b不可导,优化比较困难,所以不成立;
(2)定义损失函数为所有误分类点到分类超平面的距离总和,优化目标即:确定使所有误分类点到分类超平面的距离总和最小时的参数w和b。
求解最小损失函数的具体过程:
某 个 点 到 平 面 的 距 离 公 式 为 : w ⋅ x 0 + b ∥ w ∥ 其 中 , ∥ w ∥ 为 w 的 二 范 数 ; x i ∈ χ = R n , 即 : 样 本 的 特 征 空 间 为 n 维 的 ; 样 本 标 记 y i ∈ γ = { + 1 , − 1 } , i = 1 , 2 , . . . , N 。 备 注 : n 维 空 间 中 的 分 割 超 平 面 是 一 个 n − 1 维 的 子 空 间 。 \begin{aligned} & 某个点到平面的距离公式为:\frac{w\cdot x_0+b}{\lVert w\rVert} \\& 其中,{\lVert w\rVert}为w的二范数;x_i\in\chi=R^n,即:样本的特征空间为n维的;样本标记y_i\in\gamma=\{+1,-1\},i=1,2,...,N。 \\&备注:n维空间中的分割超平面是一个n-1维的子空间。 \end{aligned} 某个点到平面的距离公式为:∥w∥w⋅x0+b其中,∥w∥为w的二范数;xi∈χ=Rn,即:样本的特征空间为n维的;样本标记yi∈γ={+1,−1},i=1,2,...,N。备注:n维空间中的分割超平面是一个n−1维的子空间。
损失函数:即:分类错误点到超平面S的距离之和
L = ∑ i = 1 N − y i ( w x i + b ∥ w ∥ ) , 当 ∥ w ∥ = 1 时 , L = ∑ i = 1 N − y i ( w x i + b ) , 此 时 , 损 失 函 数 简 化 为 : m i n ( L ) w , b = ∑ i = 1 N − y i ( w x i + b ) 对 于 任 意 一 样 本 点 x i , 先 判 断 是 否 满 足 : y i ( w x i + b ) < 0 , 若 成 立 , 则 样 本 点 x i 为 错 误 分 类 点 , 需 要 进 行 样 本 点 的 参 数 更 新 , 更 新 过 程 如 下 : 对 于 L = − y i ( w x i + b ) 而 言 , 每 次 只 对 一 个 样 本 更 新 参 数 w 和 b , 其 参 数 更 新 公 式 如 下 , 即 : 分 别 对 w 和 b 求 偏 导 数 : f ( x ) = s i g n ( w ⋅ x + b ) 其 中 , s i g n ( ) 为 符 号 函 数 , 其 定 义 如 下 : { ∂ L ∂ w = − y i ⋅ x i ∂ L ∂ b = − y i ⟹ { w → w − η ( − y i x i ) b → b − η ( − y i ) ( 注 : η 代 表 “ 权 重 系 数 ” ) 因 此 , 损 失 函 数 的 参 数 更 新 公 式 为 多 个 样 本 点 参 数 更 新 的 累 计 求 和 , 即 : { w = ∑ i = 0 N − 1 α i η y i x i b = ∑ i = 0 N − 1 α i η y i ( 注 : α 代 表 “ 学 习 率 ” ) \begin{aligned} & L=\sum_{i=1}^{N}-y_i\Big(\frac{wx_i+b}{{\lVert w\rVert}} \Big), \\&当{\lVert w\rVert}=1时,L=\sum_{i=1}^{N}-y_i\Big({wx_i+b} \Big),此时,损失函数简化为: \\&min( L)_{w,b}=\sum_{i=1}^{N}-y_i\Big({wx_i+b} \Big) \\& 对于任意一样本点x_i,先判断是否满足:y_i(wx_i+b)<0,若成立,则样本点x_i为错误分类点,需要进行样本点的参数更新,更新过程如下: \\&对于L=-y_i\Big({wx_i+b} \Big)而言,每次只对一个样本更新参数w和b,其参数更新公式如下,即:分别对w和b求偏导数: \\& &f(x)=sign(w\cdot x+b) \\&其中,sign()为符号函数,其定义如下: \\& \begin{cases} \frac{\partial L}{\partial w} =-y_i\cdot x_i\\ \frac{\partial L}{\partial b} =-y_i \end{cases} \ \Longrightarrow \left\{ \begin{array}{lr} w\rightarrow w-\eta(-y_ix_i)\\ b\rightarrow b-\eta(-y_i) \end{array} (注:\eta代表“权重系数”) \right. \\&因此,损失函数的参数更新公式为多个样本点参数更新的累计求和,即: \\& \begin{cases} w=\sum_{i = 0} ^{N-1} \alpha_i\eta y_ix_i \\ b=\sum_{i = 0} ^{N-1} \alpha_i\eta y_i \end{cases} (注:\alpha代表“学习率”) \\& \end{aligned} L=i=1∑N−yi(∥w∥wxi+b),当∥w∥=1时,L=i=1∑N−yi(wxi+b),此时,损失函数简化为:min(L)w,b=i=1∑N−yi(wxi+b)对于任意一样本点xi,先判断是否满足:yi(wxi+b)<0,若成立,则样本点xi为错误分类点,需要进行样本点的参数更新,更新过程如下:对于L=−yi(wxi+b)而言,每次只对一个样本更新参数w和b,其参数更新公式如下,即:分别对w和b求偏导数:其中,sign()为符号函数,其定义如下:{∂w∂L=−yi⋅xi∂b∂L=−yi ⟹{w→w−η(−yixi)b→b−η(−yi)(注:η代表“权重系数”)因此,损失函数的参数更新公式为多个样本点参数更新的累计求和,即:{w=∑i=0N−1αiηyixib=∑i=0N−1αiηyi(注:α代表“学习率”)f(x)=sign(w⋅x+b)
单层感知器
单层感知器的基本概念
单层感知器(Single Layer Perceptron):
- 是最简单的神经网络,它包含输入层和输出层,且两者是直接相连的;
- 由一个线性组合器和一个二值阈值元件组成;
- 用来区分线性可分的数据,并且一定可以在有限的迭代次数中收敛,对于“异或”这种线性不可分的问题,可通过构造“多层感知器” 或采用“连续可微激活函数的BP神经网络” 来实现;
- 工作过程:对假设函数进行训练,直到对所有样本均满足经过假设函数计算出来的结果与预期结果一致,即结束训练;
- 能模拟逻辑函数,例如逻辑非NOT、逻辑或非XOR、逻辑或OR、逻辑与AND和逻辑与非NAND等,但是不能用来模拟逻辑异或XOR(这个函数,必须用两层神经元);
- 模型涉及的数学变量:输入矢量:P,目标矢量:T,网络权值:W,阈值激活函数:sgn(x),输入节点数:r,输出节点数:s,偏置因子:b;
- 物理层结构:输入节点,输出节点和激活函数;
- 除了输入之外,偏置(bias)也经常被用于每个神经元,它在通过转换函数之前被加到输入的加权和上。权值也经常被应用于偏置上。偏置决定了多少输入激活(输入的加权和)才能激发神经元进入兴奋状态。偏置往往被设定为1,而偏置的权值可以通过学习算法加以调整。
- 单层感知器结构如下:

单层感知器中偏置因子的作用
(1)偏置因子的存在意义:
偏置因子使感知器摆脱了纯线性,具有了增量线性的性质,扩展了可分范围。
(2)偏置因子为何多数情况下都是1个:
实际的偏置因子可以是无数个,但是其和网络权值相乘累加之后就是b,也就是说n个和1个的意义是一样的;
更多推荐
所有评论(0)