机器学习中的模型、策略和算法

在这里插入图片描述

一、概述

机器学习(也称为统计学习)方法都是由模型、策略和算法构成,这是机器学习的三要素,即:

方法 = 模型 + 策略 + 算法

构建一种机器学习方法就是确定具体的三要素,无论是监督学习、非监督学习还是强化学习等都一样,为了便于论述,下面以监督学习为例来说明。

二、模型及参数空间

在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。

模型的假设空间(Hypothesis Space)定义为包含所有可能的条件概率分布或决策函数,例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有形如 y=ax+b 的线性函数构成的函数集合,这里的a和b是任意实数的,称为模型的参数,由此可见,假设空间中的模型一般有无穷多个。

假设空间可以定义为决策函数的集合:F={f|Y=f(X)},其中,X、Y是输入空间和输出空间的变量,F是由一个参数向量(如上面线性模型的参数a、b构成参数向量 ( a , b ) T (a,b)^T (a,b)T)给定的函数族,可以表示为: F = { f ∣ Y = f θ ( X ) , θ ∈ R n } F=\{f|Y=f_θ(X),θ∈R^n\} F={fY=fθ(X),θRn},参数向量θ取值于n维欧式空间,称为参数空间(Parameter Space)。

假设空间也可以定义为条件概率的集合:F={P|P(Y|X)},其中,X、Y是输入空间和输出空间的随机变量,F是由一个参数向量决定的概率分布族,可以表示为: F = { P ∣ P θ ( Y ∣ X ) , θ ∈ R n } F=\{P|P_θ(Y|X),θ∈R^n\} F={PPθ(YX),θRn},参数向量θ为参数空间

由决策函数表示的模型称为非概率模型,由条件概率表示的模型称为概率模型。

三、策略

模型的假设空间有无穷多的模型,机器学习的目标就是要从假设空间中选择最优模型,这就需要考虑按什么准则来学习或选择最优模型,通俗来说这个准则就是学习的策略。

监督学习的两个基本学习策略:经验风险最小化和结构风险最小化,下面逐一介绍相关概念。

3.1、损失函数

损失函数是度量模型一次预测的好坏,风险函数度量平均意义下的模型预测的好坏,损失函数值越小模型就越好。

损失函数(Loss Function,又称为代价函数,Cost Function)是用于度量模型预测错误的程度,是衡量模型预测值f(X)和真实值Y之间的不一致性程度的函数,记作L(Y,f(X)),是f(X)和Y的非负实值函数。常用的损失函数有如下几种:

  • 0-1损失函数:当f(X)和Y相等时函数值为1,否则为0;
  • 平方损失函数:L(Y,f(X)) = (Y-f(X))²
  • 绝对损失函数:L(Y,f(X)) = |Y-f(X)|
  • 对数损失函数或对数似然(log-likelihood)损失函数:L(Y,P(Y|X)) = -logP(Y|X)

老猿注:上面四种损失函数中的前三种都好理解,反映了假设空间为决策函数时真实值和预估值之间的差异,对于假设空间为条件概率的集合的情况,P(Y|X)表示在给定 X 的条件下事件 Y 发生的概率,这是模型预测的概率分布,分布越高,模型预测越准确,反之则越不准确,取对数使得损失函数对概率的微小变化更加敏,所以其对数的负值可以用于评估模型预测错误的情况。

3.2、期望风险

模型的输入输出(X,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数的期望是:

R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ X × Y L ( y , f ( x ) ) P ( x , y ) d x d y R_{exp}(f)=E_p[L(Y,f(X)) ]=∫_{X×Y}L(y,f(x))P(x,y)dxdy Rexp(f)=Ep[L(Y,f(X))]=X×YL(y,f(x))P(x,y)dxdy

这个期望是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数(Risk Function)或期望损失(Expected Loss)或期望风险(Expected Risk)。但在机器学习中联合分布P(X,Y)是未知的,因此风险函数并不能获取最小值。

3.3、经验风险

给定一个训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},模型f(X)关于训练数据集的平均损失称为经验风险(Empirical Risk)或经验损失(Empirical Loss),记作 R e m p R_{emp} Remp
R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f) = \frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i)) Remp(f)=N1i=1NL(yi,f(xi))

经验风险是模型关于训练样本集的平均损失,根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。

3.4、经验风险最小化

当样本容量足够大时,经验风险最小化(Empirical Risk Minimization,ERM)的策略认为,经验风险最小的模型就是最优的模型。经验风险最小化求最优模型就是求解最优化问题:

min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) = min ⁡ f ∈ F 1 N ∑ i = 1 N ( − l o g P ( Y ∣ X ) ) ,其中 F 是模型的假设空间 \min_{f∈F}\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))=\min_{f∈F}\frac{1}{N}\sum_{i=1}^N(-logP(Y|X)),其中F是模型的假设空间 fFminN1i=1NL(yi,f(xi))=fFminN1i=1N(logP(YX)),其中F是模型的假设空间

当模型是条件概率分布、损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。相关推导过程请参考笔者付费专栏文章《经验风险最小化和极大似然估计的关系:https://blog.csdn.net/LaoYuanPython/article/details/141754125》

现实中训练样本是有限的,因此用经验风险估计期望风险并不理想,会产生“过拟合”(over-fitting)现象,需要进行一定的矫正。

3.5、结构风险最小化

结构风险最小化(Structural Risk Minimization,SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(Regularization),是在经验风险上加上表示模型复杂度的正则化项(Regularizer)或罚项(Penalty Term)。

在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是:

R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) , λ ≥ 0 R_{srm}(f)=\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))+λJ(f),λ≥0 Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)λ0

上述公式中:

  • J(f)表示模型的复杂度,表示对模型复杂度的惩罚,是定义在假设空间的泛函,模型f越复杂,复杂度J(f)就越大,反之则越小;
  • λ为系数,用于权衡经验风险和模型复杂度。

老猿注:关于正则化项的作用和原理请参考老猿付费专栏文章《机器学习中结构风险最小化的正则化项用途及原理详解:https://blog.csdn.net/LaoYuanPython/article/details/141722434》的相关介绍

结构风险小需要经验风险与模型复杂度同时小,这样的模型一般对训练数据以及未知的测试数据都有较好的预测。因此结构风险最小化的策略认为结构风险最小的模型是最优的模型,这样求最优模型就是求解如下最优化问题:

min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) , λ ≥ 0 \min_{f∈F}\frac{1}{N}\sum_{i=1}^NL(y_i,f(x_i))+λJ(f),λ≥0 fFminN1i=1NL(yi,f(xi))+λJ(f)λ0

四、算法

如果最优化问题能有显示的解析解,则学习算法就比较简单,但大多数情况下解析解不存在,就要用数值计算的方法求解。如果保证找到全局最优解,并使求解过程非常高效,就是一个重要问题,这个问题的解决可以利用已有最优化算法,也可能要开发个性化的最优化算法。

小结

本文介绍了机器学习方法的模型、策略和算法三要素的概念,模型就是所要学习的条件概率分布或决策函数,由决策函数表示的模型称为非概率模型,由条件概率表示的模型称为概率模型,模型存在于假设空间中。模型的假设空间有无穷多的模型,机器学习的目标就是要从假设空间中按一定的准则来学习或选择最优模型,这个准则就是学习的策略。策略是连接模型和算法的桥梁,它决定了如何使用算法来训练模型,以达到最佳的学习效果。策略涉及如何构建和训练模型,它包括损失函数的选择、正则化方法、学习速率的设定等,策略决定了模型的训练方式。策略有多种,其中结构风险最小化的策略是最常见的策略,认为结构风险最小的模型是最优的模型。

更多人工智能知识学习请关注专栏《零基础机器学习入门》后续的文章。

更多人工智能知识学习过程中可能遇到的疑难问题及解决办法请关注专栏《机器学习疑难问题集》后续的文章。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

关于老猿的付费专栏

  1. 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录
  4. 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值