机器学习笔记01

  • 来自周志华的《机器学习》

第1章 绪论

引言

  机器学习是研究如何通过计算的手段,利用经验来改善系统自身的性能。
  “经验”以“数据”形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型” (model) 的算法,即“学习算法” (learning algorithm)。有了学习算法,把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时,模型会给我们提供相应的判断。

  • Mitchell给出了形式化的定义:假设用 P 来评估计算机程序在某任务类 T 上的性能。若一个程序通过利用经验 E 在 T 中任务上获得了性能改善,则我们就说关于 T 和 P 该程序对 E 进行了学习.

基本术语

  令 D = { x 1 , x 2 , . . . , x m } ,表示包含 m 数据(或样本(sample),示例(instance))的数据集(data set)
  其中每个数据 x d 属性(attribute,或特征(feature)),其取值为属性值(attribute value),属性张成的空间叫做属性空间(attribute space),或样本空间(sample space)
  每个样本 x i = ( x i 1 , x i 2 , . . . , x i d ) d 维样本空间 χ 中的一个向量其中 x i j x i 在第 j 个属性上的取值 , d 称为样本 x i 维数(dimensionality)
  从数据中学得模型的过程称为学习 (learning) 或训练 (training) ,训练过程中使用的数据称为训练数据 (training data)
  每个样本称为一个训练样本(training sample),训练样本组成的集合称为训练集(training set)
  学得模型对应了关于数据的某种潜在的规律,称为假设 (hypothesis) ;这种潜在规律自身,则称为真相真实(ground-truth) ,学习过程就是为了找出或逼近真相。
  要建立这样的关于预测(prediction) 的模型,需要获得训练样本的结果信息,称为标记(label) ;拥有了标记信息的示例,则称为样例(example); ( x i , y i ) 表示第 i 个样例, y i x i 的标记,所有标记的集合,称为标记空间(label space) Y
  如果预测的是离散值,这类信息任务称为分类(classification),如果预测连续值,称为回归(regression)。对只涉及两个类别的分类任务,称为二分类(binary classification),一为正类(positive class),一为反类(negative class)。
  预测任务通过对训练集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } 进行学习,建立一个从输入空间 X 到输出空间 Y 的映射: f : X Y
  学得模型后使用其进行预测的过程称为测试(testing),被预测的样本称为测试样本(testing sample),对测试例 x 得到其预测标记 y = f ( x )
  还可以对样本做聚类(clustering),即将训练集中的样本分为若干组,每组称为一个(cluster),这些簇可能对应潜在的概念划分,有助于我们了解数据内在规律。但这样的概念事先并不知道。
  根据是否拥有标记,学习任务可分为监督学习(supervised learning)和无监督学习(unsupervised learning),前者包含分类和回归,后者包含聚类。
   模型对新样本的适用能力称为泛化能力(generalization)。假设样本空间的全体样本服从一个未知的分布 D (distribution),我们获得额每个样本都是独立地从这个发布上采样获得,即独立同分布(independent and identically distributer, i.i.d.)

假设空间

  归纳(induction)与演绎(deinduction)用于科学推理。前者是从特殊到一般地泛化过程,后者是从一般到特殊地特化过程。从样例中学习,称为归纳学习(inductive learning)。学习过程可以看作是一个在所有假设(hypothesis)组成地空间中进行搜索,目标是找到与训练集匹配(fit)地假设。
  现实问题中面临很大的假设空间,但学习过程是基于有限样本,因此会有多个假设与训练集一致,即存在一个与训练集一致的假设集合,称为版本空间(version space)

归纳偏好

   通过学习得到的模型对应了假设空间的一个假设。当存在多个假设时,算法本身的“偏好”会起到关键作用,称为归纳偏好(inductive bias)。常用的基本原则时奥卡姆剃刀(Occam’s razor):当有多个假设与观察一致,选择最简单的那个。
   对于一类问题,如果他们的机会相同、同等重要,关于他们的学习算法 L a L b 的期望性能总是相同的。即没有免费的午餐定理(No Free Lunch Theorem, NFL)。但实际情形并非如此,因此要针对具体的问题来讨论算法的优劣。


第2章 模型评估与选择

经验误差、过拟合

   分类错误的样本数占样本总数的比例称为错误率(error rate),如在 m 个样本中有 a 个样本分类错误,则错误率为 E = a / m 精度(accuracy)为 1 a / m 。一般的,将学习的实际预测输出与样本的真实输出之间的差异称为误差(error),在训练集上的误差称为训练误差(traning error)或经验误差(empirical error),在新样本上的误差称为泛化误差(generalization error)
   当学习器训练地太好,以至于将个体地性质当作一般地性质,称为过拟合(overfitting);相对地,有欠拟合(underfitting),表示训练样本的一般性质尚未学好。欠拟合比较任意克服,而过拟合则比较麻烦。在现实任务中,一般都有多种学习算法可选,这就涉及到模型选择(model selection)。如何进行模型评估与选择?

评估方法

  通常用一个测试集(testing set)来测试学习器对新样本的判别能力,然后以测试集上的测试误差作为泛化误差的近似。因此需要对初始数据集进行有效划分,划分出互斥的训练集和测试集。下面是几种划分方法:
  1 留出法(hold-out)
  直接将数据集 D 划分为两个互斥的集合,分别是训练集 S 和测试集 T ,即 D = S U S U = ,在 S 上训练出模型后,用 T 来评估其测试误差,作为对泛化误差的估计。注意这两个数据集需要保持数据分布的一致性,采样方式通常由分层采样(stratified sampling),将大约 2 / 3 ~ 4 / 5 的样本用于训练。
  2 交叉验证法(cross validation)
  将数据集 D 划分为 k 个大小相似的互斥子集,每次用 k 1 个子集的并集作为训练集,余下的子集作为测试集,这样可获得 k 组数据集,最终返回 k 个测试结果的均值,亦称为 k 折交叉验证(k-fold cross validation), k 常取为10。与留出法类似,存在多种划分方式,通常要随机使用不同的划分重复 p 次。如果 k 等于数据集中的样本数,则为特例留一法(Leave-One-Out, LOO),但计算开销太大。
这里写图片描述
  3 自助法(bootstrapping)
  以自助采样法(bootstrap sampling)为基础,对有 m 个样本的数据集 D 进行采样获得 D ,每次从 D 中随机挑选一个样本放入 D 中,重复 m 次。估计:

lim m + ( 1 1 m ) m 1 e 0.386

  即初始数据集 D 中有36.8%的样本未出现在采样集 D 中,将 D 作为训练集, D \ D 作为测试集,这样的测试结果称为包外估计(out-of-bag estimate)
  4 调参与最终模型(parameter tuning)
  大多数,算法都有参数(parameter)需要设定,即调参。在模型选择、算法和参数已定后,用原始数据集 D 重新训练模型,使用所有的 m 个样本,这就是最终模型。

性能度量

猜你喜欢

转载自blog.csdn.net/muerjie5669/article/details/81610893