聚类问题的特征选择


9

我正在尝试使用无监督算法(聚类)将不同的数据集组合在一起。问题是我有很多功能(〜500)和少量情况(200-300)。

到目前为止,我以前只做分类问题,对此我总是将数据标记为训练集。在那里,我使用了一些标准(即random.forest.importance或information.gain)来预先选择特征,然后我使用了针对不同学习者的顺序正向选择来找到相关特征。

现在,我看到在无监督学习的情况下,我既没有任何预选标准,也不能使用顺序正向选择(至少在mlr软件包中没有)。

我想知道是否可以先进行主成分分析,然后再找到少量适合我的聚类算法的功能。还是您还有其他想法?

谢谢

编辑:

好的,所以在网上进行了一些研究之后,我可以稍微更新一下我的问题:首先,由于两个原因,我读了一些不鼓励在聚类算法之前使用PCA的文章:

  • PC具有所有功能的功能,因此很难将结果与初始数据集相关联,因此很难解释

  • 此外,如果您有一个问题,就是实际上只有很少一部分功能有助于进行聚类,则不必说这些功能也描述了样本之间最大的差异(PC就是这样做的)

因此PCA不在桌面上...

现在,我回到了最初的想法,对集群进行顺序的前向选择。

您会推荐什么绩效指标?(我想到过Dunn-Index)哪种聚类算法会导致大小大致相同的聚类?(对于分层集群,我通常会得到一个集群,其中有一个异常值,而另一个集群则具有所有其他异常值->因此,我需要某种可以防止异常值的东西)

希望你们能帮助我...


可以将随机森林应用于不受监督的问题。而且我认为您仍然可以在此过程中提取一些有用的功能。
鹅膏菌kiki 2015年

Answers:


11

关于无监督学习问题中的降维,我有几点想法。在回答时,我假设您的兴趣是“高度接触”,人为参与的集群解释,而不是故意不强调解释的自动化,交钥匙,黑匣子和“低接触”机器学习方法。如果是后者,您为什么还要问这个问题?另外,请注意,多年来,我在众多商业环境中运行群集解决方案方面拥有大量经验,包括战略性B2C营销,B2B技术领域和教育政策(为学生和学校提供集群)。

首先,我确实有一个关于您对“分组不同数据集”的评论的问题。我不知道您的意思是什么,或者它可能对方法产生什么影响,并希望您能详细说明。

我想挑战您在以上#1中的假设,即基于PCA的解决方案“难以解释”。在许多聚类算法对特征冗余敏感的情况下,甚至将PCA作为聚类的第一步的原因都与最终解决方案的卫生性有关。PCA将这种冗余分解为可管理的少量组件,从而最大程度地减少了您注意到的有关功能选择的挑战和困难。虽然PCA输出的组件确实模糊了单个功能的粒度和特异性,但这是一个问题,如果您仅依靠对那些组件进行分析的结果。换句话说,您不会以任何方式只使用组件进行集群解释。不仅如此,您甚至不必关心因素维度的“均值”。它们只是中间的(最终)一次性的手段,可以促进可行的解决方案。但是,在提出这一点时,我与许多实践者有所不同,因为团队可以,愿意并且确实花费数周的时间精心构建一个“有意义的”因素解决方案。对我来说,这是对客户时间和金钱的低效率浪费。

此时,将要解决大量技术问题。例如,如果您的PCA算法不是比例不变的(例如OLS vs ML),那么任何所得的PCA解决方案都会失真,从而在高方差特征上的负担更大。在这些情况下,您的特征需要以某种方式进行预处理或转换,以消除这种差异。这里有很多可能性,包括均值标准化,范围或IQR标准化,渐进式缩放等。利用这种转换提供最佳,最可解释的解决方案。

生成集群解决方案后,以我的经验而言,最好的解释方法是忽略这些组件,并折回原始功能以及未在解决方案中直接使用的任何其他描述性信息。在这一点上,一些启发式方法是定性洞察力的最佳指南。这就像生成一个电子表格一样简单,该电子表格可以根据每个要素(工作表的行),每个聚类(列)的平均值或中位数对聚类进行概要分析,以及一个附加列来代表总样本的均值。然后,通过将每个特征的聚类平均值与总体均值建立索引(并乘以100),就可以创建一种启发式方法,就像IQ得分一样,因为大约“ 100”是“正常” IQ或平均行为,120+的索引表明某个特征对群集的行为“真实”的可能性很高,而80或更低的索引表示该群集的特征“不真实”。对于给定功能在驱动解决方案中的重要性,这些120+和80或更小的指数类似于代理t检验。当然,您可以在重要性的组测试之间运行,并且根据样本量,将获得围绕这些快速而肮脏的经验法则而变化的答案。

好吧...毕竟,假设您仍然反对将PCA用作聚类算法的直接输入,那么问题仍然在于如何选择一组简化的功能。PCA在这里仍然有用,因为PCA就像在没有因变量的情况下进行回归一样。每个组件上的顶部加载功能都可以成为聚类算法的输入。

关于大量功能和相对较小的数据样本量,许多“完整信息”多元分析中的经验法则通常是每个功能至少观察10次。有一些专门的方法可以用来应对这一挑战。例如,赫尔曼·沃尔德(Herman Wold)在其1990年出版的《理论经验主义》一书中首次开发了偏最小二乘(PLS),用于面临这一精确问题的化学计量学领域。它本质上是因子分析的,但在要求较大的n生成维数方面没有那么严格。其他解决方案包括类似随机森林的“分而治之”,使用大量信息的机器学习方法。这些方法在本pdf中进行了回顾http://www.wisdom.weizmann.ac.il/~harel/papers/Divide%20and%20Conquer.pdf

但是,假设您已经决定仍然不希望与因子分析相关联,并且对运行某种监督的“顺序”选择过程一无所知。在我看来,最重要的问题不是寻找事后绩效指标(Dunn索引),而是确定合适的代理(因变量)以使这种方法成为可能。该决定完全取决于您的判断,并且取决于您的数据的SME状况。没有“最佳实践”,对此没有那么简单的答案,并且鉴于您如何描述数据,这也是不小的挑战。

一旦做出决定,便有数百种可能的变量选择解决方案可供选择。变量选择是每个统计学家及其兄弟都发表过论文的主题领域。您首选的方法似乎是“顺序正向选择”很好。

值得注意的是,存在监督学习模型,该学习模型作为算法的一部分在集群解决方案中折叠。这样的示例包括称为潜在类模型的大型且高度灵活的方法。LC模型的实质是两个阶段:在第一阶段中,定义了DV,并建立了回归模型。在第二阶段,将模型的剩余输出中的任何异质性(单个潜在矢量)划分为潜在“类”。这里的CV讨论中有LC建模的概述... 潜在类多项式logit模型的疑问

希望这可以帮助。


感谢您抽出宝贵时间广泛回答我的问题。首先,您提到化学计量学很有趣,因为这正是我正在研究的领域。我试图在不同样品的测量中找到簇,我的特征是nmr光谱中的信号。这也是我这么早就考虑丢弃PCA的主要原因,因为我的分析目标是将群集与少数实际特征(信号)相关联。我对使用顺序选择没有犹豫,这就是我到目前为止所使用的。我将看看您提供的链接。
JohnDoe

这对化学计量学很有趣。一般来说,沃尔德的书读得很好。样本包含哪种“主体”?nmrs成像是什么?
Mike Hunter

样品是植物水提取物,并具有1H-nmr光谱。我的任务纯粹是探索性的。我应该找到我们想要与以后不同基因型或植物不同特征(例如抗干旱胁迫等)相关的任何簇。找到正确的代谢物组的好起点并不容易/功能有助于划分集群,因为针对不同的问题,不同功能将形成不同的集群。
JohnDoe

因此,我认为顺序方法最有效:-找到一组特征以对数据进行聚类-然后从整个集合中删除这些特征并重新开始不同的问题
JohnDoe 2015年

1
需要考虑的是将任何探索性工作与预定或定义的聚类集(也称为“确认性”聚类分析)进行比较。我建议这样做是因为听起来您和您的团队对植物形成与植物“抗旱胁迫能力”有关,有很强的内在假设。我认为您会发现探索性工作将提供卓越的见识和成果。探索性集群利用了数据中可用的全部信息,而“确认性”分配规则通常利用相对较少的功能
Mike Hunter

1

您所需要的只是集群质量的标准。这里的想法是:在训练中拆分数据并进行测试,在训练部分上建立聚类;使用该聚类对测试集的每个元素进行聚类(按最近的聚类);在测试集上建立单独的集群;在测试中发现聚类与预测聚类的相似性。这种相似性是聚类质量的标准。现在,如何衡量这种相似性取决于您。一旦获得它,就选择特征子集以最大化这种相似性。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.