机器学习之模型评估和选择

一、模型评估的一些基本术语

  • 经验误差

    指学习器在训练集上的误差

  • 泛化误差

    指学习器在新样本上的误差

  • 泛化能力

    学习的模型适应新样本的能力,即在预测新样本时的效果好坏

  • 过拟合

    模型训练过度,把训练样本自身的一些特点当成所有潜在样本的一般性质,导致泛化能力下降

  • 欠拟合

    模型对于训练样本的一般性质尚未学好,即学的还不够,能力还有待加强

  • 模型选择

    即面对不同的模型如何选择一个最优的模型作为我们的学习结果,一般而言不同的学习算法也会产生不同的模型,在各种参数上会有差异,理想情况是获得一个泛化能力最强的那个模型,但事实上很难判断模型的泛化能力,数据的采集是一个问题,所以机器学习中常用一些指标进行评估模型的好坏

二、模型评估的方法

我们希望得到一个泛化性能比较强的模型,一般而言是通过对数据集D进行划分成训练集S和测试集T,然后采用下列方法进行不同的处理,以获得最佳的模型

1.留出法

将数据集D划分成两个互斥的数据集,一个作为训练集,一个作为测试集,用测试集上的模型的效果对泛化误差进行估计

一般而言为了保持数据的分布的一致性,采取分层随机抽样的方法获得训练集和测试集

2.交叉验证法

先将数据集划分成k个相似的互斥子集,为保持数据分布的一致性,同样也是采取分层随机抽样,每次使用k-1个子集作为训练集,剩下的那个作为测试集,即可以获得k组训练结果,然后采取一定的方法进行最终结果的判断,比如,如果是离散值,投票法选最优,连续值,简单取平均即可。

一个特例:留一法,即每个子集都只包含一个数据的交叉验证法,这样的做法在小样本是非常有用的,避免了样本的不足导致模型训练不够的困难,但也有缺点,当数据量比较大的时候模型的计算等等开销比较大。

3.自助法

即有放回的随机抽样,每次随机的取一个数据出来,然后拷贝到一个集合中,重复m次即得到集合D1,初始集合为D,利用简单的极限推导可知,D中大概有1/3的数据不会出现在D1中,故取D1为训练集,D\D1为测试集,D1中可能有重复的数据,同样也在小规模的数据中比较常用,在大型数据集中由于其改变了数据的分布,可能会产生较大的估计偏差。

在数据量比较充足的情况下,留出法和交叉验证法更常用一点。

三、评价指标

这里由于时间匆忙写不了公式,后面有时间会补充的

  • 均方误差

    与预测值的误差平方的期望,离散型和连续型分别对应一个公式

    公式1,公式2

  • 错误率

    分类错误的样本数占样本总数的比例

    公式3

  • 精度

    分类正确的样本数占样本总数的比例

    公式4

  • 混淆矩阵

    预测结果
    真实情况正例反例
    正例TP(真正例)FN(假反例)
    反例FP(假正例)TN(真反例)

    T、F代表是否预测正确(True False)

    P、N代表预测的结果(Positive Negative)

  • 查准率(P):预测为正例中,正例的比例

​ 公式5

  • 查全率(R):实际为正例中,正例的比例

​ 公式6

  • F1值

    查准率和查全率的调和平均,即倒数等于二者倒数的平均

    公式7

  • P-R曲线

    将样本按照可能为正类的置信度从小到大排序,选择一个样本作为阈值点,大于他的值都看成正类,其他看成负类,这样就可以计算一组查全率和查准率,然后按照横坐标为查全率纵坐标为查准率绘制成一条曲线

    简单记忆查全率和查准率的方法,查全率就是在实际正类中的占比,查准率就是在预测正类中的占比

  • ROC曲线

    和P-R曲线类似,只是横纵坐标换了一下

    纵坐标为真正例率,即真正的正例在实际正例中的占比

    横坐标为假正例率,即预测为假的正例在实际负例中的占比

  • AUC

    即ROC 曲线包围的面积

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wresource

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值