精华内容
下载资源
问答
  • 调参

    2021-03-24 18:11:03
    调参参数类型参数超参调参方法 参数类型 非水卡,调参没啥内容。如果非要说什么的话,可以调研不同算法的超参都有哪些,各自代表什么含义,大概区间范围是多少,然后使用相应调参工具自动调参就行。 要对参数有概念...

    参数类型

    非水卡,调参没啥内容。如果非要说什么的话,可以调研不同算法的超参都有哪些,各自代表什么含义,大概区间范围是多少,然后使用相应调参工具自动调参就行。

    要对参数有概念,一开始认为机器学习学的就是这些参数啊,后来才意识到,参数也分为两种,超参和机器学习拟合的参数。

    参数

    通过数据,算法自己学习出来的权重等。

    超参

    不是通过数据学出来的,是一些先验的设定,需要人工手动选择。

    调参方法

    调参的方法有很多GridSearchCV、RandomizedSearchCV、skopt、hyperopt等,网上有相应的api,可以直接查看调用,正经人一般都用skopt 或者hyperopt 进行调参。

    展开全文
  • xgboost调参

    2018-11-19 09:58:07
    xgboost调参教程 ,适合机器学习 与风控评分卡调参相关学习。
  • lgb 模型调参 以回归为例子 可以试试贝叶斯调参

    首先,调参方法有几种:

    贪心算法 https://www.jianshu.com/p/ab89df9759c8
    网格调参 https://blog.csdn.net/weixin_43172660/article/details/83032029
    贝叶斯调参 https://blog.csdn.net/linxid/article/details/81189154

    这里以回归任务、 lgb 模型为例子:

    参数集合

    objective = ['regression', 'regression_l1', 'mape', 'huber', 'fair']
    num_leaves = [3,5,10,15,20,40, 55]
    max_depth = [3,5,10,15,20,40, 55]
    bagging_fraction = []
    feature_fraction = []
    drop_rate = []
    

    1 贪心调参

    best_obj = dict()
    for obj in objective:
        model = LGBMRegressor(objective=obj)
        score = np.mean(cross_val_score(model, X=train_X, y=train_y_ln, verbose=0, cv = 5, scoring=make_scorer(mean_absolute_error)))
        best_obj[obj] = score
        
    best_leaves = dict()
    for leaves in num_leaves:
        model = LGBMRegressor(objective=min(best_obj.items(), key=lambda x:x[1])[0], num_leaves=leaves)
        score = np.mean(cross_val_score(model, X=train_X, y=train_y_ln, verbose=0, cv = 5, scoring=make_scorer(mean_absolute_error)))
        best_leaves[leaves] = score
        
    best_depth = dict()
    for depth in max_depth:
        model = LGBMRegressor(objective=min(best_obj.items(), key=lambda x:x[1])[0],
                              num_leaves=min(best_leaves.items(), key=lambda x:x[1])[0],
                              max_depth=depth)
        score = np.mean(cross_val_score(model, X=train_X, y=train_y_ln, verbose=0, cv = 5, scoring=make_scorer(mean_absolute_error)))
        best_depth[depth] = score
    
    sns.lineplot(x=['0_initial','1_turning_obj','2_turning_leaves','3_turning_depth'], 
    			 y=[0.143 ,min(best_obj.values()), 
    			 min(best_leaves.values()), min(best_depth.values())])
    

    2 Grid Search

    from sklearn.model_selection import GridSearchCV
    
    parameters = {'objective': objective , 'num_leaves': num_leaves, 'max_depth': max_depth}
    model = LGBMRegressor()
    clf = GridSearchCV(model, parameters, cv=5)
    clf = clf.fit(train_X, train_y)
    
    clf.best_params_
    model = LGBMRegressor(objective='regression',
                              num_leaves=55,
                              max_depth=15)
    
    np.mean(cross_val_score(model, X=train_X, y=train_y_ln, verbose=0, cv = 5, scoring=make_scorer(mean_absolute_error)))                       
    

    3 贝叶斯调参

    from bayes_opt import BayesianOptimization
    
    def rf_cv(num_leaves, max_depth, subsample, min_child_samples):
        val = cross_val_score(
            LGBMRegressor(objective = 'regression_l1',
                num_leaves=int(num_leaves),
                max_depth=int(max_depth),
                subsample = subsample,
                min_child_samples = int(min_child_samples)
            ),
            X=train_X, y=train_y_ln, verbose=0, cv = 5, scoring=make_scorer(mean_absolute_error)
        ).mean()
        return 1 - val
        
    rf_bo = BayesianOptimization(
        rf_cv,
        {
        'num_leaves': (2, 100),
        'max_depth': (2, 100),
        'subsample': (0.1, 1),
        'min_child_samples' : (2, 100)
        }
    )
    
    rf_bo.maximize()
    
    1 - rf_bo.max['target']
    

    参考:https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.24.1cd8593aLNK3uJ&postId=95460

    展开全文
  • 调参工具

    2020-07-27 14:59:50
    调参工具调参工具调参工具 NNI

    调参工具


    NNI


    二 NAS


    展开全文
  • 星云调参说明

    2019-02-13 18:27:56
    星云调参说明 通用电脑调参软件[Mac版]连接方法 1、首先扫描以下二维码,下载电脑版调参软件并解压缩; 解压“Mac_OSX_VCP_Driver.zip”压缩文件,然后点击安装“SiLabsUSBDriverDisk.dmg”驱动程序; 登陆JAVA...
  • xgboost调参指南

    2018-11-07 13:55:34
    xgboost调参过程,介绍xgboost调参的详细步骤,以及代码示例。
  • 模型调参

    2021-03-25 19:07:43
    模型调参模型调参的具体操作1. 学习目标2. 模型对比与性能2.1 逻辑回归2.2 决策树模型2.3 集成模型集成方法(ensemble method)2.4 模型评估方法3. 模型调参的三种方法3.1 贪心算法3.2 网格调参3.3 贝叶斯调参4. ...

    模型调参的具体操作

    1. 学习目标

    • 学习机器学习模型的建模过程与调参流程

    2. 模型对比与性能

    2.1 逻辑回归

    可以用作初步的分析使用,后期进行模型更换

    • 优点
      • 训练速度较快,分类的时候,计算量仅仅只是特征的数目相关;
      • 简单易理解,模型的可解释性非常好,从特征的权重可以看到不同的特征对最后结果的影响;
      • 适合二分类问题,不需要缩放输入特征;
      • 内存资源占用小,只需要存储各个维度的特征值;
    • 缺点
      • 逻辑回归需要预先处理缺失值和异常值;
      • 不能用Logisitic回归去结果非线性问题,因为Logistic的决策面是线性的;
      • 对多面共线性数据较为敏感,且很难处理数据不平衡的问题;
      • 准确率并不是很高,因为形式较为简单

    2.2 决策树模型

    • 优点
      • 简单直观,生成的决策树可以可视化展示;
      • 数据不需要与处理,不需要归一化,不需要处理缺失数据;
      • 可以刻处理离散值,也可以处理连续值
    • 缺点
      • 决策树算法非常用以过拟合,导致泛化能力不强
      • 采用的是贪心算法,容易得到局部最优解

    2.3 集成模型集成方法(ensemble method)

    集成模型主要可以分为两大类:基于Bagging思想的集成模型和基于Boosting思想的集成模型。两者都是通过将已有的分类或者回归算法通过一定方式组合起来,形成一个更为强大的分类。两种方法都是把若干个分类器整合成一个分类器的方法,只是整合的方式不同,最终得到的效果也不同。
    Baggin和Boosting的区别总结如下:

    • 样本选择上: Bagging方法的训练集是从原始集中有放回的选取,所以从原始集中选出的各轮训练集之间是独立的;而Boosting方法需要每一轮的训练集不变,只是训练集中每个样本在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整
    • 样例权重上: Bagging方法使用均匀取样,所以每个样本的权重相等;而Boosting方法根据错误率不断调整样本的权值,错误率越大则权重越大
    • 预测函数上: Bagging方法中所有预测函数的权重相等;而Boosting方法中每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重
    • 并行计算上: Bagging方法中各个预测函数可以并行生成;而Boosting方法各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
    • 基于bagging思想的集成模型
      • 随机森林模型
    • 基于boosting思想的集成模型
      • XGBoost模型
      • LightGBM模型
      • CatBoost模型

    2.4 模型评估方法

    通过训练集的误差来评价模型的精准程度,通过测试集的误差来进一步评价模型的泛化能力。
    对于数据集的划分,主要采用三种方法:留出法;交叉验证法;自助法;
    数据集的划分方式的采用,主要是根据数据集大小来判断。

    • 对于数据量充足的时候,通常采用留出法或者交叉验证法来进行数据集的划分;
    • 数据集小且难以进行有效划分训练/测试集时使用自助法;
    • 遂于数据集小且可有效划分的时候最好使用留一法来进行划分,因为这种方法最为准确

    3. 模型调参的三种方法

    3.1 贪心算法

    概念:
    所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是某种意义上的局部最优解
    贪心算法没有一种固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能找到整体最优解。

    思路:

    • 建立数学模型来描述问题
    • 把求解的问题分为若干个子问题
    • 对子问题的求解,得到子问题的局部最优解
    • 把子问题的解局部最优解合成原来问题的一个解

    存在问题:

    • 不能保证求得的最后解是最佳的
    • 不能用来求解最大值或者最小值
    • 只能求满足某些约束条件的可行解的范围

    3.2 网格调参

    概念:
    通过循环遍历,尝试每种参数组合,返回最好的参数组合。每个参数都能组合在一起,循环过程就像是在网格中遍历,所以叫网格搜索。

    存在问题:
    调参时将整个数据集(训练集与测试集)都放入调参模型中,会使得评分值回避实际效果要好。

    解决方法:
    把数据集划分为三份:训练集、验证集、测试集。
    为了防止出现模型过拟合,我们使用交叉检验的方法。

    3.3 贝叶斯调参

    概念:
    贝叶斯优化通过基于目标函数的过去评估结果建立替代函数(概率模型),来寻找最小化目标函数的值。贝叶斯方法与随机或网格搜索的不同之处在于,它在尝试下一组超参数时,会参考之前的评估结果。
    超参数的评估代价很大,因为它要使用待评估的超参数训练一遍模型,而许多深度学习模型动辄几个小时几天才能完成训练并评估模型,因此耗费巨大。贝叶斯调参法不断更新的概率模型,通过推断过去的结果来集中有希望的超参数。

    贝叶斯优化四个部分:

    • 目标函数:我们想要最小化的内容,在这里,目标函数是机器学习模型使用该超参数在验证集上的损失
    • 域空间:要搜索的超参数的取值范围
    • 优化算法:构造替代函数并选择下一个超参数进行评估的方法
    • 结果历史记录:来自目标函数评估的存储结果,包括超参数和验证集上的损失。

    4. 具体代码落实

    5. 参考

    https://blog.csdn.net/zhangxiaolinxin/article/details/105256588

    展开全文
  • 星云5100调参

    2019-03-15 17:28:03
    调参用于星云5100三轴稳定器的调参,根据不同单反相机的重量进行详细的设置,以及恢复出厂设置等功能
  • 在此之前,调参要么网格调参,要么随机调参,要么肉眼调参。虽然调参到一定程度,进步有限,但仍然很耗精力。 自动调参库hyperopt可用tpe算法自动调参,实测强于随机调参。 hyperopt 需要自己写个输入参数,返回...
  • 一、一般的模型调参原则1、调参前提:模型调参其实是没有定论,需要根据不同的数据集和不同的模型去调。但是有一些调参的思想是有规律可循的,首先我们可以知道,模型不准确只有两种情况:一是过拟合,而是欠拟合。...
  • XGBoot调参

    2020-04-22 16:40:25
    XGBoot调参方法
  • VESC调参软件

    2019-01-06 22:56:42
    VESC最新版调参软件,可以调试电子调速器,先升级BL再升级固件。
  • Task4 建模调参

    2020-12-21 18:23:19
    内容介绍 ...贪心调参方法; 网格调参方法; 贝叶斯调参方法; 相关原理介绍与推荐 线性回归模型:https://zhuanlan.zhihu.com/p/49480391 决策树模型:https://zhuanlan.zhihu.com/p/65304798 GBOT模型
  • 转载请注明:炼丹实验室之前曾经写过一篇文章,讲了一些深度学习训练的技巧,其中包含了部分调参心得:深度学习训练心得。不过由于一般深度学习实验,相比普通机器学习任务,时间较长,因此调参技巧就显得尤为重要。...
  • 一般的方法就是网格搜索(sklearn里面的gridsearch)、贝叶斯调参(hyperopt工具)。 http://www.360doc.com/content/18/0707/15/7669533_768542933.shtml
  • 无线调参上位机

    2019-05-04 17:04:50
    学长开发的无线调参上位机,开源的上位机和下位机程序,特别适用与智能车和无人机调试
  • Shell 文件并行调参 sbatch文件格式 // A code block var foo = 'bar';
  • cc3d调参软件

    2018-01-13 08:39:50
    cc3d调参地面站,英文的,支持cc3d调参,meiyoujiaocehng
  • 调参方法

    2020-04-09 16:20:19
    调参方法 验证曲线 学习曲线 网格搜索
  • 建模调参

    2020-04-01 22:00:27
    建模调参建模调参模型性能验证模型调参 建模调参 模型性能验证 模型验证的一个重要目的是要选出一个最合适的模型,对于监督学习而言,我们希望模型对于未知数据的泛化能力强,所以就需要模型验证这一过程来体现不同...
  • PID调参软件

    2018-04-14 17:03:00
    //需要配套PID调参上位机使用,在不下载程序的情况下进行调参,方便、节省时间 //可调节直立PD参数、速度PI参数、方向PD参数、陀螺仪零偏及目标速度等参数,可自定义参数 //使小车在不停车的情况下自己调整参数,...
  • 结构调参

    2019-10-19 11:13:26
    根据上一次调参经验总结,将可调参数总结为迭代次数、学习率、神经元个数、神经元层数以及激活函数,以下是调参结果 根据调参经验总结,迭代次数大约2000次loss下降达到瓶颈学习率过低导致loss下降速率低,学习率过...
  • 穿越机调参软件

    2019-01-21 15:49:08
    betaflightch-configurator穿越机调参软件 ,调整多轴的PID

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,532
精华内容 5,012
关键字:

调参