机器学习——感知器

单个感知器

一个最简单的感知器示意图如下所示:
在这里插入图片描述

功能描述

设样本集 X = { X 1 , X 2 , ⋯   , X i , ⋯   , X m } \mathbf X=\{X_1,X_2,\cdots,X_i,\cdots,X_m\} X={X1,X2,,Xi,,Xm},记输入向量 X i = X = ( x 1 , x 2 , ⋯   , x n ) T X_i=X=(x_1,x_2,\cdots,x_n)^T Xi=X=(x1,x2,,xn)T,则输入向量可表示为高维空间中的一个点;感知器 j j j 对应的权重为 w j = ( w 1 j , ⋯   , w n j ) T w_j=(w_{1j},\cdots,w_{nj})^T wj=(w1j,,wnj)T,阈值为 θ j \theta_j θj。通过训练,可使得感知器 j j j 的输出为
y ^ j = s i g n { w j T ⋅ X i − θ j } = s i g n { ∑ k = 1 n w k j ⋅ x k − θ j } = { 1 , ∑ k = 1 n w k j ⋅ x k − θ j > 0 − 1 , ∑ k = 1 n w k j ⋅ x k − θ j < 0 \displaystyle \hat y_j=sign\{w^T_j\cdot X_i-\theta_j\}=sign\{\sum^n_{k=1}w_{kj}\cdot x_k-\theta_j\}=\left\{ \begin{aligned} 1, & & {\sum^n_{k=1}w_{kj}\cdot x_k-\theta_j>0}\\ -1, & & {\sum^n_{k=1}w_{kj}\cdot x_k-\theta_j<0}\\ \end{aligned} \right. y^j=sign{wjTXiθj}=sign{k=1nwkjxkθj}=1,1,k=1nwkjxkθj>0k=1nwkjxkθj<0

即由方程 w j T ⋅ X i − θ j = ∑ k = 1 n w k j ⋅ x k − θ j = 0 \displaystyle w^T_j\cdot X_i-\theta_j=\sum^n_{k=1}w_{kj}\cdot x_k-\theta_j=0 wjTXiθj=k=1nwkjxkθj=0 确定的超平面将超空间分为两部分。其具有分类功能,分类原理是将分类知识储存与感知器的权重向量(包含阈值)中,由权重向量确定的分类判决面将输入模式(向量)分为两类。但应注意,分类判决面不是唯一的。对于二维空间内的样本,其示意图如下:
在这里插入图片描述

训练

使用增广向量,用 w j T ⋅ X i w^T_j\cdot X_i wjTXi 替代 w j T ⋅ X i − θ j w^T_j\cdot X_i-\theta_j wjTXiθj 。定义感知器的损失函数为 L ( w j ) = ∑ i = 1 m I { y i ⋅ w j T ⋅ X i < 0 } \displaystyle L(w_j)=\sum^m_{i=1}\mathbf I\{y_i\cdot w^T_j\cdot X_i<0\} L(wj)=i=1mI{yiwjTXi<0}

其中 y i = { 1 , − 1 } y_i=\{1,-1\} yi={1,1},为样本 X i X_i Xi 的标签; I { y i ⋅ w j T ⋅ X i < 0 } \mathbf I\{y_i\cdot w^T_j\cdot X_i<0\} I{yiwjTXi<0} 的含义为:正确分类时, y i ⋅ w j T ⋅ X i > 0 , I = 0 y_i\cdot w^T_j\cdot X_i>0,\mathbf I=0 yiwjTXi>0,I=0
错误分类时, y i ⋅ w j T ⋅ X i < 0 , I = 1 y_i\cdot w^T_j\cdot X_i<0,\mathbf I=1 yiwjTXi<0,I=1;调整 ω ← w + △ ω \omega\gets w+\triangle\omega ωw+ω

注意到, L ( w j ) = ∑ i = 1 m I { y i ⋅ w j T ⋅ X i < 0 } \displaystyle L(w_j)=\sum^m_{i=1}\mathbf I\{y_i\cdot w^T_j\cdot X_i<0\} L(wj)=i=1mI{yiwjTXi<0}是不可导的,这不利于学习,
因此考虑将损失函数定义为 L ( w j ) = ∑ X i ∈ X − y i ⋅ w j T ⋅ X i \displaystyle L(w_j)=\sum_{X_i\in\mathbf X}-y_i\cdot w^T_j\cdot X_i L(wj)=XiXyiwjTXi,其梯度为: ∇ ω j L = − y i ⋅ X i \displaystyle\nabla_{\omega_j}L=-y_i\cdot X_i ωjL=yiXi
对每个分类错误的样本,都对 ω j \omega_j ωj 进行调整: ω ← w + λ ∇ ω j L \omega\gets w+\lambda\nabla_{\omega_j}L ωw+λωjL,直到所有的样本分类正确为止。

逻辑运算能力

逻辑“与”

根据 逻辑“与” 的真值表,进行训练,可得到判决方程(不唯一)为: 0.5 x 1 + 0.5 x 2 − 0.75 = 0 0.5x_1+0.5x_2-0.75=0 0.5x1+0.5x20.75=0
在这里插入图片描述

逻辑“或”

根据 逻辑“与” 的真值表,进行训练,可得到判决方程(不唯一)为: x 1 + x 2 − 0.75 = 0 x_1+x_2-0.75=0 x1+x20.75=0
在这里插入图片描述

感知器的局限性

可以看出,感知器只能得到线性分类判决面,其在二维时是直线,故无法实现“异或”功能;并且,感知器仅度线性可分问题具有分类能力。如果两类样本可以用直线、平面或超平面分开,称为线性可分;否则称为线性不可分。

多层感知器

因为单个感知器无法实现线性不可分问题,因此考虑引入多层感知器,其网络结构即输入输出函数如下:
在这里插入图片描述

假定隐层的节点可以根据需要自由设置,则使用三层的阈值网络可以实现任意的二值逻辑函数。解决异或问题的二层网络(不唯一)如下所示:
在这里插入图片描述

其分类面的叠加原理如下所示:
在这里插入图片描述

多层感知器的拟合能力

二层感知器

在这里插入图片描述

三层感知器

在这里插入图片描述

可以看出,单层感知器的判决域是半平面;双层感知器(一个隐层)的判决域为开放式闭合的凸域;而三层感知器(两个隐层,不限制隐层节点数)的判决域为任意复杂形状的域。

多层感知器的分类原理:隐含层实现对输入空间的非线性映射,输出层实现线性分类;使得非线性映射方式和线性判别函数可以同时学习。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值