阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

只有高中数学基础,要如何掌握数据科学的数学?

  • 2019-06-20
  • 本文字数:2764 字

    阅读完需:约 9 分钟

只有高中数学基础,要如何掌握数据科学的数学?

导读: 本文是作者 Ajit Jaokar 即将出版的《Mathematical foundations of Data Science》(《数据科学的数学基础》中的一部分。在这篇文章中,作者用感知器算法(Perceptron algorithm)来填补高中数学和深度学习之间的鸿沟。

背景

作为高校课程主任,我负责讲授《Artificial Intelligence: Cloud and Edge Implementations》(《人工智能:云计算和边缘计算的实现》),但我看到的现状是,太多的学生熟悉的是编程方面,而不是数学方面。


他们上次学习数学,还是在大学里学的,已经是几年前的事情了。然后,当他们开始学习数据科学时,突然发现,他们需要跟矩阵、线性代数等等打交道。


他们原本以为,大学毕业以后就不会再碰数学了。更槽糕的是,他们发现,在很多情况下,他们并不知道这些概念到底是用于数据科学的哪些领域。


如果你要考虑学习数据科学所需的数学基础,那么你可以将它们分为四个关键领域:


  • 线性代数

  • 概率论与统计学

  • 多元微积分

  • 优化


所有这些基础都是在高中(14 到 17 岁)所教授的内容(至少是部分内容)。


在本文中,我们从这些想法开始,并将它们与数据科学与人工智能联系起来。

理解线性回归

让我们从线性回归开始讲起。


线性关系意味着可以用直线表示两组变量之间的关系。许多现象可以用线性关系来表示。我们可以用线性方程的形式来表示这种关系,形式如下:


y = mx + b


其中,“m” 表示直线的斜率;“x”表示直线上的任一点(一个输入或 x 值),“b”是直线与 Y 轴相交的位置。


这种关系可以表示如下:



如果我们将这个等式扩展到 n 个变量,我们就会得到:



现在,让我们将工具切换到一种新的模型,即从线性回归到感知器学习。我们展示了这个新模型和线性回归的关系。此外,感知器学习可以扩展到多层感知器,即深度学习算法。

感知器学习

感知器可以看作是“人工神经元”,也就是生物神经元的简化版。感知器如下图所示。感知器接受多个输入:x1、x2、……,并产生一个二进制输出:



图:感知器


展开上面的内容,在下面的示例中,我们现在考虑加权输入。感知器有三个输入,x1、x2、x3 和权重 w1、w2、……。w1、w2、……是实数,用来表示各个输入对输出的重要性。感知器的输出是 0 还是 1,要取决于加权和“∑jwjxj”是小于还是大于某个阈值。我们可以把感知器看作是一种通过权衡证据来作出决策的设备。这个概念类似于我们之前见过的多元线性方程。这个概念可以表示为如下所示的函数:



图:感知器的一般表示


它确实与我们以前所见到的多元线性回归方程相似。


感知器:不仅仅是历史上的一个脚注

作为一种算法,感知器有一段有趣的历史。感知器最初是在硬件上实现的。感知器算法的第一个实现是 Mark I 感知器。感知器算法于 1957 年由 Frank Rosenblatt 在 Cornell Aeronautical Laboratory 发明的。感知器被设计成一台机器而不是一个程序。这台机器是为图像识别而设计的:它有一个由 400 个光电管组成的阵列,随机连接到“神经元”上。权重编码在电位器中,学习过程中的权重更新由电动机执行。事后证明,当时人们对感知器的乐观态度实际上是错误的。在 1958 年由美国海军组织的新闻发布会上,Rosenblatt 发表了关于感知器的声明,引起了当时羽翼未丰的人工智能界的争议。根据 Rosenblatt 的声明,《New York Times》报道称,“感知器是一台电子计算机的雏形,(美国海军)希望它能够走路、说话、看物、写字、复制自己,并能够意识到自己的存在。”


虽然感知器最初看起来很有前途,但人们很快就证明了感知器并不能被训练来识别许多类的模式。这种错位的乐观主义导致神经网络领域多年来停滞不前,直到人们认知到,具有两层或更多层(也成为多层感知器)的前馈神经网络比只具有一层(即单层感知器)的感知器具有更强大的处理能力。单层感知器只能学习线性可分模式。


下面是(单层)感知器的学习算法的示例。一个图表显示了一个感知器随着更多训练样本的增加而更新其线性边界。



图:感知器分类


以上对感知器和图像的描述,改编自 WikiPedia:https://en.wikipedia.org/wiki/Perceptron


因此,虽然感知器具有历史意义,但它毕竟是一种功能性算法,即线性分类器。线性分类器虽然很有趣,但就最初的承诺和潜力而言,它还不够引人注目。


然而,对我们来说,感知器不仅仅是历史上的一个脚注。这是一种将你的高中基础知识与深度学习联系起来的方法。

使用非线性激活函数克服感知器学习的局限性

要克服感知器仅作为线性分类器的局限性,一个步骤是考虑非线性激活函数。在上图中(图:感知器的一般表示),函数 f 表示激活函数。对于感知器来说,激活函数只是一个阶跃函数。阶跃函数输出表示感知器的输出。阶跃函数的输入是加权输入。下面我们将更详细地讨论激活函数。但就目前而言,重要的是要认识到感知器的激活函数是一个阶跃函数。


1969 年,在 Marvin Minsky 和 Seymour Papert 合著的一本知名图书《Perceptrons》(《感知器》)中指出,感知器不可能会学习异或函数(XOR function)。但是,如果我们对感知器使用非线性激活函数(而不是阶跃函数),那么这个限制就不适用了。事实上,通过使用非线性激活函数,我们就可以对比逻辑异或更复杂的函数进行建模(哪怕只有单层)。如果我们添加更多的隐藏层来创建多层感知器,那么这个想法就可以得到扩展。


激活函数的工作原理可以通过在给定 x.sigmoid、tanH、ReLu 的曲线上找到 y 的映射值来理解。例如,sigmoid 激活函数映射 0 到 1 之间的值范围。这意味着,对于 x 在负无穷到正无穷之间的值,y 值将通过 Sigmoid 函数映射到 0 到 1 之间。对于每个节点,Sigmoid 激活将输出作为 sigmoid (dot(input, weights) ) + b,其中,函数的输入表示每个节点的 x 值和权重的点积。矩阵 b 表示偏差矩阵。类似的,tanh 函数表示结语 -1 和 +1 之间的输出。激活函数必须是可微分的,因为函数的导数表示更新步骤时的变化方向。


所以,我们来总结一下:


  • 感知器是生物神经元的简化模型。

  • 感知器是一种学习二元分类器的算法:一种将输入映射到输出值(单个二元指)的函数。

  • 感知器是一个人工神经元,使用阶跃函数作为激活函数。感知器算法也被称为单层感知器,以区别于多层感知器。

  • 虽然感知器算法具有历史意义,但它为我们提供了一种弥补线性回归和多层感知器之间差距的方法,即深度学习。

多层感知器

我们现在来讨论多层感知器(Multi-layer perceptron,MLP)的概念。多层感知器通过以下三种方法克服了上一节中讨论的感知器算法的局限性:


  1. 通过使用非线性激活函数

  2. 通过使用多层感知器(而非单层感知器)

  3. 使用不同的训练方法,即 MLP 需要结合反向传播和梯度下降进行训练



图:多层感知器


因此,多层感知器可以看作是一个复杂的感知器网络(具有非线性激活函数),它们可以在逐层权衡证据的基础上作出微妙而复杂的决策。




英文原文:


https://www.datasciencecentral.com/profiles/blogs/how-to-learn-the-maths-of-data-science-using-your-high-school


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-06-20 17:016242
用户头像

发布了 368 篇内容, 共 170.3 次阅读, 收获喜欢 939 次。

关注

评论

发布
暂无评论
发现更多内容

亚马逊云科技和 Verizon 利用专有 MEC 解决方案扩大 5G 合作

亚马逊云科技 (Amazon Web Services)

高并发应对策略系列文章阶段汇总,提供离线文档下载

Coder的技术之路

一文读懂大数据实时计算

五分钟学大数据

实时计算 7月日更

Flink Runtime架构

布兰特

flink

经过一年的不懈努力社招进了阿里,我总结了50个Java面试必考题

Java 程序员 架构 面试

绍兴服装设计培训到兴德教育!

Geek_196d9f

架构实战营-模块八-作业

大可

面试官:你能讲讲栈和队列吗?我:你礼貌吗?

Ayue、

数据结构

从零开始学习3D可视化之摄像机投影方式

ThingJS数字孪生引擎

大前端 可视化 3D 数字孪生

点通生活系统软件开发搭建

hdfs 的集群间拷贝、归档、回收站等功能剖析

大数据技术指南

hdfs 7月日更

智慧海洋三维可视化,科技运维助工业物联网一臂之力

一只数据鲸鱼

数据可视化 3D可视化 智慧工业 海上作业

趣口袋拼团系统APP开发案例

TY短视频系统APP开发介绍

架构实战营模块8作业

eoeoeo

架构实战营

闭关三月!啃透美团保姆级分布式进阶技术手册,终入美团定L8

Java 面试

发布60分钟!霸榜Github的阿里面试参考指南,啃透涨薪10k

Java架构师迁哥

我用Vanilla JS重写了一遍项目,结果……

Faye

大前端 js 原生

万字图文丨最全的Java继承解读

华为云开发者联盟

Java 开发 代码 继承

【kafka实战】分区重分配可能出现的问题和排查问题思路(生产环境实战,干货!!!非常干!!!建议收藏)

石臻臻的杂货铺

Kafk Kafka实战

全美第四大无线运营商 DISH 和亚马逊云科技开展战略合作

亚马逊云科技 (Amazon Web Services)

喜马拉雅亿级用户量的离线消息推送系统架构设计实践

JackJiang

消息推送 即时通讯 IM push

你见过最具有代表性的面试是什么样的?大三4面上岸腾讯(Java岗)

Java架构师迁哥

搭建 JumpServer 堡垒机管理数万台游戏服务器

学神来啦

云计算 Linux linux运维 运维工程师 运维平台

云计算对比IDC的优势简单说明-行云管家

行云管家

云计算 服务器

互帮侠系统软件开发公司

新思科技凭借Coverity Scan帮助NGINX确保代码质量和安全

InfoQ_434670063458

新思科技 软件安全 Coverity 静态代码分析

阿里新出炉爆款的顶配版Spring Security笔记,肝完变秃也变强

Java spring 编程 架构

所有前端都要看的2D游戏化互动入门基础知识

蚂蚁集团移动开发平台 mPaaS

大前端

CodeDay 北京站报名倒计时

蚂蚁集团移动开发平台 mPaaS

移动开发

CryptoPlace挖矿APP系统开发简介

只有高中数学基础,要如何掌握数据科学的数学?_AI&大模型_Ajit Jaokar_InfoQ精选文章