
《神经⽹络与深度学习》-邱锡鹏(更新)
第⼀章绪论
1.1 ⼈⼯智能
1.⼈⼯智能是什么?
⼈⼯智能是计算机科学的⼀个分⽀,于1956年在达特茅斯会议上被提出,主要研究、开发⽤于模拟、延伸和扩展⼈类智能的理论、⽅法、技术及应⽤系统等。简单来说,⼈⼯智能研究⼈类智能,并尝试⽤⼈⼯⽅法复现⼈类智能。
⼈⼯智能就是要让机器的⾏为看起来就像是⼈所表现出的智能⾏为⼀样。
——John McCarthy(1927-2011)
⼀个⼈在不接触对⽅的情况下,通过⼀种特殊的⽅式,和对⽅进⾏⼀系列的问答。如果在相当长时间内,他⽆法根据这些问题判断对⽅是⼈还是计算机,那么就可以认为这个计算机是智能的。
——图灵测试
2.⼈⼯智能的研究领域
1.感知:模拟⼈的感知能⼒,语⾳信息处理、计算机视觉
2.学习:模拟⼈的学习能⼒,监督学习、⽆监督学习、强化学习等。
3.认知:模拟⼈的认知能⼒,知识表⽰、⾃然语⾔处理、推理、规划、决策。
3.⼈⼯智能的发展史
1.推理期(1956-60年代末):基于逻辑和事实规则,出现了⼏何定理证明器、语⾔翻译器等。
2.知识期(70年代初-80年代中期):意识到知识对于⼈⼯智能系统的重要性,构建专家知识库,出现专家系统
3.学习期(90年代⾄今):让计算机⾃动从数据中分析并获取规律,然后进⾏预测,出现机器学习(machine learning),伴随着计算机运算能⼒的提⾼,神经⽹络重新兴起,并促进了深度学习的发展
4.⼈⼯智能的流派
1.符号主义:⽤符号抽象世界中的事物,⽤逻辑抽象世界中的规则。
2.连接主义:模拟⼈类⼤脑神经⽹络
3.⾏为主义:控制论,模拟⼈的⾏为模式:感知-动作
1.2 机器学习
1.机器学习是什么?
机器学习是⼈⼯智能的⼀个分⽀,致⼒于从有限的观测数据中学习出⼀般性的规律,并在未来进⾏预测。
2.机器学习的步骤
浅层学习不涉及特征学习,机器学习的特征主要通过⼈⼯⽅法或者特征转换来抽取。特征处理是机器学习中的重点⼯作,对模型输⼊的特征的优劣直接影响模型的性能,因此很多机器学习问题演变成了特征⼯程(特征⼯程需要⼈类智能)。
1.数据预处理:去除噪声
2.特征提取:从原始数据中提取有效特征
3.特征转换:对特征升维和降维,降维的⽅式主要有特征抽取(Feature Extration)和特征选择(Feature Selection)。特征选择和特征抽取有着些许的相似点,这两者达到的效果是⼀样的,就是试图去减少特征数据集中的属性(或者称为特征)的数⽬;但是两者所采⽤的⽅式⽅法却不同:特征抽取的⽅法主要是通过属性间的关系,如组合不同的属性得新的属性,这样就改变了原来的特征空间;⽽特征选择的⽅法是从原始特征数据集中选择出⼦集,是⼀种包含的关系,没有更改原始的特征空间。特征抽取的⽅法主要包括主成分分析(PCA)和线性判别分析(LDA),特征选择的⽅法有Filter⽅法、Wrapper⽅法、Embedded⽅法。
4.预测:学习⼀个函数(分类、回归)
1.3 表⽰学习
1.表⽰学习是什么?
表⽰学习是机器学习过程中针对数据特征的⼀种技术⼿段。为了提⾼机器学习的准确率,就需要获取数据更有效地特征,如果使⽤⼈⼯进⾏抽取,⼯作量太⼤。如果有⼀种算法能够⾃动的学习出有效的特征,
并最终提⾼机器学习模型的性能,这种学习就被称作表⽰学习。
2.表⽰学习的关键是什么?
表⽰学习的关键是解决语义鸿沟,在某种程度上反应数据的⾼层语义信息。语义鸿沟是指底层特征(原始数据特征)和⾼层语义信息差别⼤。⽐如两个汽车的图⽚像素数据差别很⼤⽽在语义信息上却是相似的。
3.什么是⼀个好的表⽰?
1)应该具有很强的表⽰能⼒,相同长度的向量表⽰更多的信息
2)使后续的学习任务变得简单,即表⽰出更⾼层的语义信息
3)具有⼀般性,能够迁移到其他的任务上
4.表⽰学习的两种⽅法
1)局部表⽰
以表⽰颜⾊为例,对⼈类来说,有多少种不同的颜⾊就可以有多少种不同的符号来表⽰,⽐如天蓝⾊、海
蓝⾊、咖啡⾊、⼟黄⾊...但是计算机识别不了符号,因此就⽤向量来表⽰,⽐如⽬前已知的颜⾊有1000种,则计算机就⽤⼀个1000维的向量来表⽰颜⾊,向量的每⼀个分量都代表不同的颜⾊,对于每⼀个颜⾊,其对应的向量中只有⼀个分量为1,其余均为0。⼀旦出现⼀种新的颜⾊,向量的维度就要加1。
局部表⽰在特征空间中的体现:所有的数据对象都是不同坐标轴上的点。
2)分布式表⽰
分布式表⽰选择数据对象共有的特征组成特征向量,并根据数据对象是否具有某个特征来判断该对象的类型。⽐如颜⾊共有的特征是RGB,因此分布式表⽰⽅法表⽰颜⾊仅需要⼀个3维向量即可表⽰出所有的颜⾊。
分布式表⽰在特征空间中的体现:低维空间中分散的点
局部表⽰分布式表⽰
[1 0 0 0][0.25 0.5]
[0 1 0 0][0.2 0.9]
[0 0 1 0][0.8 0.2]
[0 0 0 1][0.9 0.1]
局部表⽰可解释性强,但是维度太⾼并且⽆法计算数据对象之间的相似度。局部表⽰可以通过神经⽹络转化为分布
5.表⽰学习和传统的特征转换的区别
传统的特征转换,如PCA、LDA等⽅法⼀般是使⽤⼈为设计的规则,并且特征学习和最终的模型的学习是分开的,因此学习到的特征并不⼀定能提升模型的性能。
1.4 深度学习
1.深度学习是什么
深度学习是表⽰学习的学习过程加上预测过程。深度指的是学习特征要分为多步,如先学习底层特征,再学习中层特征、再学习⾼层特征。学习指的是表⽰学习的过程。
2.深度学习和⼈⼯神经⽹络的关系
⼈⼯神经⽹络是深度学习的⼯具,⽤于解决深度学习中贡献度分配的问题(选择更有效地特征)。具体⽅法有梯度下降+反向传播算法。
3.端到端的学习和传统的机器学习、
传统的机器学习往往将任务分解为多个⼦模块,分别独⽴的进⾏优化。各个⼦模块的优化⽬标不能和总体⽬标保持⼀致,因此效果差。⽽端到端的学习不必拆分⼦模块,整个学习过程也⽆须⼈⼯⼲预,只需要将(输⼊-输出)数据对输⼊到神经⽹络中,即可⾃⾏学习。
1.5 ⼈⼯神经⽹络
1.6本书知识体系
第⼆章机器学习概述
2.1 机器学习的基本概念
1.特征
选定的待识别⽬标的特征,如预测芒果的甜度时,选取芒果的⼤⼩、产地、品种、颜⾊作为特征。
2.标签
挑选10000个芒果作为训练数据,标注每个芒果的特征值以及测得的甜度,甜度就是每个芒果的标签,但是标签值可以是连续的也可以是不连续的,如预测芒果是好果还是坏果时,标签值就是⼆值的(0或1)。
3.样本(实例)
⼀个芒果就是⼀个样本,样本 = 特征值+标签值 : {},⼀个样本可看作⼆维数组
7.样本的独⽴同分布
机器学习就是要从已知的历史数据中学习到固有的规律,从⽽进⾏预测。但是在⼤数据时代,历史数据太过庞⼤。如果使⽤全部的数据进⾏学习,效率太低。因此就要在原有数据的基础上进⾏采样,⽤更少的数据,即采样数据,代表总体。我们假设采样得到的数据全部都是独⽴同分布的。同分布是指样本数据满⾜⼀个隐含的分布,这个隐含的分布虽然是未知的,但却是真实存在的,即全体历史数据满⾜的分布。独⽴是指,样本之间是相互独⽴的,样本1对样本2不会产⽣影响。满⾜了独⽴同分布以后,便可以⽤样本数据代替总体数据进⾏学习。
5.数据集
所有的样本放在⼀起就是数据集,⼀个数据集可以看成三维数组
6.训练集和测试集
训练集⽤于训练模型,测试集⽤于测试学习到的模型
7.机器学习流程
2.2 机器学习三要素
1.模型
对于⼀个学习任务,我们⾸先要确定其输⼊空间和输出空间,输⼊空间就是特征向量的长度,输出空间
就是标签的取值范围,可以是离散的也可以是连续的。确定了输⼊输出空间以后,我们基本就可以学习输⼊和输出之间的特定联系了,这种联系可以是⼀个映射函数y=g(x)或者是⼀个概率分布 p(y|x) 。假设现在要学习的参数是映射函数y=g(x),我们并不能确定这个函数具体多少,但是我们可以假设它的类型(线性or⾮线性,多项式or三⾓函数),并在学习过程中不断地优化参数,使其能够接近真实的映射函数。例如要预测曼哈顿楼价和位置、楼层、⾯积之间的关系,我们可以假设它们之间的关系是,根据的不同取值可以得到⽆穷多个函数,这些函数同属于⼀个函数族,这个函数族就构成了我们的假设空间,⽽形成这个假设空间的模板函数
就是模型.
常见假设空间分为线性假设空间和⾮线性假设空间,对应的模型分别是线性模型和⾮线性模型。
线性模型:,为向量
⾮线性模型:,为函数向量,如果本⾝为可学习的基函数,即将看作模型,能由其他的基函数⽣成(可套娃),则可看作神经⽹络模型。
2.学习准则
学习准则 = 调整参数的原则,预测函数通过学习准则不断地调整参数,使得整个预测函数不断地向真实函数拟合。
A.损失函数
损失函数⽤于计算预测值和真实值之间的误差,常见的有0-1损失函数、平⽅损失函数、绝对损失函数、对数损失函数。
通过损失函数我们只能知道预测函数f(X)对于单个样本点的预测能⼒(借⽤损失函数L(Y,f(x)),损失函数越⼩,说明模型对于该样本预测越准确),但是⽆法得知预测函数在整个训练集上的表现。这就引⼊了经验风险的概念。
B.经验风险
经验风险就是把训练集中的所有样本的损失函数值加起来再除以样本总数。
但是如果模型按照经验风险进⾏计算的话,训练出的模型只能是在训练集上有较好的表现,再其他数据上的表现可能不好,因此就引出期望风险。
C.期望风险
计算预测函数对所有样本点的损失函数值的期望,但是不现实。P(x,y)是联合概率分布。
D.结构风险