如果一组标记和未标记的数据同时给出,是否有任何机器学习算法不需要训练并直接给出答案?
是否可以在有监督或无监督机器学习算法中跳过模型的显式训练?[我不谈论使用预训练模型]
如果一组标记和未标记的数据同时给出,是否有任何机器学习算法不需要训练并直接给出答案?
是否可以在有监督或无监督机器学习算法中跳过模型的显式训练?[我不谈论使用预训练模型]
最近邻算法(kNN 和变体)没有训练阶段。它们通过存储所有标记的示例,并直接使用它们来推断新数据来工作。
有一些警告:
“训练”速度很快,因为它只存储每个示例一次,但推理速度很慢,因为它通常涉及搜索相关示例。这可以通过索引例程(不是算法的一部分,但可能是特定实现的一部分)来改进。
尽管没有要训练的参数,但仍然可以通过超参数来选择,这将涉及使用保留数据运行交叉验证练习并改变选择,例如要考虑的最近邻居的数量或最佳距离度量用于确定最近的邻居。
通常需要数据准备(规范化)和特征工程才能从 kNN 中获得最佳结果,并且还需要多次尝试和测试。
一般来说,在没有训练阶段的情况下存储和查询标记数据的方法是基于实例的学习
请注意,在某些情况下,您可以使用不需要明确训练的自适应过滤器。自适应滤波器的示例包括最小均方、递归最小二乘、卡尔曼……
自适应过滤器和传统 ML 算法(如可以在 scikit-learn 中找到的算法)之间的细微区别在于前者不遵循训练数据的拟合 ->大多数用例的部署方案,即你不会有为给定的一组超参数创建训练/测试拆分。
举个例子:如果你的数据是一个时间序列,并且你想估计另一个依赖于前者的时间序列,那么你可以使用一个 RLS 滤波器来迭代地调整它的权重,而不是显式地使用最小二乘法最小化来查找系数数据的一些拆分。