• 分类问题中,对于训练数据中,如何找出真正有效的数据和让模型自动标注的一些想法


       最近,在学习机器学习的分类问题,数据是一个问题,我们用一些数据训练,发现,训练的数据对好的图片识别率高,对不好的图片识别率低,

    虽然通常好的图片比较多,但是就像svm一样,支持边界的就那几个点,所以决定分类边界的往往是分错的点。但这并不绝对,因为好的数据

    可以决定大的边界,差的数据决定小的边界,因此,这就产生了好几种方案:

    方案一:

    1、用所有数据(如果数据量大,取局部手动标注)训练一个初步模型,并用该模型对所有数据进行一轮分配(类)。

    2、手工找出模型分类错误的点,手动调整后再训练(根据数据大小采取局部和整体相结合)

    3、最终用半自动分类的数据进行训练整体模型

    方案二:

    1、用所有数据(如果数据量大,取局部手动标注)训练一个初步模型,并用该模型对所有数据进行一轮分配(类)。

    2、挑出分类错误的样本,并手动分类,在第一轮中,分类正确的样本我们称为好的数据,分类错误的称为边界样本。

    现在,问题来了,如何协同这些样本?可以去边界样本数据和好的数据1:1(or n:m)按一定比例构成新的数据集然后进入

    第3步训练。

    3、最终用半自动分类的数据进行训练整体模型

    如果数据量大,可以重复1、2步骤。

    为什么这样做?因为通常是好的数据比边界数据多得多,当10000张好的数据和1张边界数据进行分类,准确率也达到99.99%,

    但,我们为什么不用error 产生者,去训练,这样收敛的也快,也减少了不必要的epoch。

    当然,上面还可以衍生各种组合。

    有监督学习就像一把枪,指哪打哪,但是,你乱指(数据乱标),那他就乱打。

    对于不好区分,或者人眼看过去比较边界模棱两可的图像,比如将两种花区分开来,但是

    实际应用这图片不是都是非常好的图像,会存在曝光、偏光、夜晚等情况,如果有些图片是

    在夜晚拍摄,这时候两种花大部分背景色调都是黑色,都不好区分,这时候训练的边界数据

    就需要用learning rate小一些比较好。

    (转载需获得作者同意哦)

  • 相关阅读:
    v-bind绑定属性
    vue 第二次学习笔记 v-once v-html
    P4428-[BJOI2018]二进制【树状数组,set】
    P5180-[模板]支配树
    《架构之美》阅读笔记一
    Python基础04----条件控制
    Tensorflow2.0笔记33——Keras 来搭建神经网络的“八股”套路
    每周总结
    架构漫谈阅读笔记01
    Tensorflow2.0笔记32——卷积神经网络
  • 原文地址:https://www.cnblogs.com/YouXiangLiThon/p/7519263.html
Copyright © 2020-2023  润新知