统计学习理论作为机器学习的基础,本文主要对统计学习理论进行简要介绍

通常在我们处理一个机器学习任务的时候,会根据拿到的训练数据 x x x和 y y y,用某种模型/算法寻找一个 x x x到 y ^ \hat y y^​的映射,最终使我们寻找到的这种映射满足一定的评价标准。

如果我们把 x x x叫做input, y y y叫做output, y ^ \hat y y^​叫做action,评价标准叫做evaluation criterion,对于一般问题来说,output与action是相互独立的,也就是说我对input的预测值并不影响该input的实际值,我们的任务就是根据evaluation criterion,寻找最好的action,或者说是寻找能够生成最好的action的decision function。

那么什么是decision function呢?

Decision Functions

已知input space : X \mathcal{X} X,action space : A \mathcal{A} A,output space : Y \mathcal{Y} Y,Decision Functions是一系列 f f f的集合,每一个 f f f是一个映射, f : X ⟶ A f: \mathcal{X} \longrightarrow \mathcal{A} f:X⟶A。

在寻找最优Decision Function的过程中,既然说最优,就需要一个东西来衡量它的优劣,于是引入了loss function。Loss function可以和evaluation criterion相同,也可以不同,例如:对于分类问题,evaluation criterion可能就是accuracy,而我们一般选用的loss function会是AUC或者cross entropy这类;但是对于回归问题,可能evaluation criterion和loss function都会是rmse或者mse。

loss function l l l也是一个映射, l : A ∗ y ⟶ R l:A*y\longrightarrow R l:A∗y⟶R。这里先假设 l l l越小越好。

Risk function

那么如何利用loss function来说明一个decision function f f f的好坏呢?这里引入了Risk function的概念。

(假设我们的数据(x,y)是i.i.d. from P X × Y P_{\mathcal X\times \mathcal Y} PX×Y​)

一个decision function f f f的risk被定义为 R ( f ) = E ( x , y ) ∼ P X × Y [ l ( f ( x ) , y ) ] R(f)=E_{(x,y)\sim P_{\mathcal X\times\mathcal Y}}[l(f(x), y)] R(f)=E(x,y)∼PX×Y​​[l(f(x),y)],就是 l ( f ( x ) , y ) l(f(x),y) l(f(x),y)在 P X × Y P_{\mathcal X\times \mathcal Y} PX×Y​上的期望

Bayes Decision Function

令 f ∗ : X → A f^*:X\rightarrow A f∗:X→A表示所有 f f f中达到risk最小值的function,即 f ∗ = a r g m i n f R ( f ) f^* = argmin_fR(f) f∗=argminf​R(f),那么 f ∗ f^* f∗被称为 Bayes Decision Function,又叫做 target function,Bayes Decision Function 的risk叫做 Bayes risk。

以线性回归为例,如果 l ( f ( x ) , y ) = ( f ( x ) − y ) 2 l(f(x), y)=(f(x)-y)^2 l(f(x),y)=(f(x)−y)2,则 R ( f ) = E [ ( f ( x ) − y ) 2 ] R(f)=E[(f(x)-y)^2] R(f)=E[(f(x)−y)2],对于任意一个 x x x,

E [ ( f ( x ) − y ) 2 ∣ x ] = E [ ( f ( x ) − E [ y ∣ x ] + E [ y ∣ x ] − y ) 2 ∣ x ] = E [ ( f ( x ) − E [ y ∣ x ] ) 2 ∣ x ] + 2 ∗ E [ ( f ( x ) − E [ y ∣ x ] ) ( E [ y ∣ x ] − y ) ∣ x ] + E [ ( E [ y ∣ x ] − y ) 2 ∣ x ] = E [ ( f ( x ) − E [ y ∣ x ] ) 2 ∣ x ] + E [ ( E [ y ∣ x ] − y ) 2 ∣ x ] E[(f(x)-y)^2|x]=E[(f(x)-E[y|x]+E[y|x]-y)^2|x]=E[(f(x)-E[y|x])^2|x]+2*E[(f(x)-E[y|x])(E[y|x]-y)|x]+E[(E[y|x]-y)^2|x]=E[(f(x)-E[y|x])^2|x]+E[(E[y|x]-y)^2|x] E[(f(x)−y)2∣x]=E[(f(x)−E[y∣x]+E[y∣x]−y)2∣x]=E[(f(x)−E[y∣x])2∣x]+2∗E[(f(x)−E[y∣x])(E[y∣x]−y)∣x]+E[(E[y∣x]−y)2∣x]=E[(f(x)−E[y∣x])2∣x]+E[(E[y∣x]−y)2∣x]

所以为了使上式最小,应使 f ( x ) = E [ y ∣ x ] f(x)=E[y|x] f(x)=E[y∣x],即 f ∗ ( x ) = E [ y ∣ x ] f^*(x)=E[y|x] f∗(x)=E[y∣x]

Empirical Risk

但是因为我们不知道 P X × Y P_{\mathcal X\times \mathcal Y} PX×Y​,所以我们无法从上述公式计算 Risk function,只能通过采样进行估计。

根据大数定理,如果 z 1 , z 2 , . . . , z n z_1,z_2,...,z_n z1​,z2​,...,zn​i.i.d. from P z P_z Pz​,那么 l i m n → + ∞ 1 n Σ i = 1 n z i = E [ z ] lim_{n\rightarrow +\infty}\frac{1}{n}\Sigma_{i=1}^nz_i=E[z] limn→+∞​n1​Σi=1n​zi​=E[z]

所以,如果 D n = { ( x 1 , y 1 ) , … , ( x n , y n ) } D_n = \{ (x_1,y_1),\dots, (x_n, y_n)\} Dn​={(x1​,y1​),…,(xn​,yn​)} iid from P X × Y P_{\mathcal X\times \mathcal Y} PX×Y​, f f f的 Empirical Risk为 R ^ n ( f ) = 1 n Σ i = 1 n l ( f ( x i ) , y i ) \hat R_n(f)=\frac{1}{n}\Sigma_{i=1}^nl(f(x_i), y_i) R^n​(f)=n1​Σi=1n​l(f(xi​),yi​),根据大数定理, l i m n → + ∞ R ^ n ( f ) = R ( f ) lim_{n\rightarrow +\infty}\hat R_n(f)=R(f) limn→+∞​R^n​(f)=R(f),并且 E [ R ^ n ( f ) ] = R ( f ) E[\hat R_n(f)]=R(f) E[R^n​(f)]=R(f)。

经验风险最小化 Empirical Risk Minimization (ERM)

对于machine learning,我们要找的是最好的 f f f,即 f ^ n ∗ = a r g m i n f R ^ n ( f ) \hat f^*_n = argmin_f\hat R_n(f) f^​n∗​=argminf​R^n​(f)

但是实际发现,经验风险最小化可能导致过拟合,此时 f n ∗ f^*_n fn∗​与 f ∗ f^* f∗相差较远。而解决这个问题的一个方法是 C o n s t r a i n e d E R M Constrained \ ERM Constrained ERM。

C o n s t r a i n e d E R M Constrained \ ERM Constrained ERM

C o n s t r a i n e d E R M Constrained \ ERM Constrained ERM就是不在all decision functions上做经验风险最小化,而是在特定的hypothesis space上去做,这里的hypothesis space是all decision functions的一个子集。那么什么是hypothesis space呢,对于一个机器学习任务来说,如果我们想用线性模型去做,那么所有的linear model就是一个hypothesis space;如果我们想用树模型去做,那么tree-based model就是hypothesis space。

对于hypothesis space F \mathcal F F, f F = a r g m i n f ∈ F E ( x , y ) ∼ P X × Y [ l ( f ( x ) , y ) ] f_{\mathcal F}=argmin_{f\in \mathcal F}E_{(x,y)\sim P_{\mathcal X\times\mathcal Y}}[l(f(x), y)] fF​=argminf∈F​E(x,y)∼PX×Y​​[l(f(x),y)] f ^ n = a r g m i n f ∈ F 1 n Σ i = 1 n l ( f ( x i ) , y i ) \hat f_n = argmin_{f\in \mathcal F}\frac{1}{n}\Sigma_{i=1}^nl(f(x_i), y_i) f^​n​=argminf∈F​n1​Σi=1n​l(f(xi​),yi​)

f F f_{\mathcal F} fF​和 f ∗ f^* f∗的risk的差距叫做approximation error, f ^ n \hat f_n f^​n​和 f F f_{\mathcal F} fF​的risk的差距叫做estimation error。如果从这个角度理解过拟合与欠拟合的话,就是当模型比较简单, F \mathcal F F范围较小,estimation error不易较大,所以不容易过拟合,但是同时可能会导致approzimation error较大,导致欠拟合。

所以其实在实际生活中,我们一直都在用 C o n s t r a i n e d E R M Constrained \ ERM Constrained ERM,因为我们在实际处理一个任务的时候,通常都会分别去尝试用某一类模型去做,看看能否work,而我们选取的某一类模型,就是 C o n s t r a i n e d E R M Constrained \ ERM Constrained ERM中的hypothesis space。

参考资料:《Machine Learning》NYU

统计学习理论简介(一)相关推荐

  1. 独家 | 计算学习理论简介(附资源推荐)

    作者:Jason Brownlee 翻译:陈超 校对:王琦 本文长度为3600字,建议阅读10+分钟 本文为大家介绍了如何使用计算学习理论研究机器学习任务和方法,并对其中比较重要的子领域PAC学习以及 ...

  2. 斯坦福统计学习理论笔记:Percy Liang带你搞定「贼难」的理论基础

    选自 GitHub 机器之心整理 参与:刘晓坤.思源 CS229T/STAT231 是由斯坦福大学开设的统计学习理论课程,着重于对机器学习算法统计特性的理论理解,涉及机器学习算法何时起作用和原因.如何 ...

  3. 统计学习之路|(一)统计学习理论与方法概述

    统计学习之路|(一)统计学习理论与方法概述   各位小伙伴们大家好!经过一段时间的思考,我决定将开更一个"天坑系列":统计学习之路.希望自己能够坚持更下去.   之所以称之为&qu ...

  4. 清华出版社人工智能科学丛书:统计学习理论与方法

    统计学习又称统计机器学习或机器学习,是基于数据构建概率统计模型从而对数据进行预测与分析的一类方法.通常如果一个系统能够通过执行某些步骤而实现自身性能上的改进,我们就称该过程为学习.而机器学习的目的就在 ...

  5. 作业一 统计软件简介与数据操作

    SPSS简介 一.spss简介 SPSS是世界上最早采用图形菜单驱动界面的统计软件,它最突出的特点就是操作界面极为友好,输出结果美观漂亮.它将几乎所有的功能都以统一.规范的界面展现出来,使用Windo ...

  6. 作业一 统计软件简介与数据操作

    spss 编辑 SPSS(Statistical Product and Service Solutions),"统计产品与服务解决方案"软件.最初软件全称为"社会科学统 ...

  7. Windows 生物统计框架结构简介(WBF) (指纹识别技术)

    指纹识别技术在今天已经得到了越来越多的应用.在很多中.高端计算机中指纹识别设备已经成为了标配. 我发现很多计算机的指纹识别设备是闲置的,还有些设备虽然应用了,但是并没有得到正确的应用. 在前天下午.又 ...

  8. ISLR读书笔记(1)统计学习简介

    欢迎访问个人主页,目前访问量太低,百度搜不到的说...谢谢鼓励 读书笔记,并不打算翻译全文,打算将书中重要的知识点结合自己的理解将其分享,并在最后附上R语言相关函数应用,作为自己最近一段时间在机器学习 ...

  9. 基于深度学习的公交客流统计解决方案简介

    客流统计系统是用机器代替人工,对公交车每个站点和每条线路的上.下车辆的人数进行实时的自动统计,同时将数据发送到后端的系统管理平台进行存储,分析数据并形成数据报表.由此,监控中心能即时了解到每辆车的载客 ...

最新文章

  1. UOJ #576. 积的第K小数
  2. 查询分析300万笔记录_一分钟狂销100万件商品!Shopee虾皮双12大促再创记录
  3. LeetCode Reverse Words in a String III
  4. python经纬度获取县名_利用 Python 批量获取县镇运输距离
  5. spgwr | R语言与地理加权回归(Ⅰ-1):线性地理加权回归
  6. 数据库备份与快照备份
  7. 腾讯云 python接口_python调用腾讯云短信接口
  8. excel2019关闭后有残留进程_农药残留检测仪电路设计方案(原理图+PCB+BOM)
  9. 递归求最大公约数和最小公倍数
  10. 调侃《Head First设计模式》之总结篇
  11. keytool 使用
  12. 上海瀚示医药行业中文显示电子拣货标签 — 智能播种车
  13. 通往诺贝尔奖之路:盘点10个著名的科学家族
  14. WPS:添加公式后,行间距变宽的解决方法
  15. 网站被挂马的处理办法以及预防措施
  16. 3D MAX 中的 vary 参数建议。测试图以及中等质量和高等质量参数设置.
  17. 揭秘:张国荣葬礼,袁咏仪为何哭到失控?
  18. log4j日志文件的使用及log4j日志文件失效原因分析
  19. Annotation 介绍
  20. Leapfrog Triejoin:最坏情况下的最优连接算法

热门文章

  1. IT职场生活工作感悟
  2. raid卷构建实操(raid0、raid1、raid5、raid6以及raid10),可跟做
  3. bzoj 2301(Mobius)
  4. Android开发——贝塞尔曲线解析
  5. linux安装weblogic10.3.6
  6. 前端如何优雅的实现跨终端开发(PC端+移动端)
  7. PHP 十六大魔术方法学习
  8. js 中国标准时间,时间戳 ,yyyy-mm-dd格式之前相互转换
  9. 如何检查NAS硬盘有坏没有
  10. CameraX Java 1.0.0-alpha10 安卓开发