【问题标题】:Identify weakest feature in classification识别分类中最弱的特征
【发布时间】:2016-08-09 10:29:24
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: machine-learning regression linear-regression non-linear-regression


    【解决方案1】:

    你正在寻找一个函数依赖

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

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

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

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

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


    最后,这里是一个线性回归的例子。在那里你制作了ansatz

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

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

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

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

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

    【讨论】:

    • 谢谢,这很有帮助。但我有一个后续问题。如果我的数据不是鱼,因此不是二维的,而是 n 维的(其中 n 很大)。我需要任何额外的步骤吗?
    • @PeterLudvigsen:原则上没有。可能在设置损失函数时更加小心。并且可能还像 PCA 这样的预计算步骤也会有所帮助。
    猜你喜欢
    • 2021-09-28
    • 1970-01-01
    • 2016-05-23
    • 2016-12-31
    • 2012-09-14
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多