1_统计学习方法概论
文章目录
- 1.1 统计学习
- 1.1.1 统计学习的特点
- 1.1.2 统计学习的对象
- 1.1.3 统计学习的目的
- 1.1.4 统计学习的方法
- 1.1.5 统计学习的研究
- 1.1.6 统计学习的重要性
- 1.2 监督学习
- 1.2.1 基本概念
- 1.2.1.1 输入空间、特征空间与输出空间
- 1.2.1.2 联合概率分布
- 1.2.1.3 假设空间
- 1.2.2 问题的形式化
- 1.3 统计学习三要素
- 1.3.1 模型
- 1.3.2 策略
- 1.3.2.1 损失函数和风险函数
- 1.3.3 算法
- 1.4 模型评估与模型选择
- 1.4.1 训练误差与测试误差
- 1.4.2 过拟合与模型选择
- 1.5 正则化与交叉验证
- 1.5.1 正则化
- 1.5.2 交叉验证
- 1.6 生成模型与判别模型
- 1.7 分类问题
刚开始学习这本教材时,看了第1章,说的内容看完基本上也懂,没啥具体的算法,也就没有做总结,现在整本书过了一遍,感觉第1章内容还是很重要的。整本书是一个体系的,那么这个学习记录肯定也不能缺少这一环。在学习过程中,看了不少博客,感觉严谨性上还是书本更好一些,当然博客中也有很多非常不错的内容。博客毕竟限于篇幅,在完整性和严谨性上稍有欠缺。后面学习新的知识还是以书本为主,博客、网络为辅,学习新的知识还是尽可能选择大众评价较高的教材,这样能减少挑选教材的成本。
1.1 统计学习
1.1.1 统计学习的特点
统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。也称为统计机器学习。
主要特点:
- 统计学习一计算机及网络为平台,是建立在计算机及网络之上的;
- 统计学习以数据为研究对象,是数据驱动的学科;
- 统计学习的目的是对数据进行预测与分析;
- 统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测和分析;
- 统计学习是概率论、统计学、信息论、计算理论、最优化理论即计算机科学等多个领域的交叉学科,并且在发展中逐步形成独自的理论体系与方法论。
1.1.2 统计学习的对象
统计学习的对象是数据,它从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到数据的分析与预测中去。
统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。
1.1.3 统计学习的目的
统计学习用于对数据进行预测与分析,特别是对未知数据进行预测与分析。对数据的预测可以使计算机更加智能化,对数据的分析可以让人们获取新的知识,给人们带来新的发现。
1.1.4 统计学习的方法
统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。统计学习由监督学习、非监督学习、半监督学习和强化学习等组成。
统计学习方法的步骤:
- 得到一个有限的训练数据集合;
- 确定包含所有可能的模型的假设空间,即学习模型的集合;
- 确定模型选择的准则,及学习的策略;
- 实现求解最优模型的算法,即学习的算法;
- 通过学习方法选择最优模型;
- 利用学习的最优模型对新数据进行预测或分析。
1.1.5 统计学习的研究
统计学习研究一般包括统计学习方法、统计学习理论及统计学习应用。
- 统计学习方法的研究旨在开发新的学习方法;
- 统计学习理论的研究在于探求统计学习方法的有效性与效率,以及统计学习的基本理论问题;
- 统计学习应用的研究主要考虑将统计学习方法应用到实际问题中去,解决实际问题。
1.1.6 统计学习的重要性
- 统计学习是处理海量数据的有效方法;
- 统计学习是计算机智能化的有效手段;
- 统计学习是计算机科学发展的一个重要组成部分。可以认为计算机科学由三维组成:系统、计算、信息。统计学习主要属于信息这一维,并在其中起着核心作用。
1.2 监督学习
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测(注意,这里的输入、输出是指某个系统的输入域输出,与学习的输入域输出不同)。计算机的基本操作就是给定一个输入产生一个输出,所以监督学习是极其重要的统计学习分支。
1.2.1 基本概念
1.2.1.1 输入空间、特征空间与输出空间
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。输入域输出空间可以是有限元素的集合,也可以是整个欧式空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。
- 特征向量:每个具体的输入是一个实例;
- 特征空间:特征向量存在的空间
- 输入空间有时与特征空间一致,有时不一致,不一致的话就将输入空间映射到特征空间,因为模型实际上是定义在特征空间上的。
回归问题:输入变量与输出变量均为连续变量的预测问题;
分类问题:输出变量为有限个离散变量的预测问题称为分类问题;
标注问题:输入变量与输出变量均为变量序列的预测问题。
1.2.1.2 联合概率分布
监督学习假设输入与输出的随机变量XXX和YYY遵循联合概率分布P(X,Y)P(X,Y)P(X,Y)。在学习过程中,假设这一联合概率分布存在。训练数据与测试数据被看作是依据联合概率分布P(X,Y)P(X,Y)P(X,Y)独立同分布产生的。
1.2.1.3 假设空间
模型:输入空间到输出空间的映射;
假设空间:模型的集合。
1.2.2 问题的形式化
在学习过程中,学习系统利用给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布P^(Y∣X)\hat{P}(Y|X)P^(Y∣X)或决策函数Y=f^(X)Y = \hat{f}(X)Y=f^(X)。条件概率分布P^(Y∣X)\hat{P}(Y|X)P^(Y∣X)或决策函数Y=f^(X)Y = \hat{f}(X)Y=f^(X)描述输入与输出随机变量之间的映射关系。
预测过程中,预测系统对于给定的测试样本集中的 输入xN+1x_{N+1}xN+1,由模型yN+1=argmaxyN+1 P^(yN+1∣xN+1)y_{N+1} = arg\max_{y_{N+1}}\,\hat{P}(y_{N+1}|x_{N+1})yN+1=argmaxyN+1P^(yN+1∣xN+1)或yN+1=f^(xN+1)y_{N+1} = \hat{f}(x_{N+1})yN+1=f^(xN+1)给出相应的输出yn+1y_{n+1}yn+1。
1.3 统计学习三要素
统计学习方法都是由模型、策略和算法构成的,即:
方法=模型+策略+算法方法 = 模型 + 策略 + 算法方法=模型+策略+算法
1.3.1 模型
模型就是所要学习的条件概率分布或决策函数。假设空间包含所有可能的条件概率分布或决策函数。
1.3.2 策略
有了假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优的模型。
1.3.2.1 损失函数和风险函数
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数度量预测错误的程度,损失函数是f(X)f(X)f(X)和YYY的非负实值函数,记作L(Y,f(X))L(Y,f(X))L(Y,f(X))。
常用的损失函数:
0-1损失函数
L(Y,f(X))={1,Y̸=f(X)0,Y = f(X)L(Y,f(X)) = \begin{cases} 1, & Y \not= f(X) \\[2ex] 0, & \text{Y = f(X)} \end{cases} L(Y,f(X))=⎩⎨⎧1,0,Y̸=f(X)Y = f(X)平方损失函数
L(Y,f(X))=(Y−f(X))2L(Y,f(X)) = (Y- f(X))^2L(Y,f(X))=(Y−f(X))2绝对损失函数
L(Y,f(X))=∣Y−f(X)∣L(Y,f(X)) = |Y - f(X)|L(Y,f(X))=∣Y−f(X)∣对数损失函数或对数似然损失函数
L(Y,P(Y∣X))=−logP(Y∣X)L(Y,P(Y|X)) = -logP(Y|X)L(Y,P(Y∣X))=−logP(Y∣X)
损失函数的期望
Rexp(f)=EP[L(Y,f(X))]=∫X×YL(y,f(x))P(x,y)dxdyR_{exp}(f) = E_P[L(Y,f(X))] = \int_{\bf{X\times Y}}L(y,f(x))P(x,y)dxdyRexp(f)=EP[L(Y,f(X))]=∫X×YL(y,f(x))P(x,y)dxdy
这是理论上模型f(X)f(X)f(X)关于联合分布P(X,Y)P(X,Y)P(X,Y)的平均意义下的损失,称为风险函数或期望损失。
学习的目标就是选择期望风险最小的模型。由于联合分布P(X,Y)P(X,Y)P(X,Y)是未知的,Rexp(f)R_{exp}(f)Rexp(f)不能直接计算。就成为了先有鸡还是先有蛋的问题。那就找个方法来估算,根据大数定律。
模型f(X)f(X)f(X)关于训练数据集的平均损失称为经验风险或经验损失,记作RempR_{emp}Remp
Remp(f)=1N∑i=1NL(yi,f(xi))R_{emp}(f) = \dfrac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))Remp(f)=N1i=1∑NL(yi,f(xi))
期望风险Rexp(f)R_{exp}(f)Rexp(f)是模型关于联合分布的期望损失,经验风险Remp(f)R_{emp}(f)Remp(f)是模型关于训练样本集的平均损失。根据大数定律,当样本容量NNN趋于无穷时,经验分享Remp(f)R_{emp}(f)Remp(f)趋于期望风险Rexp(f)R_{exp}(f)Rexp(f)。很自然的想法是用经验风险估算期望风险,但实际中数据量有限,经验风险最小化并不一定能选出最优的模型,防止模型过拟合,引入结构风险,即加了正则化的经验风险。
这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题。
1.3.3 算法
最优化问题的具体计算方法。
常用的算法有:
- 梯度下降
- 改进的迭代尺度法IIS
- 序列最小最优化算法(SMO)
- 前向分步算法
- EM算法
1.4 模型评估与模型选择
1.4.1 训练误差与测试误差
训练误差,即模型关于训练数据集的平均损失
Remp(f^)=1N∑i=1NL(yi,f^(xi))R_{emp}(\hat{f}) = \dfrac{1}{N}\sum_{i=1}^N L(y_i,\hat{f}(x_i))Remp(f^)=N1i=1∑NL(yi,f^(xi))
- NNN是训练样本容量。
测试误差,即模型关于测试数据集的平均损失
etest=1N′∑i=1N′L(yi,f^(xi))e_{test} = \dfrac{1}{N'}\sum_{i=1}^{N'}L(y_i,\hat{f}(x_i))etest=N′1i=1∑N′L(yi,f^(xi))
- N′N'N′是测试样本容量。
当损失函数是0-1损失时,测试误差就是测试数据集上的误差率。此时
etest=1N′∑i=1N′I(yi=f^(xi))e_{test} = \dfrac{1}{N'}\sum_{i=1}^{N'} I(y_i = \hat{f}(x_i))etest=N′1i=1∑N′I(yi=f^(xi))
测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。通常将学习方法对未知数据的预测能力称为泛化能力。现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。
1.4.2 过拟合与模型选择
过拟合:模型在训练数据集上表现很好,在测试数据集上表现不好。
模型选择方法:正则化与交叉验证
1.5 正则化与交叉验证
1.5.1 正则化
模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项。正则化一般具有如下形式:
minf∈F1N∑i=1NL(yi,f(xi))+λJ(f)\min_{f\in\bf{F}} \dfrac{1}{N}\sum_{i=1}^N L(y_i,f(x_i)) + \lambda J(f)f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
正则化符合奥卡姆剃刀原理。能解释已知数据并且简单的模型才是一个好的模型。
1.5.2 交叉验证
如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分为三部分,分别为训练集、验证集和测试集。
- 训练集用来训练模型
- 验证集用于模型的选择
- 测试集用于最终对学习方法的评估
在许多实际应用中数据是不充足的,为了选择好的模型,可以采用交叉验证方法。交叉验证的基本思想是重复地使用数据。
简单交叉验证:首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集)。然后用训练集在各种参数下训练模型,再用测试集选出误差最小的模型。
SSS折交叉验证:首先随机地将已给数据分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。SSS折交叉验证实际中应用最多。
留一交叉验证:SSS折交叉验证的特殊情况S=NS = NS=N,称为留一交叉验证。往往在数据缺乏的情况下使用。
1.6 生成模型与判别模型
生成方法由数据学习联合概率分布P(X,Y)P(X,Y)P(X,Y),然后求出条件概率分布P(Y∣X)P(Y|X)P(Y∣X)作为预测的模型,即生成模型:
P(Y∣X)=P(X,Y)P(X)P(Y|X) = \dfrac{P(X,Y)}{P(X)}P(Y∣X)=P(X)P(X,Y)判别方法由数据直接学习决策函数f(X)f(X)f(X)或者条件概率分布P(Y∣X)P(Y|X)P(Y∣X)作为预测的模型,即判别模型。
生成方法与判别方法的区别:
- 生成方法可以还原出联合概率分布P(X,Y)P(X,Y)P(X,Y),而判别方法不能;
- 生成方法的学习收敛速度更快,当样本容量增加的时候,学到的模型可以更快地收敛于真实模型;
- 判别方法直接学习的是条件概率P(Y∣X)P(Y|X)P(Y∣X)或决策函数f(X)f(X)f(X),直接面对预测,往往学习的准确率更高。
1.7 分类问题
分类问题:输出变量为有限个离散变量的预测问题称为分类问题;
对于二类分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类。
  \; | 预测正类 | 预测负类 |
---|---|---|
实际正类 | TP | FN |
实际负类 | FP | TN |
精确率PPP:挑出来的瓜多少真的是好瓜
P=TPTP+FPP = \dfrac{TP}{TP + FP}P=TP+FPTP
召回率RRR:好瓜被挑出来的概率
R=TPTP+FNR = \dfrac{TP}{TP + FN}R=TP+FNTP
二类分类问题常用的评价指标还有精确率PPP和召回率RRR的调和均值F1F_1F1:
2F1=1P+1R\dfrac{2}{F_1} = \dfrac{1}{P} +\dfrac{1}{R}F12=P1+R1
参考资料
- 李航 统计学习方法
1_统计学习方法概论相关推荐
- 复现经典:《统计学习方法》第1章 统计学习方法概论
本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...
- 【机器学习算法专题(蓄力计划)】二、机器学习中的统计学习方法概论
一. 统计学习方法概论 统计学习的定义.研究对象和方法 监督学习.无监督学习.半监督学习.强化学习 统计学习方法三要素:模型.策略.算法 模型选择:正则化.交叉验证.学习的泛化能力 生成模型和判别模型 ...
- 统计学习方法(一)统计学习方法概论
文章目录 第一章 统计学习方法概论 1.1 统计学习 1.2 监督学习 1.2.1 基本概念 1.3 统计学习三要素 1.3.1 模型 1.3.2 策略 1.4 模型评估与模型选择 1.4.1 训练误 ...
- 第一章、统计学习方法概论
第一章.统计学习方法概论 文章目录 第一章.统计学习方法概论 1.统计学习的特点 2.统计学习的研究 3.统计学习方法的基本步骤 3.监督学习 3.1 基本概念 1)输入变量 & 输入空间 & ...
- 统计学习方法-李航-第一章:统计学习方法概论-笔记1
文章目录 0 机器学习分类 0.1 监督学习 0.2 无监督学习 0.3 半监督学习 0.4 强化学习 1 统计学习方法概论 1.1 监督学习的步骤 1.2 统计学习三要素 1.3 模型评估 1.4 ...
- 统计学习与方法实战——统计学习方法概论
统计学习方法概论题 统计学习方法概论 实现统计学习方法的步骤 统计学习方法三要素 模型 策略 损失函数与风险函数 定义 常用损失函数 经验风险最小化(ERM)与结构风险最小化(SRM) 模型评估与模型 ...
- 统计学习方法(一)——统计学习方法概论
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. 统计学习方法概论 本文是统计学习方法(李航)第一章的学习总结. 1.1 统计学习 1.统计学习的特点 统计学 ...
- 第1章统计学习方法概论之1.1统计学习
1统计学习(也称统计机器学习) 1.1统计学习定义: 统计学习(statistical learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科. 统计学习就是计 ...
- 【统计学习】统计学习方法概论
统计学习方法: 本笔记知识来源<统计学习方法>--李航第一章节 1 统计学习 2 监督学习 3 统计学习三要素 4 模型评估与模型选择 5 正则化与交叉验证 6 泛化能力 7 生成模型与判 ...
最新文章
- hdoj5317【素数预处理】
- 该工程中的宏被禁止_建筑工程的发包与承包中有哪些行为是禁止的?
- CSS里:focus-within 的作用和用法
- 软件测试——性能测试、压力测试、负载测试等详解
- php运行的四个黄金组合,PHP168与Phpwind强势整合 打造黄金组合
- leetcode----------Excel Sheet Column Number
- rabbitmq的通配符模式(Topic Exchange)的*和#区别
- 概率论 —— 分析计算机系统和网络的可靠性和通用性
- 动态添加上传控件,并上传文件
- java函数命名规范_java命名规范
- 苹果无线网服务器绕过id,最新绕过苹果id方法
- LeetCode刷题时遇到error: control reaches end of non-void function [-Werror=return-type]的解决方法
- 所有的 Python 库都整理
- 恼人的Windows 10语言栏设置
- ASP完美优化(不断更新)
- Mac(3) Parallels Desktop 安装 Windows10专业版
- macOS 13 beta7(22A5342f)With OpenCore 0.8.5 and winPE双引导分区原版镜像
- java订餐系统_Java实现简单订餐系统
- Win7系统开机提示Flash Helper Service 已停止工作解决办法!
- 怎样解决Keil复制文注释到记事本出现乱码
热门文章
- 使用ajax局部更新Razor页面
- java.lang.UnsatisfiedLinkError: no XXX in java.library.path
- 编译hadoop源码遇到问题 及时解决
- 献给那些正在“奋起”的90后
- 360天擎默认卸载密码_装机工具老毛桃携带木马病毒 卸载安全软件进行恶意推广...
- 自学前端到底要学什么?五年老前端现身说法
- 在web开发中,为什么前端比后端更得到转行程序员的青睐?
- 初学web前端开发,你必要了解的基本概念与工具技术
- 想成为一个Web前端开发工程师,需要掌握的详细知识总结
- 顺序图中页面、窗口等为什么当做类处理?