2

一个基本的机器学习练习是对一些数据执行回归。例如,将鱼的长度估计为体重和年龄的函数。

这通常通过拥有大量训练数据集(体重、年龄、长度)然后应用一些回归分析来完成。然后可以根据新鱼的重量和年龄来估计它的长度。

但是,假设我想解决这个问题:“我有一条已知重量 W、年龄 A 和长度 L 的鱼。假设我希望长度为 M 而不是 L,我应该如何调整 W 和 A”。

这似乎是一个常见的问题,但我不知道它叫什么。有人可以帮助我朝着正确的方向前进。如果它是线性的,你如何处理这个问题,如果它是非线性的,你会如何处理?

4

1 回答 1

0

您正在寻找功能依赖

f: IR -> IR^2,  f(Weight) = (Age, Length)^T

您基本上可以使用与您现在使用的方法相同的方法来完成此操作。只是目标是二维的,因此您需要调整损失函数。

二维空间中的简单欧几里得距离在这里不再适用,因为您有不同的量级和不同的预测变量单位。因此,您必须在这里发挥创造力——例如,您可以将两个预测变量归一化为 [0,1],将归一化的值输入到欧几里得或 L1 距离损失函数中。

获得合适的损失函数后,照常进行:选择机器学习方法,拟合数据,做出预测。

关于选择一种方法:这可以从简单且不相关的——例如两个不相关的线性回归,或更一般的将两个一维输出方法叠加在一起——到相关且更复杂的:例如人工神经网络ANN 参数绑定的两个输出节点。


最后,这里是线性回归的例子。在那里你做 ansatz

(Age, Length)^T =  (a1 + b1* Weight, a2 + b2*Weight)^T

a1, b1, a2, b2并通过最小化你的损失函数来找到参数L,在最简单的情况下就是

L(a1,b1,a2,b2) = || Age - a1 + b1 * Weight ||^2 + || Length - a2 + b2 * Weight ||^2

这种选择相当于两个分开的一维线性回归。美好的。

但是,您通常还希望目标参数之间保持一致——直观地说:您更喜欢两个小偏差而不是(Age, Length)一个大偏差和一个零偏差。这是相关方法和损失函数进入的地方。

于 2016-04-17T19:50:29.133 回答