aihot  2017-05-17 23:47:19  机器学习 |   查看评论   

 ML 04、模型评估与模型选择

机器学习算法 原理、实现与实践——模型评估与模型选择
1. 训练误差与测试误差
机器学习的目的是使学习到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。
 
假设学习到的模型是模型评估与模型选择,训练误差是模型模型评估与模型选择关于训练数据集的平均损失:
模型评估与模型选择

其中NN是训练样本容量。
 
测试误差是模型模型评估与模型选择关于测试数据集的平均损失:

 
模型评估与模型选择
其中N′是测试样本容量。
 
当损失函数是0-1损失时,测试误差就变成了常见的测试数据集上的误差率(预测错误的个数除以测试数据的总个数)。
 
训练误差的大小,对判定给定问题是不是一个容易学习的问题是有意义的,但本质上不重要。测试误差反映了学习方法对未知数据集的预测能力,是学习中的重要概念。显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。通常将学习方法对未知数据的预测能力称为泛化能力(generalization ability)。
 
2. 过拟合与模型选择
我们知道假设空间理论上有无限个模型,它们有着不同的复杂度(一般表现为参数个数的多少),我们希望选择或学习一个合适的模型。
 
如果一味提高对训练数据的预测能力,所选的模型的复杂度则往往会比真实模型更高。这种现象称为过拟合。过拟合是指学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测很好,但对未知数据预测很差的现象。
 
下面,以多项式函数拟合问题为例,说明过拟合与模型选择,这是一个回归问题。
 
现在给定一个训练数据集:
模型评估与模型选择

其中,Xi∈R是输入X的观测值,Yi∈R是相应的输出y的观测值。多项式函数拟合的任务是假设给定数据由M次多项式函数生成,选择最有可能产生这些数据的M次多项式函数,即在M次多项式函数中选择一个对已知数据以及未知数据都有很多预测能力的函数。
 
设M次多项式为:
模型评估与模型选择


对于上面这个问题,模型的复杂度即为多项式的次数;然后在给定的模型复杂度下,按照经验风险最小化策略,求解参数,即多项式的系数,具体地,求以下经验风险最小化:

模型评估与模型选择

 

这时,损失函数为平方损失,系数模型评估与模型选择是为了计算方便。
 
我们用y=sin(x)生成10个数据点,并适当的在y值上加了一些误差,下面我们分别用0~9次多项式对数据进行拟合。
 
模型评估与模型选择
 
模型评估与模型选择
 
模型评估与模型选择

上图给出了M=1,M=3,M=9时多项式拟合的情况。当M=1时多项式曲线是一条直线,数据拟合效果很差。相反,如果M=9,多项式曲线通过每个数据点,训练误差为0。从对给定的训练数据拟合的角度来说,效果是最好的。但是因为训练数据本身存在噪声,这种拟合曲线对未知数据的预测能力往往并不是最好的,这时过拟合现象就会发生。

 

import numpy as np
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自ML 04、模型评估与模型选择

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]