0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

感知机能做什么?

lviY_AI_shequ 来源:未知 作者:李倩 2018-04-04 10:22 次阅读

感知机是个相当简单的模型,但它既可以发展成支持向量机(通过简单地修改一下损失函数)、又可以发展成神经网络(通过简单地堆叠),所以它也拥有一定的地位

为方便,我们统一讨论二分类问题,并将两个类别的样本分别称为正、负样本

感知机能做什么?

感知机能(且一定能)将线性可分的数据集分开。什么叫线性可分?在二维平面上、线性可分意味着能用一条线将正负样本分开,在三维空间中、线性可分意味着能用一个平面将正负样本分开。可以用两张图来直观感受一下线性可分(上图)和线性不可分(下图)的概念:

那么一个感知机将会如何分开线性可分的数据集呢?下面这两张动图或许能够给观众老爷们一些直观感受:

看上去挺捉急的,不过我们可以放心的是:只要数据集线性可分,那么感知机就一定能“荡”到一个能分开数据集的地方(文末会附上证明)

那么反过来,如果数据集线性不可分,那么感知机将如何表现?相信聪明的观众老爷们已经猜到了:它将会一直“荡来荡去”(最后停了是因为到了迭代上限)(然后貌似动图太大导致有残影……不过效果也不差所以就将就着看一下吧 ( σ'ω')σ):

class Perceptron: def __init__(self): self._w = self._b = None def fit(self, x, y, lr=0.01, epoch=1000): # 将输入的 x、y 转为 numpy 数组 x, y = np.asarray(x, np.float32), np.asarray(y, np.float32) self._w = np.zeros(x.shape[1]) self._b = 0.

上面这个 fit 函数中有个 lr 和 epoch,它们分别代表了梯度下降法中的学习速率和迭代上限(p.s. 由后文的推导我们可以证明,对感知机模型来说、其实学习速率不会影响收敛性【但可能会影响收敛速度】)

梯度下降法我们都比较熟悉了。简单来说,梯度下降法包含如下两步:

求损失函数的梯度(求导)

梯度是函数值增长最快的方向我们想要最小化损失函数我们想让函数值减少得最快将参数沿着梯度的反方向走一步

(这也是为何梯度下降法有时被称为最速下降法的原因。梯度下降法被普遍应用于神经网络、卷积神经网络等各种网络中,如有兴趣、可以参见这篇文章(https://zhuanlan.zhihu.com/p/24540037))

那么对于感知机模型来说,损失函数是什么呢?注意到我们感知机对应的超平面为

for _ in range(epoch): # 计算 w·x+b y_pred = x.dot(self._w) + self._b # 选出使得损失函数最大的样本 idx = np.argmax(np.maximum(0, -y_pred * y)) # 若该样本被正确分类,则结束训练 if y[idx] * y_pred[idx] > 0: break # 否则,让参数沿着负梯度方向走一步 delta = lr * y[idx] self._w += delta * x[idx] self._b += delta

那么一个感知机将会如何分开线性可分的数据集呢?下面这两张动图或许能够给观众老爷们一些直观感受:

至此,感知机模型就大致介绍完了,剩下的则是一些纯数学的东西,大体上不看也是没问题的(趴

相关数学理论

亦即训练步数是有上界的,这意味着收敛性。而且中不含学习速率,这说明对感知机模型来说、学习速率不会影响收敛性

最后简单介绍一个非常重要的概念:拉格朗日对偶性(Lagrange Duality)。我们在前三小节介绍的感知机算法,其实可以称为“感知机的原始算法”;而利用拉格朗日对偶性,我们可以得到感知机算法的对偶形式。鉴于拉格朗日对偶性的原始形式太过纯数学,所以我打算结合具体的算法来介绍、而不打算叙述其原始形式,感兴趣的观众老爷可以参见这里(https://en.wikipedia.org/wiki/Duality_(optimization))

在有约束的最优化问题中,为了便于求解、我们常常会利用它来将比较原始问题转化为更好解决的对偶问题。对于特定的问题,原始算法的对偶形式也常常会有一些共性存在。比如对于感知机和后文会介绍的支持向量机来说,它们的对偶算法都会将模型的参数表示为样本点的某种线性组合、并把问题转化为求解线性组合中的各个系数

虽说感知机算法的原始形式已经非常简单,但是通过将它转化为对偶形式、我们可以比较清晰地感受到转化的过程,这有助于理解和记忆后文介绍的、较为复杂的支持向量机的对偶形式

考虑到原始算法的核心步骤为:

此即感知机模型的对偶形式。需要指出的是,在对偶形式中、样本点里面的x仅以内积的形式(

注意到对偶形式的训练过程常常会重复用到大量的、样本点之间的内积,我们通常会提前将样本点两两之间的内积计算出来并存储在一个矩阵中;这个矩阵就是著名的 Gram 矩阵、其数学定义即为:

从而在训练过程中如果要用到相应的内积、只需从 Gram 矩阵中提取即可,这样在大多数情况下都能大大提高效率

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4538

    浏览量

    98426
  • 人工智能
    +关注

    关注

    1773

    文章

    43356

    浏览量

    230126

原文标题:从零开始学人工智能(27)--Python · SVM(一)· 感知机

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    学单片机能做什么?能接项目吗?能提成吗?

    学单片机能做什么?能接项目吗?能提成吗?望过来人解答!!!
    发表于 06-02 20:00

    只有一个XL24L01无线通讯,用51单片机能做什么简单的设计...

    只有一个XL24L01无线通讯,用51单片机能做什么简单的设计呢设计思路是怎样的求指点谢谢
    发表于 07-30 22:34

    51单片机能做的创新玩意有哪些

    利用51单片机能做什么比较创新实用的可穿戴小东西?
    发表于 07-29 14:07

    IDE能做什么

    IDE的价值IDE能做什么
    发表于 12-17 07:58

    单片机是什么?单片机能做什么

    java,然后在网上找教程无意间看到有这门技术存在。当时一下就提起了我的兴趣。因为单片机编程比java这些有趣多了,它能程序来控制硬件完成自己想要的行为,比如开灯、关灯。最后也促使我放弃学习java而转向单片机编程领域。下面我从3个方面来详细介绍下。1.单片机是什么?2.单片机能做什么?3.单片
    发表于 07-14 08:40

    单片机能做什么

    和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机结构框图如下:2、单片机能做什么...
    发表于 07-15 07:57

    什么是STM32?STM32能做什么

    什么是STM32?STM32能做什么?怎样去选择合适的MCU呢?
    发表于 10-28 09:21

    什么是STM32?STM32能做什么

    什么是STM32?STM32是如何分类的?STM32能做什么
    发表于 11-09 07:27

    单片机能做什么

    单片机原理与实践第一课(更新时间:2021.9.2)1.单片机能做什么​单片机是一种可通过编程控制的微处理器,单片机芯片自身不能单独运用于某项工程或产品上,它必须要靠外围数字器件或模拟器件的协调才
    发表于 12-01 07:17

    什么是STM32?STM32能做什么

    什么是STM32?STM32与ARM之间有何关系?STM32能做什么?STM32系列产品是如何分类的?
    发表于 12-15 06:50

    什么是STM32?STM32能做什么

    什么是STM32?STM32能做什么?STM32与ARM之间有何关系?
    发表于 01-24 07:13

    虚拟主机能做什么_虚拟主机的优缺点

    虚拟主机能做什么?虚拟主机技术极大的促进了网络技术的应用和普及,虚拟主机的租用服务为许多企业和个人提供了IT基础设施应用。下面我们介绍下虚拟主机最常用来做什么
    发表于 05-06 10:57 1220次阅读

    OpenHarmony能做什么 openharmony怎么用

    6月1日,OpenHarmony 2.0 Canary 开源版本正式发布。OpenHarmony能做什么?openharmony怎么使用?下面就由小编来简单介绍一下!
    的头像 发表于 06-22 10:45 4348次阅读

    核废水来了,我们能做什么

    核废水来了,我们能做什么
    的头像 发表于 09-08 08:26 453次阅读
    核废水来了,我们<b class='flag-5'>能做什么</b>?

    蔡司三坐标测量机能做什么

    关于蔡司三坐标测量机能做什么,蔡司代理三本精密仪器讲解如下:1.提高测量效率,保证测量的数据的一致性测量最怕的是第一次测量和第二次测量的数据出现大幅变化,这对生产人员改进工艺参数是巨大的风险
    的头像 发表于 12-25 17:54 163次阅读
    蔡司三坐标测量<b class='flag-5'>机能做什么</b>