机器学习笔记一

1.1.基本术语

机器学习是研究如何通过计算的手段,通过经验来改善系统自身的性能。在计算机系统中,“经验”往往以“数据”的形式存在。
因此,机器学习研究的主要内容是在计算机上从数据产生“模型”的算法,即“学习算法”。将经验数据提供给算法,从而产生出“模型”,再次遇到新的数据时,“模型”能够给我们提供相应的判断结果。

  • 数据集:要进行训练的数据的集合
    • 示例/样本:数据集中的一条记录,描述了一个事件或者对象
    • 属性/特征:事件或对象,在某方面的表现或性质,如西瓜的属性有 [颜色, 形状, 敲声, …]
    • 属性值:属性对应的值
    • 属性空间/样本空间/输入空间:将属性作为坐标轴,张开一个n维空间,每一个点都对应着一个坐标向量
    • 特征向量:每个示例样本在样本空间里,也被称为特征向量
    • 维数:属性的个数
  • 学习/训练:从数据中学的模型的过程。这个过程通过执行学习算法来完成
    • 训练数据/训练集:训练过程中使用的数据
    • 训练样本:训练数据中的每个样本
    • 假设:模型对应着的关于数据的某种潜在规律
    • 真实/真相:潜在规律本身
    • 学习器:模型的另一种叫法
  • 预测:建立“预测”模型,需要训练样本的“结果”信息
    • 标记:训练样本的“结果”信息,如((颜色:青绿,形状:圆形,敲声:浊响),好瓜)
    • 样例:拥有标记的样本
    • 分类:预测离散值,如“好瓜”,“坏瓜
      • 二分类:只涉及两个类别的分类,通常一个为正类,一个为反类
      • 多分类:涉及多个分类
    • 回归:预测连续值,如西瓜成熟度“0.95”“0.84
    • 聚类:将西瓜分为若干组,每一组称为“簇”
      • :对应着潜在的概念划分,有助于了解数据内在规律
    • 监督学习:训练数据有标记,如分类回归
    • 无监督学习:训练数据没有标记,如聚类
  • 泛化:学得的模型适用于新样本的能力
    机器学习的目标是为了使学得的模型适用于新样本,而不是在训练样本上做的好

1.2.假设空间

归纳和演绎是科学推理的两大手段

  • 归纳:是从特殊到一般的泛化过程,从具体事实归结出一般规律
  • 演绎:从一般到特殊的特化过程,从基础原理推演出具体状况
  • 归纳学习:即从样例中学习,是归纳的过程
    • 广义:从样例中学习
    • 狭义:从训练数据中学得概念
  • 假设空间:学习过程可以看做是一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到所有与训练集匹配的假设,假设的表示一旦确定,假设空间及其规模大小也将确定。如西瓜的假设空间由“(色泽=?)∧(形状=?)∧(敲声=?)”的可能取值所形成的假设组成
  • 版本空间:可能有多个假设与训练集一致。这个与训练集一致的假设集合(假设空间的一部分),即是版本空间
  • 归纳偏好:机器学习算法在学习的过程中对某种类型假设的偏好

1.3模型评估和选择

  • 错误率:分类错误样本数占样本总数的比例,即m个样本中有a个样本分类错误,错误率E=a/m
  • 精度:1-a/m
  • 误差:即实际预测输出与样本的真实输出之间的差异
    • 训练误差/经验误差:模型在训练集上的误差
    • 泛化误差:模型在新样本上的误差
  • 过拟合:模型将训练样本学的太好,把训练样本自有的特点作为一般性质,导致泛化性能下降,它是机器学习的关键障碍,只能尽量缓解
  • 欠拟合:模型对训练样本的一般性质没有学好
  • 评估方法
    • 留出法:将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T,用S训练出模型,用T来评估测试误差,作为泛化误差的统计
    • 交叉验证法:将数据集D划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的作为测试集,这样可以获得k组训练集/测试集,从而可以做k次训练和测试,最终返回k次测试的均值
      • 留一法:若数据集D中包含m个样本,令k=m,每个子集只包含一个样本。留一法的评估结果往往比较准确,缺点是数据集较大时,计算的开销可能难以忍受
    • 自助法:给定包含m个样本的数据集D,对其进行采样,得到数据集D′,每次随机从D取出一个样本,将其拷贝放入D′,再将该样本放回D,使其在下次仍有可能被采集到。样本在m次后未被采集的概率是(1-1/m)^m,约等于0.368。即初始数据集D中有36.8%的数据未出现在D′中,将D′ 作为训练集,D与D′的差集作为测试集。
    • 总结:自助法在数据集较小,难以有效划分训练集/测试集时很有用。但是自助法改变了初始数据集的分布,引入了估计偏差,因此数据量足够时,留出法交叉验证法更常用。
  • 调参:大多数学习算法都有些参数需要设定,参数的配置会影响到模型的性能。参数一般都是实数范围内取值,常见的做法是对每个参数取一个范围和变化步长。如在[0,0.2]范围,以0.5为步长
  • 测试集:研究对比不同算法泛化性能时使用的测试数据
  • 验证集:训练数据一般分为训练集验证集,模型评估与选择过程中使用的数据集
  • 性能度量:对模型的泛化能力进行评估
  • 比较检验统计假设检验为模型的性能提供了重要依据
  • 假设检验:假设是对模型泛化错误率分布的某种判断或猜想
    • 二项检验:对单个模型算法的泛化性能的假设进行检验
    • t检验:对单个模型算法的泛化性能的假设进行检验
    • 交叉验证t检验:在一个数据集上比较两个算法的性能
    • McNemar检验:在一个数据集上比较两个算法的性能
    • Friedman检验与Nemenyi检验:在一个数据集上比较多个算法的性能,FriedMan是基于算法排序
  • 偏差-方差分解:是解释学习算法泛化性能的一种重要工具
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值