前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >周志华《机器学习》笔记(二)

周志华《机器学习》笔记(二)

作者头像
哒呵呵
发布2018-08-06 15:29:08
4150
发布2018-08-06 15:29:08
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记

二、模型评估和选择

错误率:分类错误的样本数占样本总数的比例 E=a/m;相应的1-a/m称为精度

误差:学习器的实际预测输出与样本的真实输出之间的差异。在训练集上的误差称为“训练误差”,在新样本上的是“泛化误差”

过拟合:把训练样本上某些自身的特点也当作了所有潜在样本的一般性质。相反,成为“欠拟合”。这是无法避免的,只能缓解。

评估方法:

测试集:也是从样本真实分布中独立同分布采样而得的,测试集应尽量与训练集互斥

假设只有训练集D = {(x1,y1),(x2,y2),...(xm,ym)},有以下方法处理D生成训练集S和测试集T

1.留出法(hold-out)

直接将D划分为两个互斥的集合。

代码语言:javascript
复制
import random
sampling = [(1,2),(4,3),(2,3)]
def hold_out(sampling):

"""

留出法

"""

代码语言:javascript
复制
    S = random.sample(sampling, 1)
    T = random.sample(sampling, 1)
    return S, T

这个要尽量保持数据的一致性,避免划分过程中引入额外的偏差。

一般要采用若干次随机划分,重复进行实验评估取平均值做留出法的评估结果

2.交叉验证法(cross validation)

将训练集划分为k个大小相似的互斥子集,每个子集尽量保持数据分布的一致性,每次取k-1个子集的并集做训练集,余下的那个做测试集,进行k次训练,返回这k次结果的均值,

3.自助法(bootstrapping)

给定m个样本的数据集D,对其采样产生数据集D':每次随机从D中选取一个样本,将其拷贝放入D',然后再将其样本放回初始数据集D中,使得该样本在下次去数据还能够

取得到。重复m次后,就得到包含m个样本的数据集D'。

这个适用于数据集较少,难以划分训练/测试集时有效。

性能度量

均方误差:

学习器的预测结果f(x),和真实标记y

E(f;D) = 1\m((f(x1)-y)^2 + (f(x2)-y)^2 + ... + (f(xm)-y)^2)

错误率和精度

查准率和查全率

真实情况 预测结果

正例 反例

正例 TP FN

反例 FP TN

查准率P = TP/(TP + FP)

查全率R = TP/(TP + FN)

这是一组矛盾的度量

P-R图

查准率 = 查全率的一点,平衡点

F1度量 = (2 *P*R)/(P+R)

研究学习器在不同任务下的“期望泛化性能”的好坏

ROC图的,纵轴是“真正例率”,横轴是“假正例率”

真正例率 TPR = TP/(TP + FN)

假正例率 FPR = FP/(TN + FP)

判断ROC曲线下面的面积的是AUC图

为衡量不同类型错误造成的不同损失,赋予了“非均等代价”

也就是说,不能将错误一视同仁

偏差与方差

泛化误差可分为偏差,方差与噪声之和

偏差:学习算法的期望预测与真实结果的偏离程度,即算法的拟合能力

方差:同样大小的训练集的变动所导致学习性能的变化,即数据扰动所造成的影响

噪声:在当前任务下,任何算法所能达到的期望方差的下届,即学习问题本身的难度。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档