我在写硕士论文时发现了一个问题:我仍然对一些机器学习原理感到不确定,或者对它们的描述有些模糊。
例如,我隐约记得曾经听过这样的描述:
分类任务的输出(标签)是离散和有限的,而回归任务的输出(标签)是连续的,并且可以是无限的
在这段描述中,我对回归任务中使用的“无限”一词感到不确定。
例如,假设(出于某种原因)你有一些2D数据点,这些点几乎像正弦波一样分布(带有一些噪声),你使用polyfit来拟合一个k次多项式(见图这里,这里k = 8)。现在你有一定范围内的数据,例如,这里x方向上可用点的范围是[0,12],这些数据用于拟合多项式。
然而,你是否能快速得到x = 100万(或任意大的数)的y结果,因为你已经掌握了多项式的总体形状?这是否就是“无限标签”的意思?
也许我只是错误地记住了几年前学到的东西;)。
此致敬礼
回答:
首先,这个问题更适合在StackExchange上更理论化的网站上讨论,比如Stats Stackexchange、Math Stackexchange或Data Science Stackexchange,它们恰好也提供了你问题的答案。
但并不完全是这样。无论如何,你的问题似乎在于区分输入和输出。任务类型(即分类或回归)完全基于模型的输出,而与输入无关。
你可以有大量的“连续输入变量”(甚至可以混合一些离散的),如果输出值是离散的,仍可称为分类任务。
此外,无限只是指这些值是不受限制的,即你不能轻易将回归任务限制在特定范围内。如果你突然输入一个完全超出训练值范围的值(如你的例子),你可能会得到一个“无限”的y
值,因为你的网络只在该特定范围内进行训练;多项式拟合也会出现这个问题,如下例所示:
红色线条可能是你的网络学习到的函数,所以如果你突然超出已知值范围,你可能会得到一些极端值(除非你训练得很好)。
与此相反,分类网络仍然会预测给定的任何类别。我喜欢将其想象成一种Voronoi图:即使你的点与之前的任何点相距非常远,它仍然会属于某个类别。