python大战机器学习——模型评估、选择与验证
python大战机器学习——模型评估、选择与验证 1、损失函数和风险函数 (1)损失函数:常见的有 0-1损失函数 绝对损失函数 平方损失函数 对数损失函数 (2)风险函数:损失函数的期望 经验风险:模型在数据集T上的平均损失 根据大数定律,当N趋向于∞时,经验风险趋向于风险函数 2、模型评估方法 (1)训练误差与测试误差 训练误差:关于训练集的平均损失 测试误差:定义模型关于测试集的平均损失。其反映了学习方法对未知测试数据集的预测能力 (2)泛化误差:学到的模型对未知数据的预测能力。其越小,该模型越有效。泛化误差定义为所学习模型的期望风险 (3)过拟合:对已知数据预测得很好,对未知数据预测得很差的现象。原因是将训练样本本身的一些特点当做了所有潜在样本都具有的一般性质,这会造成泛化能力的下降。常用的防止过拟合的办法为正则化。正则化是基于结构化风险最小化策略的实现。 3、模型评估 (1)留出法:直接将数据划分为三个互斥的部分,然后在训练集上训练模型,在验证集上选择模型,最后用测试集上的误差作为泛化误差的估计。 (2)交叉验证法(S折交叉验证法):数据随机划分为S个互不相交且大小相同的子集,利用S-1个子集数据训练模型,利用余下的一个子集测试模型。对S种组合依次重复进行,获取测试误差的均值。 (3)留一法:留出一个样例作为测试集。其缺点就是当数据集比较大时计算量太大 (4