AutoML 通过一个系统的过程来选择算法,这个过程结合了预定义的搜索空间、性能评估和优化策略。目标是为特定的数据集和问题类型(例如分类或回归)识别表现最佳的算法(或组合)。AutoML 框架通常从候选算法的精选列表开始——例如决策树、支持向量机 (SVM) 或神经网络——并使用诸如准确率、F1 分数或均方误差等指标来评估它们。选择过程由自动化实验驱动,其中不同的算法被迭代地测试,通常与超参数调整和预处理步骤(例如,缩放或特征工程)配对。
第一步涉及定义算法及其配置的搜索空间。例如,AutoML 系统可能包括线性模型、基于树的方法和梯度提升框架(如 XGBoost)。然后,该系统使用诸如网格搜索、随机搜索或贝叶斯优化等优化技术来有效地探索这个空间。贝叶斯优化(用于像 Auto-Sklearn 这样的工具中)构建一个概率模型来预测哪些算法或超参数可能表现最佳,从而减少所需的试验次数。一些框架还使用元学习,其中来自先前数据集的历史性能数据指导初始算法选择,从而加速搜索。
一旦确定了候选算法,AutoML 就会使用交叉验证来评估它们,以确保稳健性。例如,系统可能在 80% 的数据上训练一个随机森林,在 20% 的数据上验证它,并在多个分割中重复此操作。性能不佳的算法会尽早被丢弃(通过诸如连续减半的技术),而有希望的算法会经历更深入的超参数调整。像 TPOT(基于树的管道优化工具)这样的工具通过使用遗传算法进化算法管道来扩展这一点,迭代地组合和变异模型。最终选择通常平衡性能、复杂性和计算成本——如果逻辑回归等更简单的模型表现几乎与复杂集成一样好,则优先选择更简单的模型,除非问题需要更高的准确性。这种结构化的方法确保 AutoML 适应数据集的特征,而无需人工干预。