深度学习(花书),第五章:机器学习基础5.1-5.6
机器学习三要素
什么是机器学习问题,书中的定义是给计算机程序一些定义好的任务T(Task)和性能指标P(Performance measure),以及一些已有经验或数据集E(Experience),如果提供给机器更多的经验E,它能够对于任务T提升其性能指标P。
设计机器学习
- 定义任务T
- 定义性能度量P(选择误差…MSE训练误差是要除以样本量的)
- 最小化误差
有监督学习和无监督学习
- 有监督学习:估计后验概率$p(y|x)$
- 无监督学习:学习样本分布$p(x,y)$
测试集,训练集
训练集和测试集应遵循独立同分布假设,独立表示每个数据集中的样本是相互独立的,同分布表示两个数据集应该采样自同样的分布,这个共享的同样的分布称为数据生成分布。
容量、欠拟合和过拟合
- 欠拟合:在训练集上误差不够低
- 过拟合:训练误差和测试误差的差距太大
- 容量:可以通过调整模型的容量进而控制模型偏向过拟合或者欠拟合,调整模型容量的方法有
- 选择模型的假设空间
- 选择学习算法,就是限制了一套函数族,所限制的理论容量称为表示容量,但是因为算法的不完美,可能只能达到学习算法的有效容量
VC维(Vapnik-Chervonenkis维度)
机器学习基础书中比较详细
用VC维可以衡量模型的复杂性。
统计学习指出,训练误差和泛化误差的差异上界随着模型容量增长,随着样本数量争夺而下降,但是深度学习的VC维度难以计算,因为:
- 一是边界太松
- 二是很难确定深度学习算法的容量
参数模型和非参数模型
- 参数模型的参数量是确定的
- 非参数模型没有参数量的限制,比如最近邻回归。非参数模型在更多数据的情况下会得到更好的额泛化能力,直到达到最佳可能的泛化误差
超参数和验证集
- 超参数:在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
- 验证集:用于挑选超参数的数据子集。
- 验证和测试的方式,有两种方案:
- 经典验证(用于数据量大的时候)
- 训练集——用于训练
- 验证集——用于作为超参数调整的基准,搜索超参数
- 交叉验证(用于数据量小的情况,常见的是k折交叉验证)
- 将数据集分为k个子集,1个子集当做测试数据,k+1个当做训练数据
- 在训练集上训练,在测试集上测试
- 每次用不同的子集作为测试集,重复k次,保证每一个子集都作为过测试集
- 将平均准确率作为最终的模型准确率
- 经典验证(用于数据量大的时候)
统计部分
P77-p88
都是数理统计的知识:估计、偏差、方差、标准差、最大似然估计、贝叶斯估计