感知器学习 – 最重要的特征

在我的AI课程作业中,我们被要求实现Widrow Hoff delta规则的感知器学习。我用Java编写了这个实现:

以下是包含该项目的GitHub链接:https://github.com/dmcquillan314/CS440-Homework/tree/master/CS440-HW2-1

我遇到的问题不在于感知器的创建。这部分运作良好。

在项目中,在训练感知器后,我将一个未分类的数据集应用于感知器,以便学习每个输入向量的分类。这部分也运作良好。

我的问题与学习输入中哪个特征是最重要的有关。

例如,如果每个输入向量中的特征集包括颜色、车型和车辆制造商,我们想要分类哪个特征是最重要的。应该如何进行呢?

我最初的理解让我认为可以通过计算每个输入的该特征值与产生的分类向量之间的相关系数来实现。然而,这被证明是一个错误的假设。

是否有其他方法可以学习最重要的特征?

编辑

样本权重向量:

( -752, 4771, 17714, 762, 6, 676, 3060, -2004, 5459, 9591.299, 3832, 14963, 20912 )

样本输入向量:

(55, 1, 2, 130, 262, 0, 0, 155, 0, 0, 1, 0, 3, 0)

(59, 1, 3, 126, 218, 1, 0, 134, 0, 2.2, 2, 1, 6, 1)

(45, 1, 2, 128, 308, 0, 2, 170, 0, 0, 1, 0, 3, 0)

(59, 1, 4, 110, 239, 0, 2, 142, 1, 1.2, 2, 1, 7, 1)

最后一个元素是分类。

当我找到答案时,我会在这里发布。目前,我认为教师给出的答案是不准确的。


回答:

这比我最初想象的要简单得多。答案/过程如下:

给定一组输入向量,如下所示:

[1,0,1,0], [0,1,0,1]

数据已经限制在0到1之间以最小化方差。然而,在我的数据中,更像是以下情况:

[0,145,0,132],[0,176,0,140]

这导致某些输入特征的方差要大得多,因此你将无法使用权重向量作为特征重要性的指示器。因此,为了使权重向量成为重要性的指示器,我们必须首先通过除以特征最大值来归一化数据。

对于上述集合,将是:[0,176,0,140]

这将产生一组统一的特征向量,并且权重向量也将成为特征重要性的指示器。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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