zoukankan      html  css  js  c++  java
  • 随机森林--调参

    模型调参 第一步是要找准目标:我们要做什么?一般来说,这个目标是提升
    某个模型评估指标,比如对于随机森林来说,我们想要提升的是模型在未知数据上的准确率(由score或
    oob_score_来衡量)。找准了这个目标,我们就需要思考:模型在未知数据上的准确率受什么因素影响?在机器学
    习中,我们用来衡量模型在未知数据上的准确率的指标,叫做泛化误差(Genelization error)
    泛化误差
      当模型在未知数据(测试集或者袋外数据)上表现糟糕时,我们说模型的泛化程度不够,泛化误差大,模型的效果
    不好。泛化误差受到模型的结构(复杂度)影响。看下面这张图,它准确地描绘了泛化误差与模型复杂度的关系,
    当模型太复杂,模型就会过拟合,泛化能力就不够,所以泛化误差大。当模型太简单,模型就会欠拟合,拟合能力
    就不够,所以误差也会大。只有当模型的复杂度刚刚好的才能够达到泛化误差最小的目标。
      那模型的复杂度与我们的参数有什么关系呢?对树模型来说,树越茂盛,深度越深,枝叶越多,模型就越复杂。所 以树模型是天生位于图的右上角的模型,随机森林是以树模型为基础,所以随机森林也是天生复杂度高的模型。

      随机森林的参数,都是向着一个目标去:减少模型的复杂度,把模型往图像的左边移动,防止过拟合。当然了,调参 没有绝对,也有天生处于图像左边的随机森林,所以调参之前,我们要先判断,模型现在究竟处于图像的哪一边。 泛化误差的背后其实是“偏差
    -方差困境”,原理十分复杂,无论你翻开哪一本书,你都会看见长篇的数学论证和每个 字都能看懂但是连在一起就看不懂的文字解释。在下一节偏差vs方差中,我用最简单易懂的语言为大家解释了泛化 误差背后的原理,大家选读。那我们只需要记住这四点: 1)模型太复杂或者太简单,都会让泛化误差高,我们追求的是位于中间的平衡点 2)模型太复杂就会过拟合,模型太简单就会欠拟合 3)对树模型和树的集成模型来说,树的深度越深,枝叶越多,模型越复杂 4)树模型和树的集成模型的目标,都是减少模型复杂度,把模型往图像的左边移动
  • 相关阅读:
    xposed的基本使用
    scrapy发送邮件
    Image Pipeline
    javax.validation.ConstraintViolationException---Hibernate后台实体校验
    oracle中lead和lag函数 (转载)
    oracle中根据当前记录查询前一条和后一条记录
    物化视图知识了解(转载)
    10个线程同步处理1000行消息
    SQL语句执行效率及分析(note)
    js对文本框特殊字符串过滤
  • 原文地址:https://www.cnblogs.com/zhange000/p/10483536.html
Copyright © 2011-2022 走看看