从根源上讲,深度学习是机器学习的一个分支,是指一类问题以及解决这类问题的方法。
深度学习采用的模型一般比较复杂,指样本的原始输入到输出目标之间的数据流经过多个线性或非线性的组件.因为每个组件都会对信息进行加工,并进而影响后续的组件,所以当我们最后得到输出结果时,我们并不清楚其中每个组件的贡献是多少.这个问题叫作贡献度分配问题。
在深度学习中,贡献度分配问题是一个很关键的问题,这关系到如何学习每个组件中的参数。
目前,一种可以比较好解决贡献度分配问题的模型是人工神经网络( Artifi-Neural Network , ANN ).简称神经网络。
神经网络和深度学习并不等价。深度学习可以采用神经网络模型,也可以采用其他模型(比如深度信念网络是一种概率图模型)。但是,由于神经网络模型可以比较容易地解决贡献度分配问题,因此神经网络模型成为深度学习中主要采用的模型。
图灵测试: “一个人在不接触对方的情况下,通过一种特殊的方式和对方进行一系列的问答.如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算
机是智能的”。
目前,人工智能的主要领域大体上可以分为以下几个方面:
机器学习( Machine Learning , ML )是指从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并利用这些规律对未知数据进行预测的方法。
机器学习是人工智能的一个重要分支,并逐渐成为推动人工智能发展的关键因素。
开发一个机器学习系统的主要工作量都消耗在了预处理、特征提取以及特征转换上。
为了提高机器学习系统的准确率,我们就需要将输入信息转换为有效的特征,或者更一般性地称为表示( Representation ).如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习( Representation Learning ).
在表示学习中,有两个核心问题:一是“什么是一个好的表示”;二是“如何学习到好的表示”.
表示学习的关键是构建具有一定深度的多层次特征表示。
目前,深度学习采用的模型主要是神经网络模型,其主要原因是神经网络模型可以使用误差反向传播算法,从而可以比较好地解决贡献度分配问题.只要是超过一层的神经网络都会存在贡献度分配问题,因此可以将超过一层的神经网络都看作深度学习模型。
比较有代表性的框架包括: Theano 、 Caffe 、 TensorFlow 、Pytorch 、飞桨( PaddlePaddle )、 Chainer 和 MXNet 等。
端到端学习( End-to-End Learning ),也称端到端训练,是指在学习过程中不进行分模块或分阶段训练,直接优化任务的总体目标.在端到端学习中,一般不需要明确地给出不同模块或阶段的功能,中间过程不需要人为干预.端到端学习的训练数据为“输入 - 输出”对的形式,无须提供其他额外信息.因此,端到端学习和深度学习一样,都是要解决贡献度分配问题.目前,大部分采用神经网络模型的深度学习也可以看作一种端到端的学习.
人工神经网络是为模拟人脑神经网络而设计的一种计算模型。
通俗地讲,机器学习( Machine Learning , ML )就是让计算机从数据中进行自动学习,得到某种知识(或规律).
一组样本构成的集合称为数据集( Data Set ).在很多领域,数据集也经常称为语料库( Corpus ).一般将数据集分为两部分:训练集和测试集.训练集( Training Set )中的样本是用来训练模型的,也叫训练样本( Training Sample ),而测试集( Test Set )中的样本是用来检验模型好坏的,也叫测试样本( Test Sample )。
机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化算法.
机器学习的目标是找到一个模型来近似真实映射函数或真实条件概率分布。
由于我们不知道真实的映射函数或条件概率分布的具体形式,因而根据经验来假设一个函数集合,称为假设空间,然后通过观测其在训练集上的特性,从中选择一个理想的假设。常见的假设空间可以分为线性和非线性两种,对应的模型也分别称为线性模型和非线性模型。
经验风险最小化、结构风险最小化、最大似然估计、最大后验估计等。
损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异.下面介绍几种常用的损失函数:
在确定了训练集、假设空间以及学习准则后,如何找到最优的模型就成了一个最优化问题。机器学习的训练过程其实就是最优化问题的求解过程。
参数与超参数:在机器学习中,优化又可以分为参数优化和超参数优化。
模型(;) 中的 称为模型的参数,可以通过优化算法进行学习.除了可学习的参数 之外,还有一类参数是用来定义模型结构或优化策略的,这类参数叫作超参数。
常见的超参数包括:聚类算法中的类别个数、梯度下降法中的步长、正则化项的系数、神经网络的层数、支持向量机中的核函数等。
批量梯度下降和随机梯度下降之间的区别在于,每次迭代的优化目标是对所有样本的平均损失函数还是对单个样本的损失函数.由于随机梯度下降实现简单,收敛速度也非常快,因此使用非常广泛.随机梯度下降相当于在批量梯度下降的梯度上引入了随机噪声.在非凸优化问题中,随机梯度下降更容易逃离局部最优点。
线性回归(Linear Regression )是机器学习和统计学中最基础和最广泛应用的模型,是一种对自变量和因变量之间关系进行建模的回归分析.自变量数量为 1 时称为简单回归,自变量数量大于1时称为多元回归。
参数学习:
四种不同的参数估计方法:经验风险最小化、结构风险最小化、最大似然估计、最大后验估计。
一般来说,当一个模型在训练集上的错误率比较高时,说明模型的拟合能力不够,偏差比较高.这种情况可以通过增加数据特征、提高模型复杂度、减小正则化系数等操作来改进.当模型在训练集上的错误率比较低,但验证集上的错误率比较高时,说明模型过拟合,方差比较高.这种情况可以通过降低模型复杂度、加大正则化系数、引入先验等方法来缓解.此外,还有一种有效降低方差的方法为集成模型,即通过多个高方差模型的平均来降低方差.
如果机器学习的目标是建模样本的特征 和标签 之间的关系: =(;) 或 (|;),并且训练集中每个样本都有标签,那么这类机器学习称为监督学习.根据标签类型的不同,监督学习又可以分为回归问题、分类问题和结构化学习问题。
指从不包含目标标签的训练样本中自动学习到一些有价值的信息.典型的无监督学习问题有聚类、密度估计、特征学习、降维等.
是一类通过交互来学习的机器学习算法.在强化学习中,智能体根据环境的状态做出一个动作,并得到即时或延时的奖励.智能体在和环境的交互中不断学习并调整策略,以取得最大化的期望总回报.
数据集一般都需要由人工进行标注,成本很高.因此,也出现了很多弱监督学习和半监督学习的方法,希望从大规模的无标注数据中充分挖掘有用的信息,降低对标注样本数量的要求.强化学习和监督学习的不同在于,强化学习不需要显式地以“输入/输出对”的方式给出训练样本,是一种在线的学习机制.
图像特征、文本特征
表示学习 : 一个成功的机器学习系统通常需要尝试大量的特征,称为特征工程。如何让机器自动地学习出有效的特征称为特征学习,也叫表示学习。特征学习在一定程度上也可以减少模型复杂性、缩短训练时间、提高模型泛化能力、避免过拟合等。
表示学习可以看作一个特殊的机器学习任务,即有自己的模型、学习准则和优化方法.
简单地说,特征选择就是保留有用特征,移除冗余或无关的特征.
特征选择的方法:
子集搜索:特征选择的目标是选择一个最优的候选子集.最暴力的做法是测试每个特征子集,看机器学习模型哪个子集上的准确率最高.但是这种方式效率太低.常用的方法是采用贪心的策略:由空集合开始,每一轮添加该轮最优的特征,称为前向搜索;或者从原始特征集合开始,每次删除最无用的特征,称为反向搜索.
子集搜索方法可以分为过滤式方法和包裹式方法.
ℓ1 正则化 :此外,我们还可以通过 ℓ1 正则化来实现特征选择.由于 ℓ1 正则化会导致稀疏特征,因此间接实现了特征选择。
构造一个新的特征空间,并将原始特征投影在新的空间中得到新的表示.
特征选择和特征抽取的优点是可以用较少的特征来表示原始特征中的大部分相关信息,去掉噪声信息,并进而提高计算效率和减小维度灾难.对于很多没有正则化的模型,特征选择和特征抽取非常必要.经过特征选择或特征抽取后,特征的数量一般会减少,因此特征选择和特征抽取 也经常称为维数约减或降维。
对于分类问题,常见的评价标准有准确率、精确率、召回率和F值等。
模型在测试集上的结果可以分为以下四种情况:
(1) 真正例(True Positive,TP):一个样本的真实类别为并且模型正确地预测为类别.
(2) 假负例(False Negative,FN):一个样本的真实类别为,模型错误地预测为其他类.
(3) 假正例(False Positive,FP):一个样本的真实类别为其他类,模型错误地预测为类别.
(4) 真负例(True Negative,TN):一个样本的真实类别为其他类,模型也预测为其他类.对于类别来说,这种情况一般不需要关注.
这四种情况的关系可以用混淆矩阵(Confusion Matrix)来表示:
精确率(Precision),也叫精度或查准率,类别 的查准率是所有预测为类别的样本中预测正确的比例:
召回率(Recall),也叫查全率,类别的查全率是所有真实标签为类别的
样本中预测正确的比例:
F值(F Measure)是一个综合指标,为精确率和召回率的调和平均:
其中 用于平衡精确率和召回率的重要性,一般取值为1. = 1时的F值称为F1值,是精确率和召回率的调和平均.
宏平均和微平均:为了计算分类算法在所有类别上的总体精确率、召回率和 F1值。微平均是每一个样本的性能指标的算术平均值.对于单个样本而言,它的精确率和召回率是相同的(要么都是1,要么都是0).因此精确率的微平均和召回率的微平均是相同的.同理,F1值的微平均指标是相同的.当不同类别的样本数量不均衡时,使用宏平均会比微平均更合理些.宏平均会更关注小类别上的评价指标.在实际应用中,我们也可以通过调整分类模型的阈值来进行更全面的评价, 比如AUC(Area Under Curve)、ROC(Receiver Operating Characteristic)曲 线、PR(Precision-Recall)曲线等.此外,很多任务还有自己专门的评价方式,比 如TopN准确率。
交叉验证 是一种比较好的衡量机器学习模型的统计分析方法,可以有效避免划分训练集和测试集时的随机性对评价结果造成的影响.我们可以把原始数据集平均分为 ( 一般大于3)组不重复的子集,每次选 − 1 组子集作为训练集,剩下的一组子集作为验证集.这样可以进行 次试验并得到 个模型,将这 个模型在各自验证集上的错误率的平均作为分类器的评价.
此希望有一套理论能够分析问题难度、计算模型能力,为学习算法提供理论保证,并指导机器学习模型和学习算法的设计.这就是计算学习理论。
需要降低对学习算法能力的期望,只要求学习算法可以以一定的概率学习到一个近似正确的假设,即PAC 学习(PAC Learning).一个PAC 可学习的算法是指该学习算法能够在多项式时间内从合理数量的训练数据中学习到一个近似正确的().
PAC学习可以分为两部分:
PAC学习理论也可以帮助分析一个机器学习方法在什么条件下可以学习到一个近似正确的分类器.如果希望模型的假设空间越大,泛化错误越小,其需要的样本数量越多。
没有免费午餐定理证明:对于基于迭代的最优化算法,不存在某种算法对所有问题(有限的搜索空间内)都有效.如果一个算法对某些问题有效,那么它一定在另外一些问题上比纯随机搜索算法更差.任何算法都有局限性.必须要“具体问题具体分析”.
没有免费午餐定理对于机器学习算法也同样适用.不存在一种机器学习算法适合于任何领域或任务.
奥卡姆剃刀的思想和机器学习中的正则化思想十分类似:简单的模型泛化能力更好.如果有两个性能相近
的模型,我们应该选择更简单的模型.因此,在机器学习的学习准则上,我们经常会引入参数正则化来限制模型能力,避免过拟合。
丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大。世界上不存在分类的客观标准,一切分类的标准都是主观的。
在机器学习中,很多学习算法经常会对学习的问题做一些假设,这些假设就称为归纳偏置。归纳偏置在贝叶斯学习中也经常称为先验。
线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。在本章,我们主要介绍四种不同线性分类模型:Logistic回归、Softmax回归、感知器和支持向量机,这些模型的区别主要在于使用了不同的损失函数.
一个线性分类模型或线性分类器,是由一个(或多个)线性的判别函数 和非线性的决策函数组成。
类别标签 只有两种取值,通常可以设为 {+1, −1} 或 {0, 1}。
指分类的类别数 大于 2.多分类一般需要多个线性判别函数,但设计这些判别函数有很多种方式
“一对其余”方式和“一对一”方式都存在一个缺陷:特征空间中会存在一些难以确定类别的区域,而“argmax”方式很好地解决了这个问题。
Logistic 回归(Logistic Regression,LR)是一种常用的处理二分类问题的线性模型.
Logistic 回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化.
Softmax 回归(Softmax Regression),也称为多项(Multinomial)或多类的Logistic回归,是Logistic回归在多分类问题上的推广。
Softmax 回归采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化.
是一种广泛使用的线性分类器.感知器可谓是最简单的人工神经网络,只有一个神经元。感知器是对生物神经元的简单数学模拟,有与生物神经元相对应的部件,如权重(突触)、偏置(阈值)及激活函数(细胞体),输出为+1或−1.感知器是一种简单的两类线性分类模型。
感知器的学习算法是一种错误驱动的在线学习算法。采用随机梯度下降。
虽然感知器在线性可分的数据上可以保证收敛,但其存在以下不足:
(1) 在数据集线性可分时,感知器虽然可以找到一个超平面把两类数据分
开,但并不能保证其泛化能力.
(2) 感知器对样本顺序比较敏感.每次迭代的顺序不一致时,找到的分割
超平面也往往不一致.
(3) 如果训练集不是线性可分的,就永远不会收敛.
更至第三章第四节,因理论太多,基础不好停更…待学点其他的再来