406 lines
15 KiB
YAML
406 lines
15 KiB
YAML
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'(每轮保存)或整数(每多少批次保存)。"
|