经常听到说机器学习就是统计学习,其实,就二者的方法来说可以这样认为,尤其是对于典型的机器学习算法来说,如ANN、SVM、遗传算法等。但是对于关联规则等非典型方法这个说法不成立。不过就机器学习以及在ANN基础上发展起来的深度学习算法,还是很典型的统计学习方法。因此,二者到底是什么关系,怎样关联的还是有必要了解清楚,对于模型的优化有指导作用。
典型机器学习中一个核心部分是构造目标函数,通过对目标函数的优化训练出直接模型(如SVM、logistics回归系数)和间接模型(如RNN神经元的权值)的参数。目标函数的构造其理论基础就是统计决策!
一、机器学习
1. 概念简介
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。机器学习是对能通过经验自动改进的计算机算法的研究,是用数据或以往的经验,以此优化计算机程序的性能标准。
机器学习是人工智能的一个分支。人工智能的研究历史有着一条从以“”为重点,到以“”为重点,再到以“”为重点的自然、清晰的脉络。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测或描述的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论[1]
图 1 按照任务划分机器学习常见类别
按照任务来分,主要有以上六大类。其中,分类和回归具有预测能力,属于预测学习。
2. 机器学习模型
机器学习的一个基本任务是归纳机器学习。学习的一个通用模型如下。
生物系统学习能力,以数据驱动方式学习如何处理环境中未知统计属性,以数据驱动方式通过与环境互动学到相关的模式。
预测学习过程两个主要阶段。1)从已知样本集(输入、输出)中学习或估计系统中未知相关性 。(特殊 ⇨一般),是归纳过程。2) 用估计得出的相关性为系统将来输入址预测新输出(一般⇨ 特殊),是演绎过程。其对应的机器学习模型如下:
形式化表述如下:
3. 学习模型的基本方法
1) 学习途径——目标函数最小化
“目标函数”是一个非常广泛的名称,一般是先确定一个“目标函数”,再去优化它。在不同的算法中“目标函数"可以是:
最大化后验概率MAP(比如朴素贝叶斯);
最大化适应函数(遗传算法);
最大化回报/值函数(增强学习);
最大化信息增益/减小子节点纯度(CART决策树分类器);
最小化平方差错误成本(或损失)函数(CART,决策树回归,线性回归,线性适应神经元);
最大化1og-相似度或者最小化信息熵损失(或者成本)函数;
最小化hinge损失函数(支持向量机SVM)。
目标函数一般是寻找风险最小化的模型,机器学习中风险包括两个部分 :经验风险 + 结构风险 。
2) 学习准则——风险最小化
预期风险基本上是损失函数乘以数据概率分布的总和。如果我们知道映射的联合概率分布,就很容易找到最佳函数。然而,这通常是未知的,因此我们最好的选择是猜测,然后凭经验确定损失函数是否更好。我们称之为经验风险。
统计学并不需要最小化经验风险。选择最小化经验风险的函数的学习算法称为经验风险最小化。
统计深度学习的理论框架可以用范畴语言来描述,范畴为 {流形上的概率分布,流形间的变换}。数据集是流形上的分布,深度神经网络表达流形间的变换。生成模型是随机采样,图像去噪是向流形投影,迁移学习是计算流形间的映射,对抗样本是寻找分布之间的缝隙。
在使用最多的具有预测功能的分类任务中,分类器在经过学习并应用于新数据时会产生风险,因为训练集的结构和用于预测的数据集结构肯定有偏差,偏差大了后,过去的经验(训练出的模型)用于解释当下的问题(预测数据集)肯定要出问题,因此,希望模型的健壮性好一些,哪怕它对训练集的拟合稍微粗糙有一点,但是获得的收益是其泛化能力提升。曲线拟合的风险由经验风险描述,健壮性由结构/置信风险描述。
经验风险由 损失函数 定义,描述了分类器所给出的分类结果的准确程度;
结构风险由分类器参数矩阵的范数定义,描述了分类器自身的复杂程度以及稳定程度。
推理过程如下:
目标函数 = 风险函数最小化
风险函数 = 经验风险 + 结构风险
风险函数 = 成本函数(经验风险 + 结构风险)对参数取均值
到了这一步,就和统计学习关联起来了。
统计学习和统计决策紧密相关,机器学习也就和统计决策紧密联系起来
二、 统计决策
1. 统计的基本内容
以下是对经典统计的整体描述,研究的是一组受到随机性干扰的数据𝒳∈R组成样本空间。R上的 Borel集σ代数ℱ,𝒫为可测空间(𝒳,ℱ)上定义的一个概率分布族(假设的内容),三元组(𝒳, ℱ, 𝒫)为统计结构。然后对其做出统计推断或预测。分布已知,参数有限就是参数估计。分布未知,或分布已知,但是参数无限就是非参数统计。二者在点估计和区间估计种有不同的方法。经典统计的顶层视图和主管内容见 图 3 经典统计顶层视图
主要包括估计(参数估计和非参数估计。二者又都包括点估计和区间估计)、假设检验和抽样分布(三大抽样分布 )这三个方面的内容。后续的各种应用分支,如回归、聚类分析等,都是对三个方面内容的延伸应用,并最后归结到其中。
贝叶斯统计无需抽样分布,只有估计和假设检验,与经典统计在认知方法上有比较大的差别。在估计和假设检验的方法上也有很大不同,后一篇文章专门说明。
2. 统计决策基本内容
是否 ,这是统计决策区别去经典统计的最主要区别。
经典统计着重于推断,而不考虑用在哪里以及效益如何。而统计决策则通过引入损失函数来度量效益好坏,评价统计推断的好坏。
平时人们做决策的时候一般规则是什么样的?从当前状态、风险最小作为决策原则,对决策结果好坏判断进行了一个归纳,总结出三个相互关联的描述结果的损失函数,对损失的期望值来定义风险的风险函数、风险最小化作为决策准则的决策函数。在此基础上在决策问题上进行了详细的研究和分析。
结合统计方法,结构化一个统计决策的规范。
统计决策的基本逻辑可以分为两个部分来理解。首先说明通用决策的一般原则,然后在这个原则下,统计上对应的方法的形式化表达,以及对应的计算策略。在这个过程中,经典统计和贝叶斯统计又有所不同。在此,先说一下通用决策。
在做决策之前,第一步肯定是要确定是哪一个事件,对这个事件如果能知道的状态等信息当然是越多越好,对象的状态有的的已知的,有的是未知的,如果对未知部分能通过抽样等方法来判断其内容,那也很好。第二步是确定采取什么行动,可能采取的行动有多种,选择哪一种,就需要对不同行动造成后果的好坏进行评价了。第三步就是要给出不同行动造成后果的评价方法和计算结果。
根据通用决策的分析,描述这类统计决策问题有三个要素,分别是和。状态集Θ = {θ}表示自然界(社会)所有可能状态的全体,行动集𝒜 = {a}表示决策者可以采用的行动的全体,收益函数Q(θ,a) 表示在自然界(社会)处于状态θ时,决策者采取行动a所获得的收益。很难找到一个非常理想的决策方法,但是很难有一个最优的决策方法。不过人们还是寻找了其他的一些对策,让决策问题有比较好的可以操作的方法。
在统计决策三个基本要素中,最重要的是损失函数 L(θ,a) ,定义在 Θ×𝒜上的二元函数,表示在自然界(社会)处于状态θ时,决策者采取行动a所引起的损失。是从收益函数、亏损函数、支付函数、成本函数等概念引申出的更一般的概念。损失函数要求是非负的。有时计算损失函数,有时就是收益函数,但二者并不完全一样。如一个投资,:投资成功了收入1000元,:投资失败了损失2000。从收益函数和损失函数来看,行动的不同结果其值不一样。
损失函数平均化后就是风险函数。风险一般认为是损失的平均,同时,方差也是评定风险的一个重要指标。因此,在评定风险的时候,一般期望值是第一个需要考虑的,第二个需要考虑的是方差,在具体应用中根据实际情况和风险偏好有所取舍。平均损失,在经典统计中,因为参数是确定的,因此相对容易得到结果。但是贝叶斯观点中,因为参数θ是一个随机变量,就会出现一个决策得到的平均损失中,因为θ的分布,两种不同行为方式中,其平均损失存在相互交叉的情况,这个时候的“最小”就不好判断了。不过在一般的机器学习中,都是从经典统计考虑的,“最小”相对容易判断。
决策的时候,对于当前状态是否需要获取及估计方式又分为三种。第一种是不做推算,只是根据损失函数计算的风险来判断。第二种是在第一种基础上对当前状态要进行一个估计,这样能根据当前状态进行一个更好的决策,方法就是进行抽样,根据抽样结果对总体进行估计得到当前状态的判断。第三种是要把先验知识应用到当前状态判定中,
3. 统计决策三要素
根据通用决策的分析,描述这类统计决策问题有三个要素,分别是和。状态集Θ = {θ}表示自然界(社会)所有可能状态的全体,行动集𝒜 = {a}表示决策者可以采用的行动的全体,收益函数Q(θ,a) 表示在自然界(社会)处于状态θ时,决策者采取行动a所获得的收益。很难找到一个非常理想的决策方法,但是很难有一个最优的决策方法。不过人们还是寻找了其他的一些对策,让决策问题有比较好的可以操作的方法。
4. 损失函数
当处于状态θ,采取行动a时受到的损失用 L(θ,a) 来表示,称 L(θ,a) 为损失函数。其中。θ ∊ Θ , a ∊ 𝒜 . 定义域为 Θ × 𝒜 。
L(θ,a) 的方式是多种的。但是基本可以分为两种类型。其差别主要体现在状态θ比较。
1) 通用决策下损失函数
这是非常常见的一种状态,对于一个具体的决策事件a,在状态θ下,根据实际情况计算其收益或者损失或者效用函数。具体的一个事件计算其收益。事实上损失函数除了上述几种常见情况外,还有许多根据实际情况构建符合事实的函数。在此,考虑满足,下面举一个例子。
例:工厂的产品每100件装成一箱给顾客,在想顾客缴获前有两个行动选择:: 一箱中每件逐一检查,保证了都是合格品; : 一箱中一件都不检查,有一定概率出现次品。一箱中产品的次品率为θ。
检测费用为0.8元/件,如顾客发现有不合格品,则需要支付 12.5元/件,于是企业的支付/损失函数:
2)关于θ残差分析
这是关于用某个函数来拟合数据结构好坏的判断方法,是一个大类,也是机器学习中损失函数的构造方法。一般表现为对θ和之间残差的比较。
常用损失函数有以下几类。
到底使用哪一种损失函数,在不同的算法中都有了评价“损失”的最优化的对象,如最大化后验概率MAP(比如朴素贝叶斯);最大化适应函数(遗传算法)等。
5. 风险函数
做决策时包含不确定性,因此,损失L(θ,a)也包含这种不确定性。自然的方法就是通过“平均”来把这个不确定量化。然后选择一个期望损失最小的方案来作为决策的依据。
风险函数是损失的期望值,但是在实际工作中,方差也是判断风险的方法。二者应该结合起来用。
6. 决策函数
决策要依据一定的准则来实现的。
让取得最小值,这就是决策准则。
三、 机器学习和统计决策关系
典型机器学习中使用的目标函数如下:
结构风险最小化(正则化)中,称为正则项(regularizer),或者惩罚项(penalty term),表示模型的复杂程度。正则项一般是模型复杂程度的单调递增函数,模型越复杂,正则项的值越大。范数是常用的正则项,也就是说,正则项通常是模型参数向量的范数[2] 。常见的范数有、、三种。
1、范数
范数:描述向量中非0元素的个数。
范数可以实现模型参数向量的稀疏。但是,范数的优化求解是NP-hard问题,因此难以应用。
2、范数
范数:描述向量中各个元素的绝对值之和。
范数可以实现模型参数向量的稀疏。范数是范数的最优凸近似。不同于范数的优化求解是NP-hard问题,范数的优化求解相对容易。
3、范数
范数:描述向量中各元素的平方之和,然后求平方根。
补充知识点:范数不能实现模型参数向量的稀疏。
结构风险多数情况下是防范过拟合,在深度学习中,为了降低过拟合风险,除了使用正则项外,还要在构成深度学习的间接函数(人工神经元的加权求和输入再通过非线性激活函数映射为单元构成的庞大函数)中形成稀疏连接,如Dropout等。
所以构成一个具有“学习”功能的目标函数是通过统计决策的理念和方法实现的。
当然,机器学习涉及的内容很多,还包括如逼近论、凸分析(英语:Convex analysis)、计算复杂性理论等,微积分和线性代数肯定是基本配置。因此,还需要其他许多背景知识才能学好这么交叉学科,不过,统计学绝对是其中使用最多的部分。