MLPlatform/optimize/parameter.yaml

406 lines
15 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

optimization_methods:
GridSearchCV:
description: "网格搜索交叉验证,通过穷举搜索指定参数网格中的所有可能组合,找到最优参数。"
parameters:
- name: "estimator"
type: "estimator object"
default: null
description: "要优化的模型,必须实现 fit 和 score 方法。"
- name: "param_grid"
type: "dict or list of dicts"
default: null
description: "参数网格,指定要搜索的参数名称和可能的值。"
- name: "scoring"
type: "str, callable, list, tuple or dict"
default: null
description: "评分标准,用于评估模型性能。"
- name: "n_jobs"
type: "int"
default: null
description: "并行运行的作业数量,-1 表示使用所有处理器。"
- name: "cv"
type: "int, cross-validation generator or iterable"
default: 5
description: "交叉验证策略,指定折数或自定义分割方式。"
- name: "verbose"
type: "int"
default: 0
description: "控制详细程度,值越大输出信息越详细。"
- name: "refit"
type: "bool, str or callable"
default: true
description: "是否使用最佳参数重新拟合模型,如果为字符串则指定用于重新拟合的评分指标。"
- name: "pre_dispatch"
type: "int or str"
default: "2*n_jobs"
description: "控制并行执行期间分派的作业数量。"
- name: "error_score"
type: "numeric or 'raise'"
default: "nan"
description: "如果拟合失败,分配给所有评分的值。"
- name: "return_train_score"
type: "bool"
default: false
description: "是否返回训练集上的评分。"
RandomizedSearchCV:
description: "随机搜索交叉验证,从指定的分布中随机采样参数组合进行评估,而非穷举所有可能。"
parameters:
- name: "estimator"
type: "estimator object"
default: null
description: "要优化的模型,必须实现 fit 和 score 方法。"
- name: "param_distributions"
type: "dict or list of dicts"
default: null
description: "参数分布,指定要搜索的参数名称和可能的分布或值列表。"
- name: "n_iter"
type: "int"
default: 10
description: "参数设置的采样次数。"
- name: "scoring"
type: "str, callable, list, tuple or dict"
default: null
description: "评分标准,用于评估模型性能。"
- name: "n_jobs"
type: "int"
default: null
description: "并行运行的作业数量,-1 表示使用所有处理器。"
- name: "cv"
type: "int, cross-validation generator or iterable"
default: 5
description: "交叉验证策略,指定折数或自定义分割方式。"
- name: "verbose"
type: "int"
default: 0
description: "控制详细程度,值越大输出信息越详细。"
- name: "random_state"
type: "int, RandomState instance or None"
default: null
description: "控制随机性,用于可重现的输出。"
- name: "refit"
type: "bool, str or callable"
default: true
description: "是否使用最佳参数重新拟合模型,如果为字符串则指定用于重新拟合的评分指标。"
- name: "return_train_score"
type: "bool"
default: false
description: "是否返回训练集上的评分。"
BayesianOptimization:
description: "贝叶斯优化,基于先验观测构建代理模型(通常是高斯过程),指导后续参数搜索方向。"
parameters:
- name: "f"
type: "callable"
default: null
description: "目标函数,接受参数并返回要最大化的值。"
- name: "pbounds"
type: "dict"
default: null
description: "参数边界,指定每个参数的搜索范围。"
- name: "random_state"
type: "int, RandomState instance or None"
default: null
description: "控制随机性,用于可重现的输出。"
- name: "verbose"
type: "int"
default: 2
description: "控制详细程度0 表示静默1 表示仅显示进度2 表示显示所有信息。"
- name: "bounds_transformer"
type: "callable"
default: null
description: "边界转换函数,用于转换参数边界。"
- name: "allow_duplicate_points"
type: "bool"
default: false
description: "是否允许评估重复的参数点。"
HyperOpt:
description: "基于贝叶斯优化和树结构Parzen估计器TPE的超参数优化库支持复杂搜索空间定义。"
parameters:
- name: "fn"
type: "callable"
default: null
description: "目标函数,接受参数并返回要最小化的值。"
- name: "space"
type: "dict or list"
default: null
description: "搜索空间,定义参数及其可能的取值范围。"
- name: "algo"
type: "callable"
default: "tpe.suggest"
description: "搜索算法,如 tpe.suggest、random.suggest 或 anneal.suggest。"
- name: "max_evals"
type: "int"
default: null
description: "最大评估次数,即尝试的参数组合数量。"
- name: "trials"
type: "Trials object"
default: null
description: "存储试验结果的对象,可用于恢复中断的搜索。"
- name: "rstate"
type: "numpy.random.RandomState"
default: null
description: "随机状态对象,用于控制随机性。"
- name: "verbose"
type: "bool"
default: false
description: "是否显示详细信息。"
Optuna:
description: "现代超参数优化框架,结合多种采样算法和修剪机制,高效搜索最优参数。"
parameters:
- name: "study"
type: "optuna.study.Study"
default: null
description: "Optuna 研究对象,用于管理优化过程。"
- name: "objective"
type: "callable"
default: null
description: "目标函数,接受 Trial 对象并返回要最小化的值。"
- name: "n_trials"
type: "int"
default: null
description: "试验次数,即评估的参数组合数量。"
- name: "direction"
type: "str or list of str"
default: "minimize"
description: "优化方向,'minimize' 或 'maximize',也可以是多目标优化的方向列表。"
- name: "sampler"
type: "optuna.samplers.BaseSampler"
default: "TPESampler"
description: "参数采样器,如 TPESampler、RandomSampler 或 CmaEsSampler。"
- name: "pruner"
type: "optuna.pruners.BasePruner"
default: "MedianPruner"
description: "修剪器,用于提前终止效果不佳的试验,如 MedianPruner 或 SuccessiveHalvingPruner。"
- name: "storage"
type: "str or None"
default: null
description: "存储后端,如 SQLite 数据库 URL用于持久化试验结果。"
- name: "study_name"
type: "str or None"
default: null
description: "研究名称,用于在存储中标识研究。"
BOHB:
description: "结合贝叶斯优化和Hyperband的多保真度优化算法平衡探索与利用。"
parameters:
- name: "configspace"
type: "ConfigSpace.ConfigurationSpace"
default: null
description: "配置空间,定义参数及其可能的取值范围。"
- name: "eta"
type: "float"
default: 3
description: "控制每轮迭代中淘汰的配置比例,通常设为 3。"
- name: "min_budget"
type: "float"
default: null
description: "最小资源分配,如最小训练轮次或样本数量。"
- name: "max_budget"
type: "float"
default: null
description: "最大资源分配,如最大训练轮次或样本数量。"
- name: "iterations"
type: "int"
default: null
description: "BOHB 迭代次数。"
- name: "random_fraction"
type: "float"
default: 0.33
description: "随机采样的比例,用于探索。"
- name: "bandwidth_factor"
type: "float"
default: 3
description: "TPE 中核带宽的因子。"
- name: "min_bandwidth"
type: "float"
default: 0.001
description: "TPE 中核带宽的最小值。"
GeneticAlgorithm:
description: "基于进化理论的优化算法,通过选择、交叉和变异操作迭代优化参数。"
parameters:
- name: "fitness_function"
type: "callable"
default: null
description: "适应度函数,评估个体的质量。"
- name: "population_size"
type: "int"
default: 100
description: "种群大小,即每代中的个体数量。"
- name: "gene_length"
type: "int"
default: null
description: "基因长度,即每个个体的参数数量。"
- name: "gene_type"
type: "str or list"
default: "binary"
description: "基因类型,如 'binary'、'real' 或 'integer'。"
- name: "gene_bounds"
type: "list of tuples"
default: null
description: "基因边界,指定每个参数的取值范围。"
- name: "generations"
type: "int"
default: 100
description: "迭代代数,即算法运行的总代数。"
- name: "crossover_rate"
type: "float"
default: 0.8
description: "交叉率,控制个体间基因交换的概率。"
- name: "mutation_rate"
type: "float"
default: 0.1
description: "变异率,控制基因随机变异的概率。"
- name: "selection_method"
type: "str"
default: "tournament"
description: "选择方法,如 'tournament'、'roulette' 或 'rank'。"
- name: "elitism"
type: "bool or int"
default: true
description: "精英主义,是否保留每代中的最佳个体。"
ParticleSwarmOptimization:
description: "基于群体智能的优化算法,模拟鸟群觅食行为,通过粒子间信息共享寻找最优解。"
parameters:
- name: "objective_function"
type: "callable"
default: null
description: "目标函数,评估粒子位置的质量。"
- name: "n_particles"
type: "int"
default: 30
description: "粒子数量,即种群大小。"
- name: "dimensions"
type: "int"
default: null
description: "问题维度,即参数数量。"
- name: "bounds"
type: "list of tuples"
default: null
description: "参数边界,指定每个参数的取值范围。"
- name: "max_iterations"
type: "int"
default: 100
description: "最大迭代次数。"
- name: "w"
type: "float"
default: 0.5
description: "惯性权重,控制粒子保持当前速度的程度。"
- name: "c1"
type: "float"
default: 1.5
description: "认知系数,控制粒子向个体最佳位置移动的程度。"
- name: "c2"
type: "float"
default: 1.5
description: "社会系数,控制粒子向全局最佳位置移动的程度。"
- name: "velocity_clamp"
type: "tuple or None"
default: null
description: "速度限制,防止粒子速度过大。"
EarlyStopping:
description: "提前停止策略,监控模型在验证集上的性能,当性能不再提升时停止训练,防止过拟合。"
parameters:
- name: "monitor"
type: "str"
default: "val_loss"
description: "要监控的指标,如 'val_loss' 或 'val_accuracy'。"
- name: "min_delta"
type: "float"
default: 0
description: "最小变化阈值,只有超过此阈值的改进才被视为有效。"
- name: "patience"
type: "int"
default: 0
description: "容忍的轮次数,即在多少轮没有改进后停止训练。"
- name: "verbose"
type: "int"
default: 0
description: "详细程度0 表示静默1 表示显示信息。"
- name: "mode"
type: "str"
default: "auto"
description: "监控模式,'min'(指标越小越好)、'max'(指标越大越好)或 'auto'(自动判断)。"
- name: "baseline"
type: "float or None"
default: null
description: "基准值,只有超过此值的模型才会被保存。"
- name: "restore_best_weights"
type: "bool"
default: false
description: "是否恢复最佳权重,而不是最后的权重。"
LearningRateScheduler:
description: "学习率调度器,根据预定策略或模型性能动态调整优化器的学习率。"
parameters:
- name: "schedule"
type: "callable"
default: null
description: "学习率调度函数,接受当前轮次并返回学习率。"
- name: "verbose"
type: "int"
default: 0
description: "详细程度0 表示静默1 表示显示信息。"
- name: "initial_learning_rate"
type: "float"
default: null
description: "初始学习率。"
- name: "decay_steps"
type: "int"
default: null
description: "衰减步数,用于某些预定义的调度策略。"
- name: "decay_rate"
type: "float"
default: null
description: "衰减率,用于某些预定义的调度策略。"
- name: "staircase"
type: "bool"
default: false
description: "是否使用阶梯式衰减,而不是连续衰减。"
- name: "min_learning_rate"
type: "float"
default: 0
description: "最小学习率,防止学习率过小。"
ModelCheckpoint:
description: "模型检查点,定期保存训练过程中的模型状态,确保能够恢复最佳模型。"
parameters:
- name: "filepath"
type: "str"
default: null
description: "保存模型的路径,可以包含格式化占位符。"
- name: "monitor"
type: "str"
default: "val_loss"
description: "要监控的指标,如 'val_loss' 或 'val_accuracy'。"
- name: "verbose"
type: "int"
default: 0
description: "详细程度0 表示静默1 表示显示信息。"
- name: "save_best_only"
type: "bool"
default: false
description: "是否只保存性能最好的模型。"
- name: "save_weights_only"
type: "bool"
default: false
description: "是否只保存模型权重,而不是整个模型。"
- name: "mode"
type: "str"
default: "auto"
description: "监控模式,'min'(指标越小越好)、'max'(指标越大越好)或 'auto'(自动判断)。"
- name: "period"
type: "int"
default: 1
description: "保存频率,即每隔多少轮保存一次模型。"
- name: "save_freq"
type: "str or int"
default: "epoch"
description: "保存频率,'epoch'(每轮保存)或整数(每多少批次保存)。"