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

在我的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

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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