220127_202202_机器学习中的实验方法与原则
220127_202202_机器学习中的实验方法与原则
目录- 220127_202202_机器学习中的实验方法与原则
- 训练集与测试集
- 验证集
- 随机重复实验
- K折交叉验证
- 统计有效性检验
- 伯努利试验
- 样本错误率与真实错误率
- 偏差与方差
- 正态分布的置信区间
- 二项分布与正态分布的联系
- 求置信区间的一般方法
训练集与测试集
-
训练集:模型可见样本标签,用于训练模型,样本数有限。
-
测试集:用于评估模型在可能出现的未见样本上的表现。
尽可能与训练集互斥,即测试样本尽量不在训测试练集中出现。
训练集与测试集的划分方法:
-
随机划分
- 按比例。
- 固定数目。
-
留一化分(leave-one-out)
- 一个样本作测试,其余样本训练:常用于K近邻等算法的性能评估。
-
特殊划分
- 按时间划分,例如1—5月气象数据作训练,6月气象数据作测试。
- 推荐系统中,常把每个用户交互序列的最后一个样本作测试,其余作训练。
验证集
- 验证集:从训练集中额外分出的集合,一般用于超参数的调整
- 训练轮次、正则化权重、学习率等等
不在训练集上调整超参数:防止过拟合训练集。
不在测试集上调整超参数:防止过拟合测试集,破坏测试集的未见性。
实验流程:将训练集再次划分为新的训练集与验证集;
在新的训练集上用训练不同模型;
用验证集检验不同模型的性能;
选择性能最好的模型作为最终模型,并用测试集测试。
随机重复实验
- 由于可能出现特殊情况:模型性能不好,但是测试集的测试结果很好。
为了避免这种情况,要多次的、随机的实验。
可以选择增加测试样本、重复多次划分数据集等方法,增强数据随机性。
- 在训练模型前,会对参数进行随机初始化,根据具体算法的区别,不同的初始化的最终训练结果可能有区别。
因此,可以更改生成随机数的随机种子,增强模型随机性。
应当注意每次的评价之间 独立同分布(实际工作中,每次实验的参数不应在前一次实验的基础上修改)。
实验报告中应当包含评价指标的均值、标准差、标准误差。
均值:
\[\overline{\mathrm{X}}=\frac{1}{n} \sum_{i=1}^{n} \mathrm{X}_{i} \\ S=\sqrt{\sum_{i=1}^{n}\left(X_{i}-\bar{X}\right)^{2} /(n-1)} \\ \text { Standard Error of the Mean, } S E M=\frac{S}{\sqrt{n}}=\sqrt{\sum_{i=1}^{n}\left(\mathrm{X}_{i}-\overline{\mathrm{X}}\right)^{2} /(n(n-1))} \]标准差、标准误差是什么?
参考下博客:
(23条消息) 标准差(Standard Deviation) ,标准误差(Standard Error)及置信区间(CI)通俗解释_soga235的博客-CSDN博客_标准差的置信区间公式
样本标准差:个体离散程度 ,反映了个体对样本均值的代表性。
标准误差 :样本均值的离散程度 ,反映了样本均值对总体的代表性。
为什么标准差下面是n-1?
参考知乎回答(运用基础数理统计知识可证):
为什么样本方差(sample variance)的分母是 n-1? - 知乎 (zhihu.com)
K折交叉验证
随机把数据集分成K个相等大小的不相交子集,每次取其中一个做测试集,其他的做训练集。
这样能取到K个评价指标。
优点 :数据利用率高。缺点:训练集之间有交集,难满足独立同分布。
K越大:
- 所估计的模型效果偏差(bias )下降,方差(variance)上升。
- 计算代价上升 。
统计有效性检验
Q1:为什么 一个假设在有限量数据上测得的准确率 能估计 在这个假设在未见数据上的准确率p?
考察错误率的数学期望与方差
Q2:估计所得的准确率中含有多少错误?
考察置信区间
伯努利试验
可以将假设模型做出判断看做是一种伯努利试验(经典的例子:抛硬币n次r次向上)。
设试验E只有两个可能结果:\(A\)及\(\bar{A}\),则称E为伯努利(Bernoulli)试验.设\(P(A)=p\ (0<p<1)\),此时\(P(\bar A)=1-p\ (0<p<1)\)。将E独立重复地进行n次,则称这一串重复的独立试验为n重伯努利试验。以X表示n重伯努利试验中A发生的次数。
n重伯努利试验中,事件A恰好发生 k 次的概率为:
\[P(X=k)=C_{n}^{k} p^{k}(1-p)^{n-k}(k=0,1,2, \cdots, n) \]对于随机变量X,求得分布律成为二项分布。记为\(X \sim b(n, p)\)。
由概率论的相关知识,二项分布的数学期望与方差的推导如下:
\[\begin{aligned} & E(X)=\sum_{k=0}^{n} k \cdot P\{X=k\}=\sum_{k=0}^{n} k\left(\begin{array}{l} n \\ k \end{array}\right) p^{k}(1-p)^{n-k} \\ =& \sum_{k=0}^{n} \frac{k n !}{k !(n-k) !} p^{k}(1-p)^{n-k} \\ =& \sum_{k=1}^{n} \frac{n p(n-1) !}{(k-1) ![(n-1)-(k-1)] !^{1}} p^{k-1}(1-p)^{(n-1)-(k-1)} \\ =& n p \sum_{k=1}^{n} \frac{(n-1) !}{(k-1) ![(n-1)-(k-1)] !} p^{k-1}(1-p)^{(n-1)-(k-1)} \\ =& n p[p+(1-p)]^{n-1}=n p \end{aligned} \]\[\begin{array}{l} E\left(X^{2}\right)=E[X(X-1)+X]=E[X(X-1)]+E(X) \\ =\sum_{k=0}^{n} k(k-1)\left(\begin{array}{l} k \\ n \end{array}\right) p^{k}(1-p)^{n-k}+n p \\ =\sum_{k=0}^{n} \frac{k(k-1) n !}{k !(n-k) !} p^{k}(1-p)^{n-k}+n p \\ =n(n-1) p^{2} \sum_{k=2}^{n} \frac{(n-2) !}{(n-k) !(k-2) !} p^{k-2}(1-p)^{(n-2)-(k-2)}+n p \\ =n(n-1) p^{2}[p+(1-p)]^{n-2}+n p=\left(n^{2}-n\right) p^{2}+n p . \\ D(X)=E\left(X^{2}\right)-[E(X)]^{2}=\left(n^{2}-n\right) p^{2}+n p-(n p)^{2} \\ =n p(1-p) \end{array} \]样本错误率与真实错误率
在估计假设准确率的问题中,假设n个随机样本中有r个被误分类。每一个样本被误分类的概率为p。
记 该假设对于一个未知样本被误分类的真实概率为 $\operatorname{error}_{D}(h)=p $
记 由测试集测试所得错误率为 \(error_{S}(h)=r / n\) (S记为测试集)
那么有:
即 样本的错误率的数学期望 等于 真实的错误率。
又有:
\[\sigma_{\text {error }_{S}(h)}=\frac{\sigma_{r}}{n} &=\frac{\sqrt{n p(1-p)}}{n}=\sqrt{\frac{\operatorname{error}_{D}(h)\left(1-\operatorname{error}_{D}(h)\right)}{n}} \\ \]由于 样本的错误率的数学期望 等于 真实的错误率,所以:
\[\sigma_{\text {error }_{S}(h)} =\frac{\sigma_{r}}{n} \approx \sqrt{\frac{e r r o r_{S}(h)\left(1-e r r o r_{S}(h)\right)}{n}} \]偏差与方差
(1) 估计偏差 (Bias)
S 是训练集 , \(error_S^{(h)}\) 是有偏好的,
对于无偏估计(bias =0), h和S必须独立不相关地产生。所以不要在训练集上测试 !
(2) 估计 方差 (Variance )
即使是 S 的无偏估计 , \(error_S^{(h)}\)可能仍然和 \(error_D^{(h)}\)不同
希望 选择 无偏 且 方差小 的估计。
正态分布的置信区间
参数p 的N %置信区间:一个以 N %的概率包含 p 的区间 , N%: 置信度。
对二项分布来说置信区间较难获得;
对正态分布来说就很容易。通过正态分布的某个区间(面积)来获得。
\(\text { 指标 } \mathrm{y} \text { 有 } N \% \text { 的可能性落在区间 } \mu \pm z_{N} \sigma\)
$等价于, 均值 \mu 有 N % 的可能性落在区间 y \pm z_{N} \sigma $
\[\begin{array}{c|ccccccc|} \hline N \%: & 50 \% & 68 \% & 80 \% & 90 \% & 95 \% & 98 \% & 99 \% \\ z_{N}: & 0.67 & 1.00 & 1.28 & 1.64 & 1.96 & 2.33 & 2.58 \\ \hline \end{array} \]二项分布与正态分布的联系
对于足够大的采样大小,二项分布,可以通过正态分布 近似表示。经验法则 : n>30,np(1-p) >5。
求置信区间的一般方法
中心极限定理:
求解置信区间的一般方法如下,其中,中心极限定理解决了如何求Y得分布的问题:
如果h1在数据的一个样本集上表现优于h2,那么h1 总体上确实更好的概率有多大?
有:
\[\sigma_{\mathrm{d}} \approx \sqrt{\frac{\operatorname{error}_{1}(}{\left(\mathrm{h}_{1}\right)\left(1-\operatorname{error}_{1}\left(\mathrm{~h}_{1}\right)\right)}{\mathrm{n}_{1}}+\frac{\text { error }_{\mathrm{S}_{2}}\left(\mathrm{~h}_{2}\right)\left(1-\text { error }_{2}\left(\mathrm{~h}_{2}\right)\right)}{\mathrm{n}_{2}}} \]满足概率为 N % ,落在的区间(这里写的是双边):
\[\hat{d} \pm z_N \sqrt{\frac{\text { error }_{1}\left(h_{1}\right)\left(1-\text { error }_{S_{1}}\left(h_{1}\right)\right)}{n_{1}}+\frac{\text { error }_{2}\left(h_{2}\right)\left(1-\text { error }_{S_{2}}\left(h_{2}\right)\right)}{n_{2}}} \]我们只要考察d>0的概率即可。
举例:
这里d,认为是均值。有:
\[P(d>0) =P(d+0.1\ >\ \hat{d}) =P\left(\hat{d}\ <\ \mu+\frac{0.1}{\sigma_d} \times \sigma_d\right) \]只要按照单边置信区间查询表格即可。
由以上推导可知,样本数n越大,置信度越高。
这是一种Z估计(又叫U检验)。
Z检验与T检验暂不做介绍。