有没有学习学习函数映射的算法?

数据挖掘 机器学习 神经网络
2022-03-03 03:50:33

典型算法涉及学习和应用单个映射,例如f:XY

是否有任何算法可以在给定额外变量的情况下学习多个映射,例如 (这感觉像是对符号的滥用。)。f(Z):XY

的映射,然后将其应用于以产生ZXY

一种解决方案(虽然难以处理)是训练一种算法(例如神经网络),然后将其输出用作第二个网络的权重。

任何建议将不胜感激,并随时询问更多细节。谢谢。

2个回答

这等效于将其视为学习两个输入的函数,即 (即)。任何用于学习功能的机器学习方法都可以用于此;您只需将特征向量(输入)视为向量和向量的串联,然后在结果实例上使用标准 ML 技术。因此,您不需要任何特殊或花哨的东西来处理这个问题——您可以使用任何您熟悉的现有机器学习方法。g:(X,Z)Yg(X,Z)=YXZ

如果表示一组属性,使得对于任何定义了一系列函数,那么您基本上已经偶然发现了超参数搜索。例如,考虑一个带有参数的神经网络。我们可以将您的映射重新表述为试图学习函数但是我们有很多结构性的决定要在这里做出。我们的成本函数是什么?几层?什么维度?什么类型的层和激活?我们想要复发或抽搐吗?辍学?正常化?正则化?什么学习率?我们应该使用动量吗?退火时间表?多少个纪元?在开始编码之前我应该​​喝多少咖啡?ZZf(Z)θf:XYf(X;θ)=Y

如果我们将所有这些结构决策包装到中,那么的一系列函数的规范,以最小化误差。Zf(Z)θ

超参数搜索是一个大问题,并且对该主题有很多有趣的研究。我认为当前的 SOTA 是使用老虎机算法的贝叶斯优化,尽管网格搜索、随机搜索甚至猜测检查等简单方法可能是最常见的。