sklearn手册
错误率:分类错误的样本占样本总数的比例(m
个样本中的a个样本分类错误,则错误率 E = a / m E=a/m E=a/m)
精度: 1 − a / m 1-a/m 1−a/m,即精度=1-错误率
误差(期望):学习器的实际预测输出与样本的真是输出之间的差异
过拟合(不可避免):学习器把训练样本本身特点当做所有潜在样本都会具有的一般性质,导致泛化性能降低(学习能力过于强大)
欠拟合:训练样本的一般性质尚未被学习器学好(学习能力底下)
评估考虑的主要因素:
现实任务中往往会对学习器的泛化性能、时间开销、存储开销、可解释性等方面的因素进行评估并做出选择
评估样本选取原则:
我们假设测试集是从样本真实分布中独立采样获得,将测试集上的“测试误差”作为泛化误差的近似,所以测试集要和训练集中的样本互斥。
单一数集分类方法
包含 m m m个样例的数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D=\{(x_1,y_1),(x_2,y_2),\ldots , (x_m,y_m)\} D={ (x1,y1),(x2,y2),…,(xm,ym)}
m m m次采样始终不被采到的概率为 ( 1 − 1 m ) m (1-\frac{1}{m})^m (1−m1)m,去极限为
lim m → ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368 \lim_{m \rightarrow \infin}(1-\frac{1}{m})^m = \frac{1}{e}\approx 0.368 m→∞lim(1−m1)m=e1≈0.368
调参与最终模型
用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参.
学习器泛化性能评估
在预测任务中,给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D = \{(x_1,y_1),(x_2,y_2),\ldots ,(x_m,y_m)\} D={ (x1,y1),(x2,y2),…,(xm,ym)},其中 y i y_i yi是示例 x i x_i xi的真实标记。评估学习器 f f f的性能,就要把学习器预测结果 f ( X ) f(X) f(X)与真实标记 y y y进行比较
二分类结果混淆矩阵
真实情况 | 预测结果 | |
---|---|---|
正例 | 反例 | |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
错误率:分类错误的样本数占样本总数的比例
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1∑mI(f(xi)=yi)
一般化:数据分布 D \mathcal{D} D和概率密度函数 p ( ⋅ ) p(\cdot) p(⋅)
E ( f ; D ) = ∫ x ∼ D I ( f ( x ) ≠ y ) p ( x ) d x E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x}) \neq y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} E(f;D)=∫x∼DI(f(x)=y)p(x)dx
精度:分类正确的样本数占样本总数的比例
acc ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) \end{aligned} acc(f;D)=m1i=1∑mI(f(xi)=yi)=1−E(f;D)
一般化:数据分布 D \mathcal{D} D和概率密度函数 p ( ⋅ ) p(\cdot) p(⋅)
acc ( f ; D ) = ∫ x ∼ D I ( f ( x ) = y ) p ( x ) d x = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; \mathcal{D}) &=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x})=y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \\ &=1-E(f ; \mathcal{D}) \end{aligned} acc(f;D)=∫x∼DI(f(x)=y)p(x)dx=1−E(f;D)
查准率(precision,准确率):真正例占预测正例的比例
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
衡量模型避免错误的能力
查全率(recall,召回率):真正例占真实正例的比例
P = T P T P + F N P=\frac{TP}{TP+FN} P=TP+FNTP
衡量模型避免缺漏的能力
一般查准率高时,查全率往往偏低;查全率高时,查准率往往偏低。不同问题需要侧重不同
真正例率与假正例率用于ROC曲线
二分类代价矩阵
为权衡不同类型错误所造成的不同损失,可为错误赋予非均等代价(unequal cost)
其中 c o s t i j cost_{ij} costij表示将第 i i i类样本预测为第 j j j类样本的代价,造成的损失越大,值越大(重要的是代缴的比值而非绝对值)
代价敏感错误率
在非均等代价下,不再最小化错误次数,而是最小化“总体代价
E ( f ; D ; cos t ) = 1 m ( ∑ x i ∈ D + I ( f ( x i ) ≠ y i ) × cost 01 + ∑ x i ∈ D − I ( f ( x i ) ≠ y i ) × cost 10 ) E(f ; D ; \cos t)=\frac{1}{m}\left(\sum_{x_{i} \in D^{+}} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) \times \operatorname{cost}_{01}+\sum_{x_{i} \in D^{-}} \mathbb{I}\left(f\left(x_{i}\right) \neq y_{i}\right) \times \operatorname{cost}_{10}\right) E(f;D;cost)=m1(xi∈D+∑I(f(xi)=yi)×cost01+xi∈D−∑I(f(xi)=yi)×cost10)
正例概率代价(取值为 [ 0 , 1 ] [0,1] [0,1])
P ( + ) cos t = p × cos t 01 p × cos t 01 + ( 1 − p ) × cos t 10 P(+) \cos t=\frac{p \times \cos t_{01}}{p \times \cos t_{01}+(1-p) \times \cos t_{10}} P(+)cost=p×cost01+(1−p)×cost10p×cost01其中 p p p为样例为正例的概率
归一化代价(取值为 [ 0 , 1 ] [0,1] [0,1])
cost norm = FNR × p × cost 01 + FPR × ( 1 − p ) × cost 10 p × cost 01 + ( 1 − p ) × cost 10 \text {cost}_{\text {norm}}=\frac{\text { FNR } \times p \times \operatorname{cost}_{01}+\operatorname{FPR} \times(1-p) \times \operatorname{cost}_{10}}{p \times \operatorname{cost}_{01}+(1-p) \times \operatorname{cost}_{10}} costnorm=p×cost01+(1−p)×cost10 FNR ×p×cost01+FPR×(1−p)×cost10
二分类代价矩阵、代价敏感错误率、正例概率代价、归一化代价用于构建代价曲线
很多时候我们有多个二分类混淆矩阵,例如进行多次训练/测试,每次得到一个混淆矩阵;或是在多个数据集上进行训练/测试,希望估计算法的“全局”
性能;甚或是执行多分类任务,每两两类别的组合都对应一个混淆矩阵;
希望在n个二分类混淆矩阵上综合考察查准率和查全率.在各混淆矩阵上分别计算出查准率和查全率为 ( P 1 , R 1 ) , ( P 2 , R 2 ) , … , ( P n , R n ) (P_1,R_1),(P_2,R_2),\ldots,(P_n,R_n) (P1,R1),(P2,R2),…,(Pn,Rn)
直接各混淆矩阵上分别计算出查准率和查全率,
将各混淆矩阵的对应元素进行平均,得到 T P , F P , T N , F N {T P}, {F P}, {T N}, {F N} TP,FP,TN,FN的平均值,记为 T P ‾ , F P ‾ , T N ‾ , F N ‾ \overline{T P}, \overline{F P}, \overline{T N}, \overline{F N} TP,FP,TN,FN
P-R曲线 | ROC曲线 | 代价曲线 | |
---|---|---|---|
横轴 | 查全率R | 假正例率FPR | 正例概率代价 |
纵轴 | 查准率P | 真正例率TPR | 归一化代价 |
绘图过程 | 根据学习器的预测结果按正例可能性大小对样例进行排序,并逐个把样本作为正例进行预测,则可以得到 | 给定个 m + m^+ m+正例和 m − m^- m−个负例,根据学习器预测结果对样例进行排序,将分类阈值设为每个样例的预测值,当前标记点坐标为 ( x , y ) (x,y) (x,y),当前若为真正例,则对应标记点的坐标为 ( x , y + 1 / m + ) (x,y+1/m^+) (x,y+1/m+);当前若为假正例,则对应标记点的坐标为 ( x + 1 / m − , y ) (x+1/m^-,y) (x+1/m−,y),然后用线段连接相邻点 | ROC曲线上每一点对应了代价平面上的一条线段,设ROC曲线上点的坐标为(TPR,FPR),则可相应计算出FNR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,线段下的面积即表示了该条件下的期望总体代价;如此将ROC曲线上的每个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价 |
曲线相包 | 取外者 | 取外者 | |
曲线相交 | 根据度量条件 | 根据度量条件 | |
度量条件 | 平衡点BEP、 F 1 F1 F1、 F β F_{\beta} Fβ | AUC | 下方面积 |
均等代价 | 是 | 是 | 否 |
- 学习器包含:例如A的性能比C的性能好
- 学习器相交:很难断言两者孰优孰劣,
- 所包面积:较难执行
- 平衡点BEP:曲线上“查准率=查全率”时的取值,可用来用于度量P-R曲线有交叉的分类器性能高低(过于简化)
- F 1 F1 F1:基于查准率与查全率的调和平均定义( 1 F 1 = 1 2 ⋅ ( 1 P + 1 R ) \frac{1}{F1} = \frac{1}{2}\cdot (\frac{1}{P}+\frac{1}{R}) F11=21⋅(P1+R1))
F 1 = 2 × P × R P + R = 2 × T P 样 例 总 数 + T P − T N F1=\frac{2 \times P \times R}{P + R}= \frac{2 \times TP}{样例总数 + TP - TN} F1=P+R2×P×R=样例总数+TP−TN2×TP- F β F_\beta Fβ:基于加权调和平均( 1 F β = 1 1 + β 2 ⋅ ( 1 P + β 2 R ) \frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}} \cdot\left(\frac{1}{P}+\frac{\beta^{2}}{R}\right) Fβ1=1+β21⋅(P1+Rβ2),与算术平均 P + R 2 \frac{P+R}{2} 2P+R和几何平均 P × R \sqrt{P \times R} P×R更重视较小值)
F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_{\beta}=\frac{\left(1+\beta^{2}\right) \times P \times R}{\left(\beta^{2} \times P\right)+R} Fβ=(β2×P)+R(1+β2)×P×R
- β > 0 \beta > 0 β>0度量了查全率对查准率的相对重要性; β > 1 \beta>1 β>1偏重查全率; β < 1 \beta<1 β<1偏重查准率
ROC曲线(受试者工作特征)
- 学习器包含:被包住的学习器差
- 学习器相交:很难断言两者孰优孰劣
- AUC(Area Under ROC Cureve):比较ROC曲线下的面积,AUC衡量了样本预测的排序质量。
- 曲线面积计算
ROC曲线由坐标 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } \{(x_1,y_1),(x_2,y_2),\ldots , (x_m,y_m)\} { (x1,y1),(x2,y2),…,(xm,ym)}的点按序连接而形成 ( x 1 = 0 , x m = 1 ) (x_1=0,x_m=1) (x1=0,xm=1)
A U C = 1 2 ∑ i = 1 m − 1 ( x i + 1 − x i ) ⋅ ( y i + y i + 1 ) \mathrm{AUC}=\frac{1}{2} \sum_{i=1}^{m-1}\left(x_{i+1}-x_{i}\right) \cdot\left(y_{i}+y_{i+1}\right) AUC=21i=1∑m−1(xi+1−xi)⋅(yi+yi+1)- 排序损失计算
m + m^+ m+个正例和 m − m^- m−个负例,令 D + D^+ D+和 D − D^- D−分别表示正、反例集合;则排序损失
ℓ r a n k = 1 m + m − ∑ x + ∈ D + ∑ x − ∈ D − ( I ( f ( x + ) < f ( x − ) ) + 1 2 I ( f ( x + ) = f ( x − ) ) ) \ell_{r a n k}=\frac{1}{m^{+} m^{-}} \sum_{x^{+} \in D^{+} }\sum_{x^{-} \in D^{-}}\left(\mathbb{I}\left(f\left(x^{+}\right)ℓrank=m+m−1x+∈D+∑x−∈D−∑(I(f(x+)<f(x−))+21I(f(x+)=f(x−)))
即考虑每一对正、反例,若正例的预测值小于反例,则记一个“罚分”,若相等,则记0.5个“罚分”.容易看出, ℓ r a n k \ell_{r a n k} ℓrank对应的是ROC曲线之上的面积:若一个正例在ROC曲线上对应标记点的坐标为(x,y),则x恰是排序在其之前的反例所占的比例,即假正例率。因此有
A U C = 1 − ℓ r a n k AUC=1-\ell_{r a n k} AUC=1−ℓrank
- 面积即为在所有条件下学习器的期望总体代价,所以比较为比面积
直接选取相应评估方法在相应度量下比大小的方法不可取!
- 测试性能并不等于泛化性能
- 测试性能随着测试集的变化而变化
- 很多机器学习算法本身有一定的随机性
假设检验为学习器性能比较提供了重要依据,基于其结果我们可以推断出若在测试集上观察到学习器A比B好,则A的泛化性能是否在统计意义上优于B,以及这个结论的把握有多大。
假设检验中的“假设”是对学习器泛化错误率分布的某种判断或猜想;错误率为性能度量,用 ϵ \epsilon ϵ表示
可根据测试错误率估推出泛化错误率的分布
现实任务中我们并不知道学习器的泛化错误率,只能获知其测试错误率.泛化错误率与测试错误率未必相同,但直观上,二者接近的可能性应比较大,相差很远的可能性比较小.
记泛化错误率为 ϵ \epsilon ϵ,测试错误率为 ϵ ^ \hat{\epsilon} ϵ^(m个样本中恰有 ϵ ^ × m \hat{\epsilon} \times m ϵ^×m个被误分类)
假定测试样本从样本总体分布中独立采样而来,可以使用“二项检验”对 ϵ ≤ ϵ 0 \epsilon \leq \epsilon_0 ϵ≤ϵ0进行假设检验。
泛化错误率为 ϵ \epsilon ϵ的学习器将其中 m ′ m \prime m′个样本误分类、其余样本全部都分类正确的概率为 ϵ m ′ ( 1 − ϵ ) m − m ′ \epsilon ^{m \prime}(1-\epsilon)^{m-m\prime} ϵm′(1−ϵ)m−m′;由此可估算出其恰将 ϵ ^ × m \hat{\epsilon} \times m ϵ^×m个样本误分类的概率为
P ( ϵ ^ ; ϵ ) = ( m ϵ ^ × m ) ϵ ϵ ^ × m ( 1 − ϵ ) m − e ^ × m P(\hat{\epsilon} ; \epsilon)=\left(\begin{array}{c} m \\ \hat{\epsilon} \times m \end{array}\right) \epsilon^{\hat{\epsilon} \times m}(1-\epsilon)^{m-\hat{e} \times m} P(ϵ^;ϵ)=(mϵ^×m)ϵϵ^×m(1−ϵ)m−e^×m
表示在包含 m m m个样本的测试集上,泛化错误率为 ϵ \epsilon ϵ的学习器被测得测试错误率为 ϵ ^ \hat{\epsilon} ϵ^的概率
给定测试错误率,则解 ∂ P ( ϵ ^ ; ϵ ) / ∂ ϵ = 0 \partial P(\hat{\epsilon};\epsilon)/\partial \epsilon=0 ∂P(ϵ^;ϵ)/∂ϵ=0可知, P ( ϵ ^ ; ϵ ) P(\hat{\epsilon};\epsilon) P(ϵ^;ϵ)在 ϵ = ϵ ^ \epsilon=\hat{\epsilon} ϵ=ϵ^时最大, ∣ ϵ − ϵ ^ ∣ |\epsilon-\hat{\epsilon}| ∣ϵ−ϵ^∣增大时 P ( ϵ ^ ; ϵ ) P(\hat{\epsilon};\epsilon) P(ϵ^;ϵ)减小,这符合二项(binomial)分布,
假设 ϵ ≤ ϵ 0 \epsilon \leq \epsilon_0 ϵ≤ϵ0,若测试错误率小于
ϵ ˉ = max ϵ s.t. ∑ i = ϵ 0 × m + 1 m ( m i ) ϵ i ( 1 − ϵ ) m − i < α \bar{\epsilon}=\max \epsilon \quad \text { s.t. } \quad \sum_{i=\epsilon_{0} \times m+1}^{m}\left(\begin{array}{c} m \\ i\end{array}\right) \epsilon^{i}(1-\epsilon)^{m-i}<\alpha ϵˉ=maxϵ s.t. i=ϵ0×m+1∑m(mi)ϵi(1−ϵ)m−i<α
则在 α \alpha α的显著度下,假设不能被拒绝, 也即能以 1 − α 1-\alpha 1−α的置信度认为,模型的泛化错误率不大于 ϵ 0 \epsilon_0 ϵ0,即在 α \alpha α的显著度下可认为学习器的泛化错误率大于 ϵ 0 \epsilon_0 ϵ0
两学习器分类差别列联表
假设两学习器性能相同,则应有 e 01 = e 10 e_{01}=e_{10} e01=e10,那么变量 ∣ e 01 − e 10 ∣ |e_{01}-e_{10}| ∣e01−e10∣应当服从正态分布,且均值为1,方差为 e 01 + e 10 e_{01}+e_{10} e01+e10,因此变量 τ χ 2 = ( ∣ e 01 − e 10 ∣ − 1 ) 2 e 01 + e 10 \tau_{\chi^{2}}=\frac{\left(\left|e_{01}-e_{10}\right|-1\right)^{2}}{e_{01}+e_{10}} τχ2=e01+e10(∣e01−e10∣−1)2服从自由度为1的 χ 2 \chi^{2} χ2分布,即标准正态分布变量的平方
给定显著度 α \alpha α,当以上变量值小于临界值 χ α 2 \chi^{2}_\alpha χα2。时,不能拒绝假设,即认为两学习器的性能没有显著差别;否则拒绝假设,即认为两者性能有显著差别,且平均错误率较小的那个学习器性能较优.
对测试样本 x x x,令
y D y_D yD为 x x x在数据集中的标记
y y y为 x x x的真实标记
f ( x ; D ) f(x;D) f(x;D)为训练集 D D D上学得模型 f f f在 x x x上的预测输出
回归任务为例
学习算法的期望预测为
f ˉ ( x ) = E D [ f ( x ; D ) ] \bar{f}(\boldsymbol{x})=\mathbb{E}_{D}[f(\boldsymbol{x} ; D)] fˉ(x)=ED[f(x;D)]
使用养不熟木相同的不同训练集产生的方差为
var ( x ) = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] \operatorname{var}(\boldsymbol{x})=\mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right] var(x)=ED[(f(x;D)−fˉ(x))2]
噪声为
ε 2 = E D [ ( y D − y ) 2 ] \varepsilon^{2}=\mathbb{E}_{D}\left[\left(y_{D}-y\right)^{2}\right] ε2=ED[(yD−y)2]
偏差:期望输出与真实标记的差别
bias 2 ( x ) = ( f ˉ ( x ) − y ) 2 \operatorname{bias}^{2}(\boldsymbol{x})=(\bar{f}(\boldsymbol{x})-y)^{2} bias2(x)=(fˉ(x)−y)2
假定噪声期望为0,即 E D [ ( y D − y ) ] = 0 \mathbb{E}_{D}\left[ \left(y_{D} - y \right) \right]=0 ED[(yD−y)]=0
E ( f ; D ) = E D [ ( f ( x ; D ) − y D ) 2 ] = E D [ ( f ( x ; D ) − f ˉ ( x ) + f ˉ ( x ) − y D ) 2 ] = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y D ) 2 ] + E D [ 2 ( f ( x ; D ) − f ˉ ( x ) ) ( f ˉ ( x ) − y D ) ] = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y D ) 2 ] = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y + y − y D ) 2 ] = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y ) 2 ] + E D [ ( y − y D ) 2 ] + 2 E D [ ( f ˉ ( x ) − y ) ( y − y D ) ] = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + ( f ˉ ( x ) − y ) 2 + E D [ ( y D − y ) 2 ] \begin{aligned} E(f ; D)=& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-y_{D}\right)^{2}\right] \\ =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})+\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right] \\ =& \mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right] +\mathbb{E}_{D}\left[2(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))\left(\bar{f}(\boldsymbol{x})-y_{D}\right)\right] \\ =& \mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right] \\ =& \mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y+y-y_{D}\right)^{2}\right] \\ =& \mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right]+\mathbb{E}_{D}\left[(\bar{f}(\boldsymbol{x})-y)^{2}\right]+\mathbb{E}_{D}\left[\left(y-y_{D}\right)^{2}\right] +2 \mathbb{E}_{D}\left[(\bar{f}(\boldsymbol{x})-y)\left(y-y_{D}\right)\right] \\ =& \mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right]+(\bar{f}(\boldsymbol{x})-y)^{2}+\mathbb{E}_{D}\left[\left(y_{D}-y\right)^{2}\right] \end{aligned} E(f;D)=======ED[(f(x;D)−yD)2]ED[(f(x;D)−fˉ(x)+fˉ(x)−yD)2]ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−yD)2]+ED[2(f(x;D)−fˉ(x))(fˉ(x)−yD)]ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−yD)2]ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−y+y−yD)2]ED[(f(x;D)−fˉ(x))2]+ED[(fˉ(x)−y)2]+ED[(y−yD)2]+2ED[(fˉ(x)−y)(y−yD)]ED[(f(x;D)−fˉ(x))2]+(fˉ(x)−y)2+ED[(yD−y)2]
即
E ( f ; D ) = bias 2 ( x ) + var ( x ) + ε 2 E(f ; D)=\operatorname{bias}^{2}(\boldsymbol{x})+\operatorname{var}(\boldsymbol{x})+\varepsilon^{2} E(f;D)=bias2(x)+var(x)+ε2
泛化误差可分解为偏差、方差、噪声
偏差度量了学习算法期望预测与真实结果的偏离程度;即刻画了学习算法本身的拟合能力;
方差度量了同样大小训练集的变动所导致的学习性能的变化;即刻画了数据扰动所造成的影响;
噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界;即刻画了学习问题本身的难度。
偏差-方差分解说明泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务为了取得好的泛化性能,需要使偏差小(充分拟合数据)而且方差较小(减少数据扰动产生的影响)