机器学习-周志华-课后习题-模型选择与评估

  1. 文中提到,在机器学习的过程中,过拟合总是无法彻底避免的。其中,关于PNP的论述,个人理解为:对于一个有效的算法,它一定要在多项式时间内运行完成。此时,算法可以恰当程度地学习到所需要的知识,也就是说既不会欠拟合,也不会过拟合,此时学习得到的模型是最优的。但是通常而言,机器学习问题是NP-Hard,甚至更难的问题,倘若多项式时间的算法可以解决NP-Hard问题。也就是说,我们创造性地证明了 P = N P P=NP P=NP,这个计算机理论难题。然而,当前我们一般认为NP-Hard问题多项式时间内不可解。也就是说,过拟合总是存在。

  2. 设计算法得出模型,为了对模型进行评估,有许多评估方法,具体包括:留出法、交叉验证法、自助法。使用这些评估方法,具体地度量指标包括:均方误差、错误率、准确率、查全率、查准率、ROC、AUC、

  3. 我们可以以查全率为横坐标、查准率为纵坐标得到P-R曲线。如果一个学习器的P-R曲线被另一个学习器完全包住,则后者更优。在两者有交叉时,采用平衡点(break-even point)来进行度量。平衡点定义为P==R的点。平衡点值大的点拥有更优的性能。

  4. ROC(Receiver Operating Characteristic, 受试者工作特征),是以假正例率为横坐标,真正例率为纵坐标画出的曲线。这里:
    F P R = F P F P + T N ,        T P R = T P T P + F N FPR=\frac{FP}{FP+TN},\ \ \ \ \ \ TPR=\frac{TP}{TP+FN} FPR=FP+TNFP,      TPR=TP+FNTP

与P-R曲线类似,若一个学习器的ROC被另一个学习器所包含,则后者拥有更优的性能。在两者出现交叉时,则需要使用AUC度量,即该图形的面积。用梯形累成的规则:
A U C = 1 2 ∑ i = 1 m ( x i + 1 − x i ) ( y i + 1 + y i ) \mathtt{AUC}=\frac{1}{2}\sum_{i=1}^m(x_{i+1}-x_i)(y_{i+1}+y_i) AUC=21i=1m(xi+1xi)(yi+1+yi)
记:
l r a n k = 1 m + m − ∑ x + ∈ D + ∑ x − ∈ D − ( I ( f ( x + ) < f ( x − ) + 1 2 I ( f ( x + ) = f ( x − ) ) ) l_{rank} = \frac{1}{m^+m^-}\sum_{x^+\in D^+}\sum_{x^-\in D^-}(\mathbb{I}(f(x^+)<f(x^-)+\frac{1}{2}\mathbb{I}(f(x^+)=f(x^-))) lrank=m+m1x+D+xD(I(f(x+)<f(x)+21I(f(x+)=f(x)))
则有, A U C = 1 − l r a n k \mathtt{AUC}=1-l_{rank} AUC=1lrank.

习题

2.1 按照评估方法中留出法的规则,我们应当尽量保证数据分布的一致性。在不考虑分层抽样的前提下,对于每个差异个人进行划分,这样,在得到的训练/测试集中,应当是700个训练样本,其中正例、反例各350个。则,认为划分方式共有: C 500 350 × C 500 350 C_{500}^{350} \times C_{500}^{350} C500350×C500350.

2.2

采用十折交叉验证法:

数据集分为十份,每份包含十个样本,正例、反例各五个。此时,得到模型进行预测,由于正反例个数相同,则模型进行随机猜测,错误率为 1 2 \frac{1}{2} 21

采用留一法:

每次留下一份作为测试集,其余样本作为训练集中的样本。可知,当作为测试集的样例是正例,则它必然被预测为反例,同理,若他为反例,则必然被 预测为正例。可知:
E ( f ∣ D ) = 1 m ∑ m I ( f ( x ) ≠ y i ) = 1 E(f|D)=\frac{1}{m}\sum_m \mathbb{I}(f(x)\ne y_i)=1 E(fD)=m1mI(f(x)=yi)=1
2.3 举个例子!很好的答案

2.4

真实情况预测结果
正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

KaTeX parse error: No such environment: split at position 8: \begin{̲s̲p̲l̲i̲t̲}̲ &\mathtt{TPR}=…

由公式可知: R = T P R \mathtt{R}=\mathtt{TPR} R=TPR.

2.5 A U C = 1 = l r a n k \mathtt{AUC}=1=l_{rank} AUC=1=lrank

Proof:
l r a n k = 1 m + m − ∑ x + ∈ D + ∑ x − ∈ D − ( I ( f ( x + ) < f ( x − ) ) + 1 2 I ( f ( x + ) = f ( x − ) ) ) l_{rank}=\frac{1}{m^+ m^-}\sum_{x^+ \in D^+}\sum_{x^- \in D^-}(\mathbb{I}(f(x^+)<f(x^-))+ \frac{1}{2}\mathbb{I}(f(x^+)=f(x^-))) lrank=m+m1x+D+xD(I(f(x+)<f(x))+21I(f(x+)=f(x)))
l r a n k l_{rank} lrank的计算过程中,我们发现,它与 A U C \mathtt{AUC} AUC的计算规则正好相反。首先我们来回顾一下 A U C \mathtt{AUC} AUC的计算规则:

1) 将学习器对于测试集的预测结果,按照成为正例的预测值大小排序(由大到小)

2) 由第一个样例开始,对于每一个样例,将其预测为正例,计算当前的假正例率、真正例率。

按照计算规则,排序之后,我们一次选定阈值,将大于阈值的的样例判定为正,如果存在多个样例学习器计算出的值相等,首先预测模型会将这些样例都判断为正,那么我们考虑 a) 若这些样例均为真正例,那么对应图形中的线应该是往上(真正例率增加),若均为假正例则往右(假正例率增加),若既有真正例又有假正例则往斜上方。

故而,可以发现, A U C \mathtt{AUC} AUC与样本预测的排序质量有关,若样本的正例预测值总是高于样本反例预测值时,应有 A U C = 1 \mathtt{AUC}=1 AUC=1成立。但是,若出现样本反例预测值高于样本正例预测值,那么就出现图中向右或斜上方移动的情况。即,计算出反例预测值高于正例的个数,即可得到图形中上方空缺出来的面积,也就是说 A U C = 1 − l r a n k \mathtt{AUC}=1 - l_{rank} AUC=1lrank

2.6 先来看定义,首先是错误率:
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}(f(x_i)\ne y_i) E(f;D)=m1i=1mI(f(xi)=yi)
对于ROC曲线,他的横坐标是假正例率,总坐标是真正例率。对于一个学习器,我们选定阈值之后,错误率应该与假正例率相等。

2.7 由代价曲线画法,可得。

2.8 Min−max 规范化方法简单,而且保证规范化后所有元素都是正的,每当有新的元素进来,只有在该元素大于最大值或者小于最小值时才要重新计算全部元素。但是若存在一个极大(小)的元素,会导致其他元素变的非常小(大)。
z−score 标准化对个别极端元素不敏感,且把所有元素分布在00的周围,一般情况下元素越多,00周围区间会分布大部分的元素,每当有新的元素进来,都要重新计算方差与均值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值