自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

汪星人来地球的博客

数学才是人工智能的正确打开方式

  • 博客(93)
  • 资源 (2)
  • 收藏
  • 关注

原创 多元函数第八:连通性

定义: 设S0S_0S0​是一个拓扑空间。我们说集合S⊂S0S\subset S_0S⊂S0​是非连通的(disconnected),如果存在相对于SSS的开集A和B使得S=A∪BS=A\cup BS=A∪B 且 A∩B=∅A\cap B=\emptysetA∩B=∅。如果SSS不是非连通的,则称SSS是连通的(connected)。如果S0S_0S0​是连通的,我们称S0S_0S0​是连通的拓扑空间。例. 设S0=RS_0=\mathbb{R}S0​=R是实数拓扑空间。那么,集合S=[0,1]∪[2,

2020-07-12 17:02:28 1345

原创 多元函数第七:相对拓扑

一般拓扑学,最重要的作用,是将邻域的概念进行抽象。这样的好处是使得连续函数的性质得以被最大限度地推广。我们在连续函数(1)中已经说明了,如何通过邻域来定义连续函数。因此,对邻域概念的推广,本质上是对连续函数概念的推广。连续函数(1)中的邻域是通过欧式球来定义的,由此得到的拓扑称为是欧式拓扑。由欧式拓扑推广的一个最直接的拓扑,应该是相对拓扑。相对拓扑的概念,可能很多人觉得陌生,但是由它得到的性质,却...

2020-04-06 15:00:37 1166

原创 TensorFlow源码分析(10):TensorFlow的Device类与分布式计算集群

文章(7)介绍的DeviceBase类是TensorFlow设备的基类,它提供了CPU,GPU管理需要的基本数据结构。Device类在DeviceBase的基础上,添加了一些新的数据结构,这些数据结构覆盖了内存,显存管理,线程同步,远程调用等功能。粗略说来,DeviceBase专注于单个设备的管理,而Device类也关注多设备协作。首先看Device类的构造函数,路径为tensorflow/c...

2020-02-22 10:26:07 607

原创 TensorFlow源码分析(9):Proto Buffer生成的C++类

文章(8)中提到,Proto Buffer提供了一个工具,可以为不同编程语言,自动生成支持Proto Buffer协议的数据类型。本文继续以DeviceAttributes类为例,介绍C++的Proto Buffer类。默认情况下,Proto Buffer生成的C++类都定义在.pb.h文件中。TensorFlow也沿用了这一规则。DeviceAttributes类定义在core/framew...

2020-02-06 12:23:49 573

原创 TensorFlow源码分析(8):Proto Buffer简介

TensorFlow除了大量使用Eigen和CUDA等计算库函数之外,还大量使用了Proto Buffer。Proto Buffer是一个数据传输协议,它可以将C++,Python和Java创建的对象序列化为二进制文件。这样,我们可以很轻松地实现在不同的设备上运行的用不同编程语言实现的不同进程之间,实现数据传送。但是,并非所有的对象,都可以用Proto Buffer传输。要使用Proto Bu...

2020-01-26 11:53:58 502

原创 TensorFlow源码分析(7):TensorFlow的DeviceBase类

在文章(5)中说过,TensorFlow在定义设备的时候,不是把它们分成CPU、GPU、TPU设备等类别,而是分成本地设备和远程设备这两个类别。这样的分类方式,也有其方便之处。因为有许多的运算,需要CPU和GPU协同工作。如果强硬地把它们放在两个类中,会带来许多麻烦。而分成本地设备和远程设备,实现逻辑就非常清晰明了。本地设备只需调用底层的库函数(如Eigen, CUDA,SYCL, OpenCL等...

2020-01-23 13:33:34 504

原创 TensorFlow源码分析(6):Eigen的Simple Thread Pool实现原理

前文讲过,TensorFlow的多线程机制是基于Eigen库。因此,在继续研究TensorFlow代码之前,有必要研究一下Eigen库的多线程实现。相关的代码参见https://github.com/libigl/eigen/tree/master/unsupported/Eigen/CXX11/src/ThreadPool。在Eigen库中,实现了两种线程管理方式,即NonBloc...

2020-01-07 08:21:30 2197

原创 TensorFlow源码分析(5):TensorFlow的设备类型

文章(4)简要介绍了OpContextConstruction对象的成员变量。从本文开始,对这些成员变量进行详细分析。首先需要分析的是设备类型和设备这两个对象。TensorFlow关于设备类型的定义非常简单。它定义在tensorflow/core/framework/types.h中。class DeviceType { public: DeviceType(const char*...

2019-12-24 17:13:23 372

原创 TensorFlow源码分析(4):OpKernelContruction类的构造函数

在文章(2)中,介绍了ConstantOp类的构造函数。构造函数中唯一的一个参数是OpKernelConstruction类型的对象。这个对象包含了操作类需要的所有输入,参数以及运行环境。它定义在tensorflow/core/framework/op_kernel.h文件中。OpKernelConstruction类的成员函数比较多,无法在一篇文章中一一列举。本文先从它的构造函数入手,分析它的成...

2019-12-17 11:57:40 588

原创 TensorFlow源码分析(3):ConstantOp 类的Compute函数

在文章(2)中分析了ConstantOp类的构造函数。本文介绍Compute函数。ConstantOp类的Compute函数,可以说是非常简单,因为构造函数已经几乎将所有的工作都完成了。Compute函数的定义在tensorflow/core/kernels/constant_op.cc文件中。void ConstantOp::Compute(OpKernelContext* ctx) {...

2019-12-07 17:09:36 447

原创 TensorFlow源码分析(2):ConstantOp类的构造函数

在文章(1)中,我们说到TensorFlow的操作类中,最重要的两个函数是构造函数和Compute函数。这篇文章,先介绍ConstantOp类的构造函数。它定义在tensorflow/core/kernels/constant_op.cc文件中。ConstantOp::ConstantOp(OpKernelConstruction* ctx) : OpKernel(ctx, Stri...

2019-12-03 21:53:11 548

原创 TensorFlow源码分析(1):ConstantOp 创建常量Tensor

由于项目的原因,最近在学习TensorFlow的源码。刚面对TensorFlow源码时,遇到各种基本概念,千头万绪,无处着手。于是思虑许久,觉得应该先自底向上,从具体的操作开始,理清基本的概念和数据结构。有了一定的积累之后,再自顶向下,提纲挈领,通其概要。这样或许才是最高效的学习方法。循着这样的思路,我选择了TensorFlow中最简单的一个操作,即ConstantOp作为切入点。顾名思义,C...

2019-11-27 22:56:50 417

原创 多元函数第六:连续函数(6)Bolzano-Weierstrass 波尔查诺-维尔斯特拉斯定理 聚点与列紧集

记得我上研究生时,老师给我科普的第一个数学概念就是聚点,从此踏上了数学的不规律。所以,重温这部分知识,还是难掩激动。与聚点相对应的概念,是孤立点。首先给出这两个概念的严格定义。定义 给定Rn\mathbb{R}^nRn上的点集AAA,我们说x∈Rnx\in\mathbb{R}^nx∈Rn是AAA的一个孤立点,如果存在xxx的邻域UUU满足U∩A={x}U\cap A=\{x\}U∩A={x}。...

2019-11-03 17:27:05 4037

原创 多元函数第六:连续函数(5)康托尔(Cantor)闭集套定理

熟悉缠中说禅的股民,对闭区间套定理一定不会陌生。闭区间套定理是实数集上序列收敛的基本定理,它的发现者是天才数学家康托尔(Cantor)。康托尔是现代公理化集合论的奠基者。与许多的天才理论一样,他的集合理论在提出之初,饱受学术界诟病。因为他构造集合的很多方法,需要执行无限步,这很难被保守派的学者们接受。其实,世上从来不缺乏天才科学家的科学理论,可是科学的进展之所以曲折而缓慢,因为有太多太多像高斯这样...

2019-09-04 18:49:36 10002 1

原创 Holder不等式 Minkowski不等式

著名柯西-施瓦茨不等式是证明二范数三角不等式的重要工具。Holder不等式是柯西不等式的推广,它是证明ppp范数三角不等式的重要工具。定义 Rn\mathbb{R}^nRn空间上的ppp范数∣⋅∣p|\cdot|_p∣⋅∣p​定义为∣x∣p=(∑i=1n∣xi∣p)1/p。|x|_p=(\sum_{i=1}^n |x_i|^p)^{1/p}。∣x∣p​=(i=1∑n​∣xi​∣p)1/p。这...

2019-09-04 18:29:41 18275

原创 多元函数第六:连续函数(4)柯西收敛定理

文章写到这有点跑题。标题是连续函数,其实都在讲序列的连续性。可是,既然都写成这样子,也懒得管它了,干脆将错就错,继续在羊头下卖狗肉。柯西收敛定理,是非常重要的定理。在泛函分析中,我们把这个定理当做是完备空间的公理来使用。一个满足柯西收敛定理的度量空间,我们称作是完备空间。而完备空间,是我们在泛函分析中研究函数连续性的基础。首先定义柯西序列。定义 我们说序列{xm}⊂Rn\{x_m\}\sub...

2019-08-31 17:46:39 4875

原创 多元函数第六:连续函数(3)单调有界收敛定理

连续函数的分量连续性质,让我得以将数学分析研究的一元函数的性质,推广到多元函数。因此,我们有必要回顾一下一元函数的一些性质。一般地,我们有两种定义连续函数的性质。一种是利用ϵ\epsilonϵ-δ\deltaδ语言定义,一种是利用序列极限定义。在一元函数中,这两种定义是等价的。同时,利用分量连续的性质,不难证明这两种定义在多元函数中也是等价的。因此,研究函数的连续性,一个躲不开的问题,是序列的极限...

2019-08-29 22:53:26 3857

原创 多元函数第六:连续函数(2)分量连续

一般的多元函数,是从Rr\mathbb{R}^rRr到Rn\mathbb{R}^nRn的函数。要研究函数fff的连续性,需要研究Rn\mathbb{R}^nRn空间的极限。特别地,当n=1n=1n=1时,函数fff是一个向量值函数,也即fff将一个向量映射成一个实数值。向量值函数,是多元函数中非常基本的函数。因为向量值函数的很多性质,可以从数学分析研究的一元函数推导而来。例如,假设fff是从Rr\...

2019-05-19 15:16:00 2059

原创 多元函数第六:连续函数(1)极限与连续

有了前面的基础,终于可以进入正题,研究多元函数本身了。分析学研究的基础是极限,而与极限密切相关的一个概念是连续。数学分析中的连续,是通过邻域定义的。在实数集R\mathbb{R}R,点xxx的邻域是包含xxx的一个开区间。将其扩展为Rn\mathbb{R}^nRn,点xxx的邻域是包含xxx的开集。开集的形状是千奇百怪的,为了简化,在欧式空间中,我们说xxx的邻域是以xxx为球心的开球。如果对拓扑...

2019-04-26 12:30:01 1752

原创 多元函数第五:拓扑初步(4)闭包

在拓扑初步2中,我们总结了开集闭集与边界的关系。开集是不包含任何边界点的集合,这由定义可以得到。而闭集是开集的补集,因此它必然包含所有边界点。 同时,我们也可以很直接地推得,任何包含所有边界点的集合都是闭集。这样,我们就得到了一种构造闭集的重要手段——闭包。定义 记集合SSS的闭包为cl(S)=S∪Bd(S)cl(S)=S\cup Bd(S)cl(S)=S∪Bd(S).命题 任何集合SSS是闭...

2019-04-07 11:31:19 4475

原创 强化学习第二:epsilon贪心算法

接着考虑前文的10臂老虎机问题。假设我们可以与老虎机交互TTT次,显然我们每次采取的行动(action)不必一成不变。记我们在ttt时刻采取行动为ata_tat​,获得的回报为R(at)R(a_t)R(at​)。那么,我们的目标是max⁡a1,a2,...,aT∑t=1TE[R(at)].\max_{a_1,a_2,...,a_T} \sum_{t=1}^T E[R(a_t)].a1​,a2...

2019-03-30 10:06:45 14744 3

原创 多元函数第五:拓扑初步(3)内部,边界与外部运算

任何集合SSS都可以定义内部int(S)int(S)int(S),边界Bd(S)Bd(S)Bd(S)和外部ext(S)ext(S)ext(S)这三个集合。而对于集合T=int(S)T=int(S)T=int(S)来说,它也有它的内部int(T)=int(int(S))int(T)=int(int(S))int(T)=int(int(S)),边界Bd(T)=Bd(int(S))Bd(T)=Bd(in...

2019-03-29 21:33:05 1973

原创 多元函数第五:拓扑初步(2)开闭集的并和交

在拓扑初步(1)中,我们给出了开集和闭集的严格定义。这些定义的基础,是开球的概念。由开球,引出了内点,外点和边界点的概念。而内点,外点和边界点的集合,分别叫做内部,外部和边界。开集和闭集的概念,与边界紧密相关。如果一个集合不包含任何边界点,那么这个集合被称作开集。那么,我们可以很容易猜想,闭集就是包含所有边界点的集合。而还有许多的,介于两者之间的,包含部分边界点的集合,就既不是开集也不是闭集了。那...

2019-03-07 12:16:36 4167

原创 多元函数第五:拓扑初步(1):开集,闭集,内部,边界,外部

计算机专业的人,知道拓扑学的,寥寥无几。在我看来,拓扑学是用代数的方法研究分析学的一门学科。类似的学科,其实还有很多,例如测度论,泛函等等。它们的共同特点是把分析学中最基本的概念进行抽象,从而得到一般的,普适性的结论。本文首先介绍n维实数空间的拓扑性质,后面再推而广之,介绍一般的拓扑空间的性质。拓扑学中,最基本的两个概念是开集和闭集。开和闭这两个词,即使是没有拓扑学基础的同学,也不会感到陌生。我...

2019-02-20 12:31:54 12190 1

原创 强化学习第一:基本概念

强化学习研究的问题,是代理(agent)与环境(environment)交互的问题。什么是代理,什么是环境,并没有严格的定义。计算机科学是一门经验主义学科。它不像数学那样有板有眼,很多概念都是从实际应用出发,因此有模棱两可的地方。一般来说,我们把不由我们控制部分叫做环境;把我们可以完全控制对部分,同时能够影响环境的部分叫做代理。例如,考虑一个10臂老虎机问题。当我们按动一条老虎机臂时,它会给我们...

2019-02-19 12:01:40 349

原创 多元函数第四:欧式几何(2)直线,超平面,半空间,球体,球面

欧式几何中一个最基本的公理是两点确定一条直线。我们都知道,这条公理对于2维和3维空间成立。n维空间中的直线,也可以用两点x1x_1x1​和x2x_2x2​完全确定。一般地,过x1x_1x1​和x2x_2x2​的直线是由集合{x=tx1+(1−t)x2:t∈R}\{x=tx_1+(1-t)x_2: t\in\mathbb{R}\}{x=tx1​+(1−t)x2​:t∈R}中的点构成。特别地,...

2019-02-10 12:48:56 1753

原创 多元函数第四:欧式几何(1)柯西不等式(Cauchy不等式),三角不等式

柯西不等式是欧式几何中最基本,也是最重要的不等式。它的重要之处,不仅在于该结论本身应用之广泛;也在于它的证明思想对于其他定理的证明,有极大的借鉴意义。例如,在以后介绍的凸集的支撑超平面定理中,就会用到柯西不等式的证明思想。柯西(Cauchy)不等式:对于n维空间上的任意两个向量xxx和yyy都有∣xTy∣≤∣x∣∣y∣|x^Ty|\leq |x||y|∣xTy∣≤∣x∣∣y∣其中xTy=∑...

2019-02-07 12:35:25 10650 1

原创 多元函数第三:线性变换(4)旋转

上一篇博文介绍了一般的等距变换。本文介绍一个特殊的等距变换,即旋转变换。这里介绍旋转,指的是二维平面上的旋转。对于n维平面,结论完全类似,只是多了几个自由度而已。在二维平面上,对一个向量a进行旋转变换,是指将它逆时针旋转一个角度,从而得到一个新的向量a'。见图1。图1 为了证明旋转变换是线性变换,我们需要验证如下命题。命题1.  设是二维平面上的一个旋转变换。对任意的都有a...

2019-02-03 13:33:21 7849

原创 多元函数第三:线性变换(3)等距变换与酉矩阵

上一篇博文,介绍了线性变换矩阵与线性变换的简单关系,本文介绍一个非常特殊的线性变换矩阵,即酉矩阵。我们说一个矩阵U是酉阵,如果它是方阵,且. 显然,一个矩阵是酉阵,当且仅当它的转置是酉阵。另外,酉阵最重要的特点是,它的列(或者行)向量组成一组标准正交基。本文将介绍酉矩阵对应的线性变换,也即等距变换。本文所涉及的所有线性变换,都是.定义. 我们说线性变换L等距,当且仅当|L(x)-L(y)|...

2018-11-11 22:24:31 1915

原创 多元函数第三:线性变换(2)线性变换矩阵

在上一篇博文中,我们介绍了线性变换的一个最基本的性质,即任何一个线性变换L,都存在唯一的矩阵M,满足L(x)=Mx。由此,建立了线性变换与矩阵的紧密联系。这样,我们也理解了,为什么在线性代数这门学科里,我们需要花费那么多的篇幅去研究矩阵。其实,研究矩阵的性质,就是在研究线性变换的性质。本文将列举一些事例,来说明这一点。为了简化起见,我们假设后文中的所有线性变换都是,这样线性变换矩阵是一个的方阵...

2018-10-02 10:51:29 2301

原创 多元函数第三:线性变换(1)Rn上的线性变换

线性变换是最基本的多元函数。因此要学习多元函数,首先需要对线性变换做一个彻底的了解。本文依然从代数学的角度去阐述线性变换的性质。自从泛函分析这门学科提出以来,代数学与分析学的联系越来越紧密。因此,多学习一些代数学的知识,很有必要。代数学其实并不难学,任何的代数学系统,都不是凭空捏造的。它只是我们熟知的数学运算的一个概括总结而已。例如,对我们的实数运算法则进行抽象,便有了域的概念。对我们n维实数空间...

2018-08-22 12:33:45 2790

原创 多元函数第二:线性空间(4)基的构造

在前面的博文中,我们知道,一组基可以生成一个空间,我们称这样的空间为这组基的生成空间。于是,我们很自然地会疑问,对于给定的一个空间,我们如何去构造出它的基?对于一般的空间,要构造它的基不是那么简单的事情。因为当空间的维数无限时,许多性质与有限维空间不一样了。因此,我们这里考虑的空间,都是n维实数向量空间上的子空间V。这样,由于子空间的维数不能超过父空间的维数,故而V的维数最多为n。当然,这么我...

2018-08-15 12:33:06 2682

原创 多元函数第二:线性空间(3)线性独立与交换定理

交换定理是线性代数中我最喜欢的定理之一。因为我看了四五遍,才把定理的证明弄明白。所以,如果这篇文章第一遍没有看懂。不用灰心,那不能说明你智商有问题。如果你一遍就看懂了,那也别骄傲,那是我写得好的缘故。 在介绍交换定理之前,首先需要介绍线性独立的概念。这是线性代数最基本的概念。但是,很多国内的线性代数书籍,都只是在实数域和n维实数向量空间上定义线性独立,没有上升到代数学的高度。因此这里还是有...

2018-08-09 12:39:23 2471

原创 多元函数第二:线性空间(2)子空间与生成空间

线性空间(1)为线性空间给出了公理化的定义,关于线性空间的所有性质,都是由这个公理化的定义推导而得的。本文首先介绍线性空间的几个基本性质,并根据这些性质引出子空间和生成空间的概念。引理1. 对线性空间V中的任意向量v都有,这里0是域F上的加法幺元,0是V上的加法幺元(记住V是一个阿贝尔加法群)。证明. 由线性空间的定义,(1) 上式中第一个等号后面的+是域F上的加法,第二个等号后面...

2018-08-05 16:12:54 5766

原创 多元函数第二:线性空间(1)定义

线性空间是属于线性代数研究的对象。之所以也放在多元函数专题中,是为了主题的连续性。否则一会多元函数,一会线性代数,太乱了。更何况,数学的各个分支学科本就是相互渗透,融合。将各个学科刻意地孤立,除了让人更加困惑,别无他用。我在学习数学时,常常遇到看不下去的情况。之所以看不下去,是因为预备知识掌握得不充分。再深究下去,就是没有完整的数学知识体系。例如,如果我们对多元函数和线性代数没有充分的认识,直接去...

2018-08-04 20:57:42 1233

原创 多元函数第一:实数系统(4)三大公理的再讨论

实数系统的三大公理,远比我们想象的要强大得多。可以证明,任何满足三大公理的代数系统,都与实数系统同构。所谓同构,用老子的话说,是同出而异名。看似不一样的东西,只是叫法不同,实际上是一回事。用数学语言描述如下。 定义. 两个包含加法运算和乘法运算的代数系统S和T同构,如果它们存在一个一一映射满足:,也即f将S中的加法幺元映射为T中的加法幺元。 ,也即f将S中的乘法幺元映射为T中的乘法幺...

2018-08-02 12:30:27 615

原创 多元函数第一:实数系统(3)阿基米德性质(Archimedean property)

阿基米德性质(Archimedean property)是实数系统很重要的性质。可以证明它与确界原理等价。换句话说,在三大公理的公理1和公理2成立的条件下,由阿基米德性质,可以推导出确界原理。这个结论的证明,留待日后解决。本文将介绍由确界原理到阿基米德性质的推导过程,并由此导出有理数集在实数集上的稠密性,以及确界的唯一性。定理. (阿基米德性质)任意的实数a>0和都存在正整数n使得。...

2018-07-28 18:06:20 11426 1

原创 多元函数第一:实数系统(2) 确界原理

在实数的三大公理中,确界原理是分析学的基础。确界原理说,任何有上界的集合都有上确界。由此,我们可以推导出,任何有下界的集合都有下确界。本文将证明这个结论。在证明的过程中,我们发现,很多结论都是显而易见的。但是,这些显而易见的结论都需要证明。因为整个分析学的理论是建立在三条公理的基础上。任何没有被公理声明的结论,都需要证明。这就是一个理论体系公理化的过程。首先,引入几条“显而易见”的引理。...

2018-07-28 16:47:24 4493

原创 多元函数第一:实数系统(1) 实数域的三大公理

数学的各个学科,要保证其理论的完备性,需要建立在基本公理的基础之上。一个理论,如果不进行公理化,很容易出问题。典型的问题,有集合论中的理发师悖论;以及古典概率论中,针对无限样本集表现出的悖论。 分析学,作为一个完备的学科,其公理化的过程必不可少。而其中,最基本的步骤,就是对实数集以及实数的运算,给予确切的公理化定义。这里的定义,包括代数和顺序定义。 公理1. 实数的代数定义.(...

2018-07-22 07:59:27 2995

原创 单点神经网络(1):Perceptron模型定义

上一篇博文介绍了离线学习与在线学习的区别。在实际应用中,离线学习常用于回归问题,而在线学习常用于分类问题。之所以有这样的现象,是因为回归问题本身必须对实例的概率分布有一个前提假设,否则也就没有所谓的均方误差。而在分类问题中,虽然我们也假设训练样本中的实例是独立同分布获得的。但是,根据PAC学习保证,我们并不需要确切知道实例的概率分布是什么。神经网络就是典型的在线学习分类方法。最简单,也是最原始的神经

2017-10-02 22:15:26 729 2

material design lite(MDL)web 开发 js 和css酷

Material design lite开发需要用到的基本css和js库

2016-10-19

material design lite (mdl) 库文件

material design lite (mdl) 库文件

2016-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除