统计学习方法·笔记·第一章·模型评估、正则化与交叉验证

模型评估与模型选择

训练误差与测试误差

给予损失函数的训练误差(training error)和模型的测试误差(test error)是学习方法的评估标准。注意:统计学习方法具体采用的损失函数未必是评估时采用的损失函数。当然,让两者一致是比较理想的。
训练误差是模型 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X)关于训练集数据集的平均损失:
R e m p ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) R_{emp}(\hat{f})= \frac{1}{N}\sum_{i=1}^{N}L(y_{i},\hat{f}(x_{i})) Remp(f^)=N1i=1NL(yi,f^(xi))
N是训练样本容量。
测试误差是模型 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X)关于测试集数据集的平均损失:
e t e s t ( f ^ ) = 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) ) e_{test}(\hat{f})= \frac{1}{{N}'}\sum_{i=1}^{{N}'}L(y_{i},\hat{f}(x_{i})) etest(f^)=N1i=1NL(yi,f^(xi))
N’是测试样本容量。
当损失函数是0-1损失时,测试误差就变成了常见的测试数据集上的误差率(error rate):
e t e s t = 1 N ′ ∑ i = 1 N ′ I ( y i ≠ f ^ ( x i ) ) e_{test}= \frac{1}{{N}'}\sum_{i=1}^{{N}'}I(y_{i}\neq \hat{f}(x_{i})) etest=N1i=1NI(yi=f^(xi))
准确率(accuracy):
r t e s t = 1 N ′ ∑ i = 1 N ′ I ( y i = f ^ ( x i ) ) r_{test}= \frac{1}{{N}'}\sum_{i=1}^{{N}'}I(y_{i}= \hat{f}(x_{i})) rtest=N1i=1NI(yi=f^(xi))
学习方法对位置数据的预测能力称为泛化能力。

过拟合与模型选择

过拟合是指学习室选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测的很好,但对未知数据预测的很差的现象。
选择复杂度适当的模型,防止过拟合。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OymCygvA-1578636821036)(en-resource://database/396:1)]
两种常用的模型选择方法:正则化与交叉验证

正则化与交叉验证

正则化

结构风险最小化策略的实现,在经验风险上加一个正则化项或罚项。
正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。
m i n f ϵ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \underset{f\epsilon F}{min}\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f) fϵFminN1i=1NL(yi,f(xi))+λJ(f)
第一项是经验风险,第二项是正则化项。 λ ⩾ 0 \lambda\geqslant0 λ0 为调整两者之间的关系系数。

L2正则化

正则化项J(f)可以是参数向量的L2范数:
L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 ∥ w ∥ 2 L(w)=\frac{1}{N}\sum_{i=1}^{N}(f(x_i;w)-y_i)^2+\frac{\lambda}{2}\left \| w \right \|^2 L(w)=N1i=1N(f(xi;w)yi)2+2λw2
∥ w ∥ 2 \left\| w \right \|^2 w2就是L2范数表示某个向量中所有元素平方和再开根, 也就是欧几里得距离公式。让L2范数的正则项||W||2最小,可以使得W的每个元素都很小,都接近于0。L1范数让W等于0。

L1正则化

正则化项J(f)可以是参数向量的L1范数:
L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 ∥ w ∥ 1 L(w)=\frac{1}{N}\sum_{i=1}^{N}(f(x_i;w)-y_i)^2+\frac{\lambda}{2}\left \| w \right \| _ 1 L(w)=N1i=1N(f(xi;w)yi)2+2λw1
∥ w ∥ 2 \left\| w \right \|^2 w2就是L1范数表示某个向量中所有元素绝对值之和。

正则化理解

极大似然函数的理解:模型训练就是在已知样本分布的情况下,反推最有可能导致这样结果的参数值。https://blog.csdn.net/qq_39355550/article/details/81809467

损失函数、正则化与最大似然的关系

整个最优化问题可以看做是一个最大后验估计,其中正则化项对应后验估计中的先验信息(从贝叶斯的角度来分析, 正则化是为模型参数估计增加一个先验知识,先验知识会引导损失函数最小值过程朝着约束方向迭代),损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计。https://www.cnblogs.com/bingjianing/p/9182798.html
最大后验估计:
a r g m a x θ p ( θ ∣ x ) = a r g m a x θ p ( x ∣ θ ) p ( θ ) p ( x ) = a r g m a x θ p ( x ∣ θ ) p ( θ ) arg max_{\theta }p(\theta |x)=argmax_{\theta }\frac{p(x|\theta )p(\theta )}{p(x)}=argmax_{\theta }p(x|\theta )p(\theta ) argmaxθp(θx)=argmaxθp(x)p(xθ)p(θ)=argmaxθp(xθ)p(θ)
所以,可以估计参数 θ \theta θ :
θ M A P = a r g m a x θ ( ∏ i = 1 m p ( y ( i ) ∣ x ( i ) ) ) p ( θ ) \theta _{MAP}=argmax_{\theta }(\prod_{i=1}^{m}p(y^{(i)}|x^{(i)}))p(\theta ) θMAP=argmaxθ(i=1mp(y(i)x(i)))p(θ)

假设1:w参数服从高斯分布
假设 ϵ i ∼ N ( 0 , σ 2 ) , w i ∼ N ( 0 , τ 2 ) \epsilon_i \sim N(0,\sigma ^2),w_i \sim N(0,\tau ^2) ϵiN(0,σ2),wiN(0,τ2)
a r g m a x w L ( w ) = l n ∏ i = 1 n 1 σ 2 π e − 1 2 ( y i − x i w T σ ) 2 ⋅ ∏ j = 1 d 1 τ 2 π e − 1 2 ( w j τ ) 2 argmax_wL(w)=ln\prod_{i=1}^{n}\frac{1}{\sigma \sqrt{2\pi }}e^{-\frac{1}{2}(\frac{y_i-x_iw^T}{\sigma })^2}\cdot \prod_{j=1}^{d}\frac{1}{\tau \sqrt{2\pi }}e^{-\frac{1}{2}(\frac{w_j}{\tau })^2} argmaxwL(w)=lni=1nσ2π 1e21(σyixiwT)2j=1dτ2π 1e21(τwj)2
= l n 1 σ 2 π e ∑ i = 1 n − 1 2 ( y i − x 1 w T σ ) 2 ⋅ 1 τ 2 π e − 1 2 ∑ j = 0 d ( w i τ ) 2 =ln\frac{1}{\sigma \sqrt{2\pi }}e^{\sum_{i=1}^{n}-\frac{1}{2}(\frac{y_i-x_1w^T}{\sigma })^2}\cdot \frac{1}{\tau \sqrt{2\pi }}e^{-\frac{1}{2}\sum_{j=0}^{d}(\frac{w_i }{\tau})^2} =lnσ2π 1ei=1n21(σyix1wT)2τ2π 1e21j=0d(τwi)2
= − 1 2 σ 2 ∑ i = 1 n ( y i − x i w T ) 2 − 1 2 τ 2 ∑ i = 1 n w j 2 − n l n σ 2 π − d l n τ 2 π =-\frac{1}{2\sigma ^2}\sum_{i=1}^{n}(y_i-x_iw^T)^2-\frac{1}{2\tau^2}\sum_{i=1}^{n}w_j^2-nln\sigma \sqrt{2\pi }-dln\tau \sqrt{2\pi } =2σ21i=1n(yixiwT)22τ21i=1nwj2nlnσ2π dlnτ2π
⇔ a r g m i n w f ( w ) = ∑ i = 1 n ( y i − x i w ) 2 + λ ∑ j = 1 d w j 2 \Leftrightarrow argmin_wf(w)=\sum_{i=1}^{n}(y_i-x_iw)^2+\lambda \sum_{j=1}^{d}w_j^2 argminwf(w)=i=1n(yixiw)2+λj=1dwj2
= ∥ y − X w T ∥ 2 2 + λ ∥ w ∥ 2 2 =\left \| y-Xw^T \right \|_ 2^2+\lambda \left \| w \right \|_ 2^2 =yXwT22+λw22

即L2正则化。

假设2:w参数服从拉普拉斯分布
假设 ϵ i ∼ N ( 0 , σ 2 ) , w i ∼ L a p l a c e ( 0 , b ) \epsilon_i \sim N(0,\sigma ^2),w_i \sim Laplace(0,b) ϵiN(0,σ2),wiLaplace(0,b)
a r g m a x w L ( w ) = l n ∏ i = 1 n 1 σ 2 π e − 1 2 ( y i − x i w T σ ) 2 ⋅ ∏ j = 1 d 1 2 b e − ( w j b ) argmax_wL(w)=ln\prod_{i=1}^{n}\frac{1}{\sigma \sqrt{2\pi }}e^{-\frac{1}{2}(\frac{y_i-x_iw^T}{\sigma })^2}\cdot \prod_{j=1}^{d}\frac{1}{2b}e^{-(\frac{w_j}{b })} argmaxwL(w)=lni=1nσ2π 1e21(σyixiwT)2j=1d2b1e(bwj)
= l n 1 σ 2 π e ∑ i = 1 n − 1 2 ( y i − x 1 w T σ ) 2 ⋅ 1 2 b e − 1 2 ∑ j = 0 d ( w i b ) =ln\frac{1}{\sigma \sqrt{2\pi }}e^{\sum_{i=1}^{n}-\frac{1}{2}(\frac{y_i-x_1w^T}{\sigma })^2}\cdot \frac{1}{2b}e^{-\frac{1}{2}\sum_{j=0}^{d}(\frac{w_i }{b})} =lnσ2π 1ei=1n21(σyix1wT)22b1e21j=0d(bwi)
= − 1 2 σ 2 ∑ i = 1 n ( y i − x i w T ) 2 − 1 2 b 2 ∑ i = 1 n w j 2 − n l n σ 2 π − d ⋅ 2 b =-\frac{1}{2\sigma ^2}\sum_{i=1}^{n}(y_i-x_iw^T)^2-\frac{1}{2b^2}\sum_{i=1}^{n}w_j^2-nln\sigma \sqrt{2\pi }-d·2b =2σ21i=1n(yixiwT)22b21i=1nwj2nlnσ2π d2b
⇔ a r g m i n w f ( w ) = ∑ i = 1 n ( y i − x i w ) 2 + λ ∑ j = 1 d ∣ w j ∣ \Leftrightarrow argmin_wf(w)=\sum_{i=1}^{n}(y_i-x_iw)^2+\lambda \sum_{j=1}^{d}|w_j| argminwf(w)=i=1n(yixiw)2+λj=1dwj
= ∥ y − X w T ∥ 2 2 + λ ∥ w ∥ 1 =\left \| y-Xw^T \right \|_ 2^2+\lambda \left \| w \right \|_ 1 =yXwT22+λw1
即L1正则化。

交叉验证

样本充足时划分为训练集,验证集,测试集。训练集用来训练,验证集用来模型选择,测试集用来最终对学习方法评估。样本不充足时,可以采用交叉验证的方法。
交叉验证的基本思想是重复的使用数据,把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复的训练、测试及模型选择。
1、简单的交叉验证
70%数据为训练集,30%为测试集。选出测试误差最小的模型。

2、S折交叉验证(S-fold cross validation)
方法:随机的将数据集且分为S个互不相交,大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下子集测试模型;将S个子集分为S-1和1一共有S中选择,将S中可能重复进行;最后选出S次测评中平均测试误差最小的模型。

3、留一交叉验证(leave-one-out cross validation)
S折交叉验证的特殊情况S=N(N是给定数据集容量)称为留一交叉验证。这种方法往往在缺乏数据的情况下使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值