【问题标题】:Are there any machine learning regression algorithms that can train on ordinal data?是否有任何机器学习回归算法可以训练序数数据?
【发布时间】:2016-04-08 02:43:53
【问题描述】:

我有一个函数 f(x): R^n --> R(抱歉,这里有办法做 LaTeX 吗?),我想建立一个机器学习算法来估计任何的 f(x)输入点 x,基于训练数据集中的一组样本 xs。如果我知道训练数据中每个 x 的 f(x) 的值,这应该很简单 - 只需进行回归,或取附近点的加权平均值,或其他。

但是,这不是我的训练数据的样子。相反,我有一堆点对 (x, y),我知道每对点的 f(x) - f(y) 的值,但我不知道 f(x) 的绝对值任何特定的 x。似乎应该有一种方法可以使用这些数据来找到 f(x) 的近似值,但是在谷歌搜索之后我没有找到任何东西;有像 this 这样的论文,但他们似乎假设训练数据以每个实体的一组离散标签的形式出现,而不是在实体对上使用标签。

这只是编造一些东西,但我可以尝试对 f'(x) 进行核密度估计,然后进行积分以获得 f(x) 吗?或者这很疯狂,还是有已知更好的技术?

【问题讨论】:

  • 您是否期望许多重叠值?即,您是否经常出现(x, y, f(x)-f(y)) ; (x, z, f(x)-f(z))?你对你的函数了解多少(它是否可微等)?除了您已经告诉我们的内容之外,您可以对输入进行任何假设吗?
  • 可能会有一些重叠的值,但我不希望它们很多;例如。每个 x 不会有几十个或几百个 y。 f(x) 可以被假定为可微分,但可能不会有一个封闭形式的表达式。不确定哪些假设可能很重要,但 f(x) 应该主要是“平滑的”,因为对于大多数对 x,f(x)
  • 我认为问题标题不太适合正文。也许考虑修改以吸引专家......(例如,“我们如何在不直接访问 f 的输出的情况下学习 f(x)-f(y)?”。)
  • 您的问题似乎与“序数数据”无关。通常,该术语表示特征或标签是数字而非测量值,而是表示某种顺序,例如低、中和高。
  • @Alyssa,您写道f 可能没有封闭形式,但假设它是线性的,您接受了答案。我也不能告诉你你能告诉我们什么。 :) 您想要实现的实际目标是什么? f 是做什么的?

标签: machine-learning regression


【解决方案1】:

您可以假设 f 是线性的,这会简化事情 - 如果 f 是线性的,我们知道:

f(x-y) = f(x) - f(y)

例如,假设您假设 f(x) = ,使 w 成为您要学习的参数。每个样本 (x,y) 和已知差异 d 的平方损失如何?

loss((x,y), d) = (f(x)-f(y) - d)^2
               = (<w,x> - <w,y> - d)^2
               = (<w, x-y> - d)^2
               = (<w, z> - d)^2 // where z:=x-y

这只是 z=x-y 的平方损失

实际上,您需要为每一对构造 z=x-y,然后使用对输入 z 和输出 d 的线性回归来学习 f。

这个模型可能对您的需求来说太弱了,但它可能是您应该尝试的第一件事。否则,一旦你离开线性假设,你很可能会遇到一个困难的非凸优化问题。

【讨论】:

    【解决方案2】:

    我看不到获得绝对结果的方法。函数中的任何常量 (f(x) = g(x) + c) 都会消失,就像常量在积分中消失一样。

    【讨论】:

    • 当然可以,但我也可以。当 x 为空向量时,任意固定 f(x) = 0。
    • 我以为您的意思是您是否可以找到“绝对”值(包括偏移量)。那就别管这个答案了。
    猜你喜欢
    • 1970-01-01
    • 2017-06-25
    • 2017-04-06
    • 2017-07-11
    • 2020-06-15
    • 2020-02-21
    • 2022-11-28
    • 2017-11-12
    • 2016-05-17
    相关资源
    最近更新 更多