应用特征选择和特征降维

我在尝试模拟一项包含机器学习的研究。在该研究中,研究者在使用高斯分类器进行分类之前,运用了特征选择和特征降维的方法。

我的问题如下:假设我有3个类别。我从总共10个特征中,为每个类别选择了(假设)前3个最佳特征。所选特征的例子如下:

Class 1: F1 F2 F9Class 2: F3 F4 F9Class 3: F1 F5 F10

由于主成分分析或线性判别分析都需要在完整的数据集上进行,或者至少在所有类别具有相同特征的数据集上进行,那么我该如何对这样的数据集进行特征降维,然后进行训练呢?

论文的链接如下:依赖说话者的音视频情感识别

以下是论文中的摘录:

使用Bhattacharyya距离作为标准函数,通过Plus l-Take Away r算法选择了前40个视觉特征。然后对所选特征集应用了PCA和LDA,最后使用单成分高斯分类器进行分类。


回答:

在链接的论文中,为所有类别开发了一组特征。Bhattacharyya距离是一种衡量两个高斯分布可分性的有界距离度量。文章似乎没有具体描述如何使用Bhattacharyya距离(是类间距离矩阵的平均值吗?)。但是一旦你有了基于Bhattacharyya的度量,你可以选择特征的几种方法。你可以从一个空的特征集开始,逐步添加特征到集合中(基于新特征的类别可分性)。或者你可以从所有特征开始,逐步丢弃提供最少可分性的特征。Plus l-Take Away r算法结合了这两种方法。

一旦选择了原始特征的子集,特征降维步骤通过对原始特征的某种变换来降低维度。正如你所引用的,作者使用了PCA和LDA。这两者之间的重要区别在于,PCA独立于训练类别标签,要降低维度,你必须选择保留多少方差。而LDA试图最大化类别的可分性(通过最大化类间协方差与类内协方差的比率),并提供的特征数量等于类别数量减一。

但这里的重点是,在特征选择和降维之后,所有类别使用相同的特征集

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

发表回复

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