• 人工智能知识全面讲解:感知机原理


    7.2.1 基础感知机原理

    因为MP模型只能预设参数,无法随数据的不同自适应调整参数,所以研究
    人员开始寻找能够自主“学习”的神经网络。在1958年,计算科学家罗森布拉
    特(Rosenblatt)提出由两层神经元组成的神经网络,取名为感知机
    (Perceptron)算法。
    感知机是最古老的分类算法,同时也是最简单、最经典的机器学习算法之
    一。每个人工智能领域的产品经理都必须掌握感知机的基本原理,很多业界学
    者认为学习感知机的思想是理解神经网络和深度学习的重要途径。
    简单来说,感知机学习算法是一种适用于二分类的线性分类算法,一般用
    于解决二分类(非负即正,只存在两个结果)问题。例如我们判断一个同学的
    考试成绩合格还是不合格,今天会不会?雨,银行会不会给某个客户发放贷款
    等,像这种只存在是或否(正、负)两个答案的问题称为二分类的问题。
    感知机由两层神经元组成,如图7-4所示,输入层接受外界信号后将其传
    递给输出层,输出层为MP神经元。感知机在原来MP模型的“输入”位置添加神
    经元节点,构成“输入单元”,其余不变。它的工作原理与MP模型非常相似。
    给每一个属性指定一个权重w ,对属性值和权重的乘积求和,将结果值与阈值
    比较,从而判定正负样本结果。这个过程用函数表示为:

    其中,w 、b为模型参数,w 为权值,b为偏置。wx 表示w 与x 的内积,
    sign为激励函数。

     

    看到这个函数表达式是否觉得很眼熟?这个函数与我们初中所学的一元一
    次方程y=ax+b十分相似。这样,在二维空间内,用来训练的样本数据就变成了
    平面上的一个数据点,如图7-5所示。这些数据包含正样本及负样本,我们将
    成功放贷的客户定?为正样本,没有放贷的客户定?为负样本。感知机算法的
    学习过程就是在这个平面中找到一条能够将所有的正样本和负样本区分开来的
    直线。在后续应用的时候,面对新来的数据,若通过模型计算出是正结果,银
    行就给这个客户发放贷款;若算出来是负结果,则银行不发放贷款。

     

    由此我们可知,感知机算法就是找到类别决策分界的过程 。当样本特征
    只有两个时,决策分界就是在二维平面中找到一条划分直线区分不同的样本;
    当样本特征有三个时,决策分界就是在三维的空间中找到一个划分平面;当样
    本特征有 N 个时,决策分界就是在N维空间中找到一个n-1维的划分超平面。
    接?来我们的目标就比较清?了,就是找到一个方法调整参数w 、b的
    值,一旦确定了这两个参数的值,直线的位置也就确定?来了。感知机采用的
    学习方式如?所示。
    第1步:设定一个初始值,即在平面内随便找一条直线。
    第2步:随机找到一个误分类点,调整参数w 、b的值使得分离直线向该误
    分类点的一侧移动。
    第3步:重复第2步,直到所有误分类点被正确分类为止。
    第4步:输出最终参数w 、b的取值。
    确定了学习方式后,接?来我们尝试用函数来表达上述过程。按照上述方
    式,当一个样本点被误分类时,误分类点肯定出现在当前划分直线的错误一
    侧。我们的矫正方式是调整参数w、b的值,使得模型表示的直线往该误分类点
    的方向平移一定距离,也就是缩小它们之间的距离,如图7-6所示。

     

    在最优化问题中,我们当前调整的划分直线可能对于单个误分类点来说,
    已经达到了最优效果,即误差点相对于直线的距离为0。但是这种调整可能会
    因为强行适应某个误分类点从而出现更多的误差点,也就是说模型调整过头
    了,如图7-7所示。 

    因此我们需要保证参数w 、b的值总是朝着整体变好的方向调整,也就是
    总体误差点最少的方向。换成距离的概念,就变成了使得误分类点距离直线的
    总长度最小,这样才能确保训练得到的模型最接近真实模型。因此我们把误分
    类点到直线的总距离定?为一个损失函数,感知机的目标就是求出损失函数的
    最小值。首先我们定?空间中任意一点到直线的距离l为 

    到这一步问题就变得简单了,就是求L(w ,b)的极小值。极小值的求解方
    法有很多种,在感知机里我们用第4章讲述的“梯度?降法”求极小值。在这
    里我们简单回顾一?求解过程,首先对函数求导,默认指定一个点的导数方向
    为这个点的梯度方向,梯度表示某一函数在该点处的方向导数沿着该方向取得
    最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最
    大。结合定?的步长,相当于每次都往函数梯度?降最快的方向走一步,逐渐
    达到最优解,求得极小值。
    7.2.2 感知机的限制
    以上为感知机的求解过程。从上述的学习过程可以看出,感知机算法有两
    个特点。
    1. 感知机求得的超平面并不唯一
    一方面是因为初始值不同,直线最初的位置不同,所以调整的角度不同;
    另一方面,在训练集中是随机选择一个误分类点更新参数的,选择的顺序不同
    结果也可能不同。
    2. 感知机只适用于线性可分的数据集
    只有当数据集是线性可分的时,才存在一个超平面能够将不同类别分开
    。如图7-8所示,从?到右,“与”“非”“或”问题都是线性可分的,感知
    机可以很容易通过调节参数获得其决策边界。但是“异或”问题?是线性不可
    分的,感知机对其无能为力。异或的意思是若a、b取值不相同,则异或结果为
    1。若a、b取值相同,异或结果为0。就好比两个男人或者两个女人结合都没有
    办法生孩子,只有一个男人和一个女人结合才能生孩子。从图中可以看出来,
    感知机没有办法解决异或问题,所有的线性模型都没有办法解决异或问题。
    感知机可以被视为一种简单形式的前馈神经网络,是一种二元线性分类模
    型。其输入为样本的特征向量,输出为样本的类别,取值为“+1”或“-1”。
    感知机是神经网络的雏形,同时也是支持向量机的基础。但是使用感知机的前
    提为数据线性可分,这一点严重限制了感知机的实际应用场景。 

    1969年,被誉为“人工智能之父”的马文·明斯基(Marvin Lee
    Minsky)教授用?细的数学计算证明了感知机的弱点,尤其是感知机不能解决
    异或问题这个重大缺陷。如果将计算层增加到两层,计算量则过于庞大,而且
    没有有效的学习算法。在当时,由于明斯基教授在业界的巨大影响力以及对感
    知机的悲观态度,让很多学者和实验室纷纷放弃了对神经网络的研究,这个时
    期被称为“神经网络寒冬期”。直到 10年以后,对于两层神经网络的研究才
    带来神经网络领域的复苏。 

  • 相关阅读:
    《Unity3D高级编程之进阶主程》第四章 UI(一) - NGUI和UGUI比较
    什么是泄放电阻器:您应该知道的 11 个重要事实?
    java面试强基(7)
    java毕业设计木材产销系统的生产管理模块mybatis+源码+调试部署+系统+数据库+lw
    vue3中使用el-upload + tui-image-editor进行图片处理
    Redis常见数据类型及其常用命令详解
    达摩院技术创新全景|懂你的语音AI
    多商户商城系统源码,同类产品选择多,买东西更划算
    【使用JDBC对数据库表进行操作】
    领域自适应的几个子问题
  • 原文地址:https://blog.csdn.net/tysonchiu/article/details/125485856