机器学习所研究的内容:是关于在计算机上通过数据产生“模型”的算法,即为“学习算法”(learning algorithm)。
“模型”指的就是学习所得的结果。
从数据中学得模型的过程称为“学习”或“训练”。
预测的若为离散值,此类学习任务称为“分类”(classification)若为连续值,此类学习任务称之为“回归”(regression)。涉及到两个类别的“二分类”(binary classification)任务,其中一个为“正类”(posive class),另一个为“反类”(negative class)。
根据训练数据是否拥有标记信息,学习任务分为:“监督学习”(supervise learning)和“无监督学习”(unsupervised learning)。分类回归是前者的代表,聚类(clustering)是后者的代表。
学得的模型适用于新样本的能力,称为“泛化”(generalization)能力。
归纳(induction)和演绎(deduction)。
归纳是从特殊到一般的泛化过程,即为从具体的事实中总结出一般的规律。演绎是从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况。
归纳学习有广义和狭义之分,广义的归纳学习相当于从样例中学习,而狭义的归纳学习则要求从训练数据中学得概念,又称为“概念学习”或“概念形成”。
可能存在多个假设与训练集一致,即存在一个与训练集一致的“假设集合”,我们称之为“版本空间”。(version space)
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”(induction bias)。
“奥卡姆剃刀“原则:当多个假设与观察一致时,选择最简单的那个。但是使用的前提是不平凡的。
NFL(No Free Lunch Theorem)“没有免费午餐”的定理。我们从中能够懂得“什么学习算法最好”是基于具体问题的。
机器学习和统计学的研究为数据挖掘提供分析技术。数据库的领域的研究是为数据挖掘提供管理技术。
学习器的实际预测输出与样本的真实输出之间的差异称为“误差“。
学习器在训练集上的误差称为“训练误差”(training error)或者“经验误差”(empical error)。在新样本上的误差称之为“泛化误差”(generalization)。
当训练器过于符合新样本的时候,将会导致泛化性能下降,这种现象称为“过拟合”(overfitting)。
欠拟合(underfitting)指的就是对训练样本的一般性质尚未学好。
注意:过拟合的问题比较复杂,很难解决,是不可避免的,我们所做的只能是缓解,也就是降低风险。
测试集(testing set)是用来测试学习器对新样本的学习能力,将测试误差近似地看做为“泛化误差”。
测试集应该尽可能地与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用过。
2.2.1留出法(hold-out)
“留出法”将数据集分成两个互斥的集合。
注意的问题:
(1)训练/测试集的划分要尽可能地保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终的结果产生影响。例如在分类任务中至少要保持样本的类别比例相似,这种采样方式称之为“分层采样”(stratified sampling)。
(2)单次使用留出法得到的估计结果往往不够准确稳定可靠,所以需要进行若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
将大约2/3——4/5的样本用于训练,剩下的用于测试。
2.2.2交叉验证法(cross validation)
“交叉验证法”先将数据集D划分成k个大小相似的互斥子集。每个子集保持数据分布的一致性,即从D中分层采样所得。然后每一次将k-1个子集的并集当做训练集,剩下的当做测试集,这样就能得到k组训练/测试集,进而进行k次训练和测试。最后返回的是这k次结果的均值。又叫做“k折交叉验证”(k-fold cross validation),一般k取10。
2.2.3自助法(bootstrapping)
“自助法”直接以自助采样法为基础,在给定m个样本的数据集D中,我们对它进行采样产生D‘:每次随机挑选一个样本,将其拷贝到D’中然后再将样本放回数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复m次,然后就得到m个样本的数据集D‘,这就是自助采样的结果。
于是我们用D’作为训练集,D\D‘作为测试集,这样我们仍有数据总量为1/3的、没在训练集中出现的样本用于测试,这样的测试结果,亦称“包外估计”。(out-of-bagestimate)
注:\表示集合的减法。
留出法,自助法以及交叉验证法所适用的范围:
自助法在数据集较小、难以有效划分训练/测试集时很有用;由于产生了多个不同的训练集,对集成学习很有用。但同时产生的数据集改变了原先的数据集分布,会引入估计偏差。故当初始数据量足够时,使用留出法和交叉验证法比较好。
2.2.4调参与最终模型
除对学习算法进行选择,还需对算法参数进行设定,这就是“调参”(parameter tuning)。
现实中常用的方法是,是对每一个参数进行选定一个范围和变化步长。调参的过程工程量很大,对最终的模型性能有关键性影响。
模型评估与选择中用于评估测试的数据集常称为“验证集”(validation set)。
衡量模型泛化能力的评价标准,即为性能度量。性能度量反映了任务需求,模型的好坏是相对的,判断模型的好坏,不仅取决于算法和数据,还决定于任务需求。
回归任务最常用的性能度量是“均方误差”(mean squared error)。就是将预测结果f(x)与真实标记进行比较。
机器学习性能不能通过度量值直接比较。
“统计假设检验”为学习器性能比较提供重要依据给出如下检验方法:
2.4.1假设检验
“假设“是我们对学习器泛化错误率分布的猜想或判断。
我们通过不同假设,基于假设检验结果可推断出学习器性能的比较。
当我们做出多次重复留出法或交叉验证法进行训练/测试时,得出多个测试错误率:
t检验
2.4.2交叉验证t检验
基本思想:若两个学习器的性能相同,则使用相同的训练/测试集得到的测试错误率应相同。
假设检验的前提:测试错误率均为泛化错误率的独立采样。
k折交叉验证产生的K对测试错误率:先对每对结果求差,若两个学习器性能相同则差值均值应为0。因此根据差值对“学习器AB性能相同”做t检验,计算差值的均值和方差,在显著度确定条件下,判断变量是否小于临界值,若小于则无显著差别,否则可判断平均错误率较小的学习器性能较优。
因样本有限,加查验证不同轮次训练集有重叠,测试错误率实际上不独立,会导致过高估计假设成立的概率。
5×2交叉验证法
2.4.3McNemar检验
McNemar检验通过考虑变量,服从自由度为1的
分布,即标准正态分布变量的平方。给定显著度α,当以上变量值小于临界值
时,认为两学习器性能没有显著差别;否则性能有显著差别。且平均错误率较小的那个学习器性能较优。
2.4.4Friedman检验与Nemenyi后续检验
定义:Friedman检验是利用秩实现对多个总体分布是否存在显著差异的非参数检验方法。
原始前提:当多个配对样本来自的多个总体分布无显著差异时。
基于算法排序的Friedman检验用于:一组数据集上对多个算法进行比较:
假定数据集比较,由好到差排序,并赋予序值1,2,……
Friedman检验判断这些算法是否性能相同:性能相同,平均序值应当相同。
若”所有算法的性能相同”这个假设被拒绝,说明算法的性能显著不同。
Nemenyi后续检验
Nemenyi检验计算出平均序值差别的临界值域,若两个算法的平均序值之差超出了临界值域,则以相应的置信度拒绝”两个算法性能相同”这一假设。
偏差-方差分解(bias-variance decomposition)就是用来解释学习算法泛化性能的一种工具,试图拆解期望泛化错误率。
泛化误差可分解为偏差、方差与噪声之和。
范化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。
偏差和方差是有冲突的。
训练不足时,拟合能力不强,由偏差主导泛化错误率;
训练充足时,方差主导泛化错误率。
线性模型,关键在于“线性”。顾名思义线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:
“线性回归”(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记。
对于给定一个数据集:
如二分类问题,y∈{0,1},则需要将线性回归模型产生的预测实值转换为0/1,而因为g(·)必须为单调可微函数,估最直观的单位阶跃函数是不可取的,因此另外考虑对数几率函数:
线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法。
LDA思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异样样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的直线上,再根据投影点的位置来确定新样本的类别。
二维示意图:
有些二分类学习方法可直接推广到多分类。但在更多情形下,我们是基于一些基本策略,利用二分类学习器来解决多分类方法。
最经典的拆分策略有三种:“一对一”(One vs. One,简称OvO)、“一对其余”(One vs. Rest,简称OvR)和“多对多”(Many vs. Many, 简称MvM)。
拆解法:
将一个多分类任务拆分为若干个二分类任务分解。OvO和OvR示意图如下:
类别不平衡(class-imbalance)就是指分类任务中不同类别的训练样例数目差别很大的情况。
类别不平衡问题不仅仅出现在原始数据中,而且也有可能出现在经过OvR,MvM策略后产生的二分类任务,因为这两个策略选取样本上面是存在类别不平衡问题的,不过这通常不需要专门处理,因为不同类别都经过OvR,MvM策略后会抵消掉该问题。
我们从线性分类器的角度讨论,在我们用 对新样本x进行分类时,实际上是通过用预测实值与一个阈值进行比较。实际上,y表达了正例的可能性,几率y/1-y反映了正例可能性与反例可能性之间的比值,不考虑类别不平衡的话,即分类器决策规则为:
原文:https://www.cnblogs.com/1234zb/p/9367723.html