- 统计学习的方法:
- 监督学习
- 非监督学习
- 半监督学习
- 强化学习
第一章 统计学习方法概论
1.2监督学习
- 监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。
- 监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示
1.2.2问题的形式化
- 监督学习分为学习和预测两个过程
1.3统计学习三要素
- 方法=模型+策略+算法
1.3.1模型
- 模型就是要学习的条件概率分布或者决策分布
1.3.2策略
- 用一个损失函数或者代价函数来度量预测错误的程度
- 损失函数
- 0-1损失函数
- 平方损失函数
- 绝对损失函数
- 对数损失函数
- 模型f(X)关于训练数据集的平均损失称为经验风险或经验损失
- 期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练样本集的平均损失
- 监督学习的两个基本策略:经验风险最小化与结构风险最小化
- 经验风险最小化的策略认为经验风险最小的模型就是最优模型
- 结构风险最小化(SRM)是为了防止过拟合的策略,等价于正则化
- 结构风险在经验风险上加上表示模型复杂度的正则化项或罚项
1.3.3算法
- 算法是指学习模型的具体计算方法
1.4模型评估与模型选择
1.4.1训练误差与测试误差
- 损失函数给定时,基于损失函数的模型的训练误差和模型的测试误差就是学习方法评估的标准
- 训练误差是模型关于训练数据集的平均损失
- 测试误差是模型关于测试数据集的平均损失
- 通常将学习方法对未知数据的预测能力称为泛化能力
1.4.2过拟合与模型选择
- 当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大
1.5正则化与交叉验证
1.5.1正则化
- 正则化是结构风险最小化策略的实现, 是在经验风险上加一个正则化项或罚项
- 正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大
- 范数就是衡量向量的大小
- 正则化符合奥卡姆剃刀(Occam’s razor)原理。应用于模型选择:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型。
- 从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。
1.5.2交叉验证
- 将数据集分为三部分;
- 训练集:训练模型
- 验证集:模型的选择
- 测试集:对学习方法的评估
- 简单交叉验证
- 数据集分为两部分:
- 训练集 70%
- 测试集 30%
- 选出测试误差最小的模型
- 数据集分为两部分:
- S折交叉验证
- 首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型
- 留一交叉验证
- S折交叉验证的特殊情形是S=N,称为留一交叉验证,往往在数据缺乏的情况下使用(N是给定数据集的容量)
1.6泛化能力
1.6.1发话误差
- 模型对未知数据预测的误差即为泛化误差。泛化误差越小,这种方法就越有效
1.6.2泛化误差上界
- 训练误差小的模型,泛化误差也会小
1.7
- 监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出
- 监督学习方法又可分为
判别方法
和生成方法
- 生成方法由数据学习联合概率分布P(X, Y),然后求出条件概率模型P(Y | X)作为预测的模型,即生成模型:
P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y | X) = \frac{P(X, Y)} {P(X)} P(Y∣X)=P(X)P(X,Y)- 典型的生成模型有:
朴素贝叶斯法
隐马尔可夫模型
- 等
- 特点:
- 生成方法可以还原出联合概率分布P(X, Y),而判别方法则不能
- 生成方法的学习速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型
- 当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用
- 典型的生成模型有:
- 判别方法有数据直接学习决策函数f(X)或者条件概率分布P(Y | X)作为预测模型,即判别模型
- 典型的判别模型方法:
k临近法
感知机
决策树
逻辑斯谛回归模型
最大熵模型
支持向量机
提升方法
条件随机场
- 等
- 特点:
- 判别方法直接学习的是条件概率P(Y | X)或决策函数f(X),直接面对预测,往往学习的准确率更高
- 由于直接学习P(Y | X)或f(X),可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题
- 典型的判别模型方法:
- 生成方法由数据学习联合概率分布P(X, Y),然后求出条件概率模型P(Y | X)作为预测的模型,即生成模型:
1.8分类问题
- 监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出预测,称为分类
- 分类问题分为
学习
和分类
- 分类器的性能指标一般是分类准确率:
- 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。也就是损失函数0-1损失时测试数据集上的准确率
- 二分类评价指标值
精准率
和召回率
类别 | 解释 |
---|---|
TP | 将正类预测为正类数 |
FN | 将正类预测为负类数 |
FP | 将负类预测为正类数 |
TN | 将负类预测为负类数 |
- 精确率:
P = T P T P + F P P = \frac{TP} {TP + FP} P=TP+FPTP
- 召回率:
R = T P T P + F N R = \frac{TP}{TP + FN} R=TP+FNTP
- F1值:
2 F 1 = 1 P + 1 R \frac{2} {F1} = \frac{1} {P} + \frac{1} {R} F12=P1+R1
F 1 = 2 ∗ T P 2 ∗ T P + F P + F N F1 = \frac {2 * TP} {2 * TP + FP + FN} F1=2∗TP+FP+FN2∗TP
1.9标注问题
- 输入是一个观测序列,输出是一个标记序列或状态序列
- 常用统计学习方法有:
隐马尔科夫模型
条件随机场
1.10回归问题
- 回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输出变量的值发生变化时,输出变量的值随之发生变化。
- 按照输入变量的个数,分为
一元回归
和多元回归
- 按照输入变量和输出变量之间关系类型,分为
线性回归
和非线性回归
- 回归学习最常用的损失函数是平方损失函数,由最小二乘法求解
第二章 感知机
- 感知机是二分类的
线性分类模型
,其输入为实例的特征向量,输出为实例的类别 - 属于
判别模型
2.1感知机模型
- 感知机定义:
- 输入空间(特征空间)是 X ⊆ R n X \subseteq R^n X⊆Rn
- 输出空间是 y = { + 1 , − 1 } y = \begin{Bmatrix}+1, -1\end{Bmatrix} y={ +1,−1}
- 输入空间到输出空间的函数(称为感知机) f ( x ) = s i g n ( w ∗ x + b ) f(x) = sign(w * x + b) f(x)=sign(w∗x+b)
- w和b为感知机模型参数
- w叫做权值或权值向量
- b叫做偏置
- w * x表示w和x的内积
- sign是符号函数
2.2感知机学习策略
- 数据集的线性可分性
- 如果存在某个超平面S能够将数据集的正实例和负实例点完全正确地划分到超平面的两侧,即对所有 y i = + 1 y_i = +1 yi=+1 的实例 i,有 w ∗ x i + b > 0 w * x_i + b > 0 w∗xi+b>0,对所有 y i = − 1 y_i = -1 yi=−1的实例 i,有 w ∗ x i + b < 0 w * x_i + b < 0 w∗xi+b<0,则称数据集T为线性可分数据集。
- 感知机学习策略
- 感知机sign(w * x + b)学习的损失函数定义为 L ( w , b ) = − ∑ x i ∈ M y i ( w ∗ x i + b ) L(w, b) = - \sum_{x_i \in M} y_i(w * x_i + b) L(w,b)=−xi∈M∑yi(w∗xi+b)
- M为误分点的集合,感知机学习的经验风险函数
- 损失函数L(w, b)是w, b的连续可导函数
2.3感知机学习算法
- 损失函数极小化问题的损失函数 min w , b L ( w , b ) = − ∑ x i ∈ M y i ∗ ( w ∗ x i + b ) \min_{w, b}L(w, b) = - \sum_{x_i \in M} y_i * (w * x_i + b) w,bminL(w,b)=−xi∈M∑yi∗(w∗xi+b)
损失函数对应于误分类点到分离超平面的总距离
第三章 k近邻法
- k近邻法(k-NN)是一张基本分类回归方法
- 基本要素:
- k值的选择
- 距离度量
- 分类决策规则
3.1k近邻算法
- 定义:
- 给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k和实例,这k个实例的多数属于某个类,就把该输入实例分为这个类
- 没有显式的学习过程
3.2.2距离度量
欧式距离
:以空间为基准的两点之间最短距离曼哈顿距离
:两点在南北方向上的距离加上在东西方向上的距离,即 d ( i , j ) = ∣ x i − x j ∣ + ∣ y i − y j ∣ d(i,j)=|xi-xj|+|yi-yj| d(i,j)=∣xi−xj∣+∣yi−yj∣
3.2.3k值的选择
- k值的减小就意味着整体模型变得复杂,容易发生过拟合
- k值的增大就相当于用较大邻域中的训练实例进行预测,可以减少学习的估计误差,学习的近似误差增大,模型变得简单
- 应用中,k值一般取一个较小的数值,通常采用交叉验证法来选取最优的k值
3.3k近邻法的实现:kd树
- k近邻法最简单的实现就是线性扫描,当训练集很大时,计算非常耗时
3.3.1构造kd树
- kd树是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构
- kd树是二叉树,表示对k维空间的划分
- 构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列的k维超巨型区域。kd树的每个节点对应于一个k维超巨型区域
3.3.2 搜索kd树
- kd树的最邻近搜索
- 输入:已构造的kd树;目标点x
- 输出:x的最邻近
- 解答:
- 在kd树中找出包含目标点x的叶节点:从根节点出发,递归地向下访问kd树。若目标点x当前维的坐标小于切分点的坐标,则移动到左子节点,否则移到右子节点。直到子节点为叶节点为止
- 以此叶节点为“当前最近点”
- 递归地向上回退,在每个节点进行以下操作:
- 如果该节点保存的实例点比当前最近点距离目标点更近,则以该实例点为“当前最近点”
- 当前最近点一定存在于该节点一个子节点对应的区域。检查该子节点的父节点的另一子节点的区域是否有更近的点。具体地,检查另一子节点对应的区域是否与以目标点为球心、以目标点与“当前最近点”间的距离为半径的超平面球体相交。如果相交,可能在另一个子节点对应的区域内存在距目标点更近的点,移动到另一个子节点。接着,递归地进行最近邻搜索。
- 当回退到根节点时,搜索结束,最后的“当前最近点”即为x的最近邻点。
第四章 朴素贝叶斯法
-
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。
-
对于给定的训练数据集,首先基于特征条件独立假设学习输入\输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y
-
先验概率: P ( 原 因 ) P(原因)