发布时间:2023-08-23 12:30
最近开始学习这本书,初看感觉有些难度,主要想记录一些重点知识和一些难的点进行详细理解。
本书所介绍统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测分析的一类方法,所要研究的主体是数据。
统计学习的方法可以分为:
统计学习中的一些基本概念:
统计学习三要素,为模型(model)、策略(strategy)即确定模型的准则和算法(algorithm)即求解最优模型的方法。
监督学习
监督学习的本质是学习输入到输出的映射的统计规律。
1)输入空间、特征空间和输出空间
输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space)。
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。这时,所有的特征向量存在的空间称为特征空间(feature space)。
2)联合概率分布
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布就是监督学习关于数据的基本假设。
3)假设空间
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。模型属于由输入空间到输出空间的映射 的集合,这个集合就是假设空间(hypothesis space)。监督学习的模型可以是概率模型或者非概率模型,由条件概率分布或者决策函数来表示。
4)问题的形式化
无监督学习
无监督学习是指从无标注数据中学习预测模型的机器学习问题。学习的模型可以实现对数据的聚类、降维或者概率估计。
强化学习
强化学习是指智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。假设智能系统与环境的互动基于马尔可夫决策过程,智能系统能观测到的是与环境互动得到的数据序列,强化学习的本质是学习最优的序贯决策。
强化学习的马尔可夫决策过程是状态、奖励、动作序列上的随机过程,由五元组组成。State、Action、transition Probability、reward function and discount factor。
半监督学习与主动学习
半监督学习是指利用标注数据与未标注数据学习预测模型的机器学习问题。通常有少量标注数据、大量未标注数据,因为标注数据的构建往往需要人工,成本较高。半监督学习旨在利用未标注数据中的信息,辅助标注数据,进行监督学习,已较低的成本达到较好的学习效果。
主动学习是指机器不断主动给出实例让教师进行标注,然后利用标注数据学习预测模型的机器学习问题。
半监督学习和主动学习更接近监督学习。
1.概率模型与非概率模型
概率模型取条件概率分布形式,决策树、朴素贝叶斯、隐马尔科夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型是概率模型。
非概率模型取函数形式,感知机、支持向量机、k近邻法、AdaBoost、k均值、潜在语义分析。
条件概率分布最大化后得到函数,函数归一化后得到条件概率分布。所以,概率模型和非概率模型的区别不在于输入与输出之间的映射关系,而在于模型内部结构。
2.线性模型与非线性模型
统计学习模型,特别是非概率模型,可以分为线性模型和非线性模型。如果函数y=f(x)或z=g(x)是线性函数,则称模型是线性模型,否则称为非线性模型。
感知机、线性支持向量机、k近邻、k均值、潜在语义分析是线性模型。核函数支持向量机、Adaboost、神经网络是非线性模型。
深度学习实际是复杂神经网络的学习,也就是复杂的非线性模型的学习。
3.参数化模型与非参数化模型
参数化模型假设模型参数的维度固定,模型可以有有限维参数完全刻画;非参数化模型假设模型参数的维度不固定或者说无穷大,随着训练数据量的增加而不断增大。
感知机、朴素贝叶斯、逻辑斯蒂回归、k均值、高斯混合模型、潜在语义分析、概率潜在语义分析、潜在狄利克雷分配是参数化模型。决策树、支持向量机、AdaBoost、k近邻是非参数化模型。
参数化模型适合问题简单的情况,现实中问题往往比较复杂,非参数化模型更加有效。
统计学习根据算法,可以分为在线学习与批量学习。在线学习是指每次接受一个样本,进行预测,之后学习模型,并不断重复该操作的机器学习。与之对应,批量学习一次接受所有的数据,学习模型,之后进行预测。有些实际应用场景要求学习必须是在线的。
在线学习通常比批量学习更难,很难学到预测准确率更高的模型,因为每次模型更新中,可利用的数据有限。
1.贝叶斯学习
在概率模型的学习和推理中,利用贝叶斯定理,计算在给定数据条件下模型额条件概率,即后验概率,并应用这个原理进行模型的估计,以及对数据的预测。
朴素贝叶斯、潜在狄利克雷分配的学习属于贝叶斯学习。
2.核方法
核方法是使用核函数表示和学习非线性模型的一种机器学习方法,可以用于监督学习和无监督学习。有一些线性模型的学习方法基于相似度,更具体地,向量内积计算。核方法可以把它们扩展到非线性模型的学习,使其应用范围更广阔。
核函数支持向量机、核PCA和核k均值属于核方法。
方法 = 模型 + 策略 + 算法
1.损失函数和风险函数
1)0-1 损失函数
2)平方损失函数
3)绝对损失函数
4)对数损失函数
2.经验风险最小化与结构风险最小化
经验风险最小化(ERM)的策略认为,经验风险最小的模型是最优的模型。
结构风险最小化(SRM)是为了防止过拟合而提出的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项。
训练误差(training error)是模型关于训练数据集的平均损失。
测试误差(test error)是模型关于测试数据集的平均损失。
训练误差的大小,对判断给定问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。
如果给定的样本数据充足,进行模型选择的一种简单的方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set)。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是有效的。
但是,在许多实际应用中数据是不充足的。为了选择好的模型,可以采用交叉验证方法。交叉验证的基本想法是重复地使用数据;把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择。
1)简单交叉验证
简单交叉验证的方法是:首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据作为训练集,30%的数据作为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评估各个模型的测试误差,选出测试误差最小的模型。
2)S折交叉验证
首先随机地将已给数据切分为S个互不相交、大小相同的子集;然后利用S-1个子集的数据进行训练模型,利用余下的子集进行测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均误差最小的模型。
3)留一交叉验证
S折交叉研究的特殊情形是S = N,称为留一交叉验证。
学习方法的泛化能力是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。现实中我们往往采用测试误差评价学习方法的泛化能力,但这种评价是依赖于测试数据集的。统计学习理论试图从理论上对学习方法的泛化能力进行分析。泛化误差就是所学习到的模型的期望风险。
学习方法的泛化能力分析往往是通过研究泛化误差概率上界进行的,简称为泛化误差上界。