识别分类中最弱的特征

一个基本的机器学习练习是针对一些数据进行回归分析。例如,根据鱼的重量和年龄来估计鱼的长度。

这通常是通过拥有一个大型的训练数据集(重量、年龄、长度)来实现的,然后应用一些回归分析。这样就可以根据新鱼的重量和年龄来估计它的长度。

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

这似乎是一个常见的问题,但我不知道它叫什么。能有人帮我指引正确的方向吗?如果是线性的问题,你如何处理它?如果是非线性的呢?


回答:

你在寻找一个功能依赖关系

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

你可以使用与你现在使用的方法基本相同的方法来实现这一点。只是目标是二维的,因此你需要调整你的损失函数。

在二维空间中使用简单的欧几里得距离在这里不再适用,因为你有不同量级和不同单位的预测变量。所以你需要在这里发挥创意——例如,你可以将两个预测变量归一化到[0,1]范围内,然后将归一化后的值输入到欧几里得或L1距离损失函数中。

一旦你找到合适的损失函数,就照常进行:选择一个机器学习方法,拟合数据,做出你的预测。

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


最后,这里有一个线性回归的例子。在那里你做这样的假设

(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)中的两个小偏差,而不是一个大的偏差和一个零偏差。这就是相关方法和损失函数的用武之地。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注