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

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

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

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

    方案一:

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

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

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

    方案二:

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

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

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

    第3步训练。

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    Docker入门
    KMP算法
    spring boot整合Thymeleaf
    thymeleaf公共页面元素抽取
    入门oj 6492: 小B的询问
    入门oj 6451: The XOR Largest Pair之二
    入门oj 5499: 讲话模式
    把Windows CA根证书安装到iPhone
    笔记本电脑键盘状态助手KeyboardState
    开启Windows7多用户远程桌面
  • 原文地址:https://www.cnblogs.com/YouXiangLiThon/p/7519263.html
Copyright © 2011-2022 走看看