模型评估与选择

1 统计学习三要素

  • 方法 = 模型 + 策略 + 算法

  • 模型:若假设空间以F表示,决策函数(或假设)以f表示,则F = {f|Y = f(X)}

    ​ 其中Y称为标记空间(或输出空间),X称为样例集合

    • 如果模型由参数控制,则又将假设空间称为参数空间

      F = {f|Y = f_\theta(X), \theta \in R^n}

      例如条件概率模型:

      F = {P|P(Y|X)}或F = {P|P_\theta(Y|X), \theta \in R^n}

  • 策略:通过训练获得优秀模型的准则

    • 损失函数:以决策函数f映射得到的输出值\hat Y与真实值Y的差距作为自变量的函数

      1. 0-1损失
        L(Y,f(X)) = \left\{\begin{array}{rcl}1, Y \not = f(X) \\0, Y = f(X)\end{array}\right.

      2. 平方损失函数
        L(Y,f(X)) = (Y - f(X))^2

      3. 绝对损失函数
        L(Y,f(X)) = |Y - f(X)|

      4. 对数损失函数
        L(Y,P(Y|X)) = -logP(Y|X)

      5. 风险函数(期望损失):将模型的输入和输出(X,Y)视为随机变量,考虑其联合分布P(X,Y)
        R_{exp}(f) = E_p[L(Y,f(X))] = \int_{x,y}L(y,f(x))P(x,y)dxdy

        • 机器学习的目的是使得期望风险最小化,即
          f^* = argminR_{exp}(f)

        • p(x,y)未知的情况下,将训练数据D = {(x1,y1),(x2,y2),...,(x_N,y_N)}视为从(X,Y)总体中抽取的一个样本,得到如下离散分布(经验分布):

          (X',Y') (x1,y1) (x2,y2) ... (x_N,y_N)
          P \frac{1}{N} \frac{1}{N} \frac{1}{N}

          由此导出经验风险(ER)
          R_{emp}(f) = \frac{1}{N}\Sigma_{i = 1}^{N}L(y_i,f(x_i))

        • 经验风险最小化(ER):
          f^*(D_N) = argmin_{f \in F}L(f,D_N) = argmin_{f \in F}\frac{1}{N}L(y_i,f(x_i))

        • 结构风险(SR):
          R_{sr}(f) = \frac{1}{N}\Sigma_{i = 1}^NL(y_i,f(x_i)) + \lambda J(f)
          在有限的训练数据上用经验风险估计期望风险并不理想,需要对经验风险作一定的矫正

          J(f)表示模型的复杂度,f越简单,复杂度J(f)就越小

        • 结构风险最小化
          f^*(D_N) = argmin_{f\in F}L(f,D_N) = argmin\frac{1}{N}\Sigma_{i = 1}^NL(y_i,f(x_i)) + \lambda J(f)

        • 定理:在二分类问题中,最优的决策函数f^*的形式是由后验概率\eta(x)定义的,即

          ​ 对任意的f: X \rightarrow Y
          R(f)-R(f^*) = E(\mathbb I[f(X) \not =f^*(X)]|2\eta(x) - 1|)

          对于二分类问题Y = {0,1}, 假设(X,Y)的联合分布由(\mu,\eta)表示

          其中\muX的边缘分布,\etaY的条件分布,\eta(X) = P(Y = 1|X)

          损失函数L(Y,f(X)) = \mathbb I[Y \not = f(X)]

          于是可计算任何一个可测函数f的风险
          R(f) = EL(Y,f(X)) = P[Y \not = f(X)]
          定义R^*为最优风险,R^* = argmin_fR(f)

          定义使得风险最优的决策函数f^*(此处为后验概率)
          f^*(X) = \left\{ \begin{array}{l} 1, \eta(X) = P(Y = 1|X) \geq 1/2 \\ 0, otherwise \end{array} \right.
          证明:
          \begin{array}{l}R(f) - R(f^*) \\= P[Y \not = f(X)] - P[Y \not = f^*(X)] \\= E_{X,Y}[\mathbb I[f(X) \not = Y]-\mathbb I[f^*(X)\not = Y]] \\= E_{X,Y}\{\mathbb I[f(X) \not = f^*(X)](\mathbb I[f(X) \not = Y]-\mathbb I[f^*(X)\not = Y]) \} \\= E_{X,Y}\{\mathbb I[f(X) \not = f^*(X)](\mathbb I[f(X) \not = Y] - (1 - \mathbb I[f^*(X) = Y])) \}\\= E_{X,Y}\{\mathbb I[f(X) \not = f^*(X)](2 \mathbb I[f^*(X) = Y] - 1) \} \\= E_{X}\{\mathbb I[f(X) \not = f^*(X)](2 E_{Y|X}\mathbb I[f^*(X) = Y] - 1) \} \\= E_{X}\{\mathbb I[f(X) \not = f^*(X)](2(\mathbb I[f^*(X) = 1]P(Y = 1|X)+ \mathbb I(f^*(X) = 0)P(Y = 0|X)-1)\} \\= E_{X}\{\mathbb I[f(X) \not = f^*(X)](2(\mathbb I[f^*(X) = 1]\eta(X)+ \mathbb I[f^*(X) = 0][1-\eta(X)]\}\\= E_{X}\{\mathbb I[f(X) \not = f^*(X)](2 (1/2 + |\eta(x)-1/2|) - 1) \} \\= E_{X}\mathbb[f(X) \not = f^*(X)](|2\eta(x)-1|)\end{array}

  • 算法:学习模型的具体计算方法,例如将统计学习问题归结为最优化问题,以及梯度学习算法,深度学习算法

    1. 如果最优化问题有显示解析解,则直接进行求解
    2. 如果没有显示解,则应当考虑如何保证解的全局最优与高效性

2 经验误差与过拟合

​ 假设机器学习模型为Y = \hat f(x)

  • 训练误差(training error):在训练集上预测的结果与训练集的真实结果的差异,也称为经验误差(empirical error)
    R_{emp}(\hat f) = \frac{1}{N}\Sigma_{i=1}^NL(y_i,\hat f(x_i))
  • 训练误差率:分类错误的样本数a占训练样本总数N的比例,1 - E称为精度
    E = \frac{a}{N}
  • 泛化误差(genenralized error):测试集或新样本上的预测误差
    R_{test} = \frac{1}{N_{test}}\Sigma_{i=1}^{N_{test}}L(y_i,\hat f(x_i))

由于既没必要再拿新样本进行泛化误差计算,也不能仅依靠经验误差去估计泛化误差,那么可以从训练样本中取出部分作为新样本,并用这些样本计算出来的误差作为泛化误差的近似。这组样本被称为“测试集”,测试集上的误差称为测试误差。

2.1 留出法 (hold-out)

将数据集D划分为训练集S和测试集TD = S \cup T, S\cap T = \empty. 记样本量为N_T,泛化误差表示为:
\hat R_{test}^{HO} = \frac{1}{N_T}\Sigma_{x_i\in T}L(y_i,\hat f(x_i))

  • 要有足够的样本量以保证训练模型的效果

  • 在划分时要保证数据分布的一致性,如果样本中正例和反例的比例为2:3,则训练集和测试集中的正例和反例的比例也为2:3

  • 为降低随机划分的影响,应重复划分训练集和测试集,对得到的多次结果取平均作为最终结果

  • 优点:打破了基于相同的数据进行训练和测试的分析,避免了训练和测试数据重叠引起的过拟合

  • 缺点:过分依赖于某一次数据划分,划分方式直接影响着估计的精度,经验上按照1:2与1:4的比例划分测试集与训练集

2.2 交叉验证法(cross validation)

将数据划分为k个大小相似的互斥子集,D = D_1 \cup ...\cup D_k, D_i \cap D_j = \empty, i \not = j,分多次进行Hold-out

  1. 留p交叉验证估计(leave-p-out)

    D中取p个样例作为测试集,最多有C_{N}^{p}种取法,p = 1,...,N-1. 假设有放回地抽取/划分数据集C_{N}^{p}次,每次测试集样本量均为p,则留p交叉验证泛化误差估计为
    \hat R_{test}^{LPO}(\hat f) = \frac{1}{C_{N}^{p}}\Sigma_{k=1}^{C_{N}^{p}}\frac{1}{p}\Sigma_{x_i \in T_k}L(y_i,\hat f(x_i))\\

    • 优点:留p交叉验证比多次留出给出的交叉验证的划分组合数从\Sigma_{p=1}^{N-1}C_{N}^{p}减少到C_{N}^{p}

    • 缺点:对较大的样本量N,组合数计算复杂度C_N^p仍然很大

    • p=1时为留一交叉验证(leave-one-out)

  1. RLT Repeated learning-testing

    RLT只基于部分数据划分进行,选择任意大于0的K次数据划分进行泛化误差估计

    • 优点:有可接受的计算开销且操作简单
    • 缺点:K的大小的选择一直是这个方法的最大问题,不同文献有不同的结论,Nadeau和Bengio建议K = 15,训练和测试集的比例选择也没有一个确定的结论
  1. K折交叉验证估计

    D划分为互斥的k个子集,每次训练用其中k-1组数据,用剩下的一组作为测试集。这样进行k次训练与测试,最终返回k次训练误差的均值

2.3 自助法(bootstrapping)

从m个样本的数据集D,随机采样生产训练集D'去估计泛化误差。

  • 样本在m次采样中始终不被采集到的概率为:

\lim_{m \rightarrow \text{infinite}}(1 - 1/m)^m =e^{-1} \approx 0.368

  • 自助法广泛应用于数据集较小、难以有效划分训练/测试集的情形
  • 自助法产生的数据集改变了初始数据集的分布,引入估计偏差
  • 在初始数据量足够时,留出法和交叉验证法更常用一些
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356