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