特征选择过程通过识别数据集中最重要、最有影响力和最非冗余的特征来简化模型。减少特征数可提高模型效率和性能。
特征选择的优点包括:
更好的模型性能:不相关的特征会削弱模型性能。相反,为模型选择正确的特征集可以使其更准确、更精确且召回率更高。数据特征会影响模型在训练期间配置其权重的方式,进而提高性能。这与在训练之前进行的超参数调整不同。
减少过拟合:当模型无法泛化到其训练数据之外时,就会发生过拟合。删除冗余特征可以减少过拟合,并使模型能够更好地泛化到新数据。
缩短训练时间:通过关注较小的特征子集,算法的训练时间较短。模型创建者可以使用少量选定特征更快地测试、验证和部署其模型。
更低的计算成本:由最佳特征组成的较小数据集可以构建更简单的预测模型,占用更少的存储空间。它们的计算要求比更复杂的模型更低。
实施更顺畅:开发人员在构建 AI 应用程序(例如数据可视化中使用的应用程序)时,更简单、更小的模型更容易使用。
降维:随着输入变量的增加,数据点在模型空间内的距离越来越远。高维数据具有更多空白的空间,这使得机器学习算法更难识别模式和做出良好的预测。
收集更多数据可以缓解维度诅咒,但是选择最重要的特征更可行,更具成本效益。
特征是数据集中项目可定义的质量。特征也称为变量,因为它们的值可能会随数据点的不同而变化;特征还称为属性,因为它们描述了数据集中数据点的特性。不同特征以不同方式表征数据点。
特征可以是自变量、从自变量中获取值的因变量或由多个其他特征汇编而成的组合属性。
特征选择的目的是确定模型可用于预测因变量的最重要输入变量。目标变量是模型负责预测的因变量。
例如,在员工数据库中,输入特征可以包括年龄、地点、薪资、职称、绩效指标和雇佣期限。雇主可使用这些变量来生成目标组合属性,该属性代表员工为找到更好的工作而离职的可能性。然后,雇主可以决定如何鼓励这些员工留下来。
特征可大致分为数值变量和分类变量。
数值变量是可以量化的,例如长度、大小、寿命和持续时间。
分类变量是非数值变量,例如姓名、职务和地点。
在进行特征选择之前,特征提取过程会将原始数据转换为机器学习模型可以使用的数值特征。特征提取可以简化数据,并降低处理数据所需的计算要求。
监督学习特征选择使用目标变量来确定最重要的特征。由于数据特征已确定,因此任务就是确定哪些输入变量最直接地影响目标变量。相关性是评估最重要特征的首要标准。
有监督的特征选择方法包括:
筛选方法
包装方法
嵌入式方法
也可以使用将两个或多个有监督特征选择方法组合在一起的混合方法。
筛选方法是一组只关注数据本身,不直接考虑模型性能优化的特征选择技术。根据目标变量独立评估输入变量,以确定哪个相关性最高。逐项测试特征的方法被称为单变量特征选择方法。
筛选方法通常用作数据预处理工具,是快速高效的特征选择算法,擅长降低冗余并从数据集中去除不相关的特征。系统使用各种统计检验对每个输入变量进行相关性评分。但是,其他方法更擅长预测模型性能。
在 Scikit-Learn (Sklearn) 等流行的机器学习库中可用的,一些常见的筛选方法包括:
信息增益:通过熵减少的程度衡量特征的存在与否对确定目标变量的重要性。
相互信息:衡量通过一个变量获得的另一个变量的信息,评估变量之间的依赖关系。
卡方检验:通过比较观察值和预期值来评估两个分类变量之间的关系。
Fisher 评分:使用导数计算每个特征对数据分类的相对重要性。分数越高,影响力越大。
皮尔逊相关系数:量化两个连续变量之间的关系,分数范围从 -1 到 1。
方差阈值:移除所有方差低于最低值的特征,因为方差较大的特征可能包含更多有用信息。一种相关的方法是平均绝对差 (MAD)。
缺失值比率:计算数据集中某个特征缺失或具有 null 值的实例的百分比。如果数据集中某个特征缺失或具有 null 值的实例太多,则它可能没有用。
离散度:某个特征的方差与平均值的比率。离散度越高,信息量越大。
ANOVA(方差分析):确定不同的特征值是否影响目标变量的值。
包装方法使用各种特征子集来进行机器学习算法训练,在每次迭代中添加或删除特征并测试结果。所有包装方法的目标都是找到能够实现最佳模型性能的特征集。
测试所有可能的特征组合的包装方法称为贪婪算法。它们对整体最佳特征集的搜索是计算密集型和耗时的,因此最适合特征空间较小的数据集。
数据科学家可以将算法设置为在模型性能下降或特征数量达到目标数量时停止。
包装方法包括:
向前选择:从空特征集开始,然后逐渐添加新特征,直到找到最佳特征集。当算法的性能在任何特定迭代后未能提高时,就会进行模型选择。
向后选择:培训模型使用所有原始特征,并迭代地从特征集中删除最不重要的特征。
穷举特征选择:测试每种可能的特征组合,通过优化指定的性能指标,找到总体上最佳的组合。使用穷举特征选择的逻辑回归模型会测试每种可能数量特征的每种可能组合。
递归特征消除 (RFE):一种向后选择,从初始特征空间开始,并在每次迭代后根据特征的相对重要性来消除或添加特征。
带交叉验证的递归特征消除:递归消除的一种变体,使用交叉验证,用未见过的数据测试模型,以选择性能最佳的特征集。交叉验证是一种常见的大型语言模型 (LLM) 评估技术。
嵌入式方法将特征选择折叠或嵌入到模型训练过程中。在模型训练过程中,它会使用各种机制来检测表现不佳的特征,并在未来的迭代中舍弃这些特征。
许多嵌入式方法都围绕正则化展开,即根据预设系数阈值对特征进行惩罚。模型以一定程度的准确度换取更高的精确度。结果是,模型在训练期间的性能略差,但通过减少过拟合而变得泛化性更好。
嵌入式方法包括:
LASSO 回归(L1 回归):在高值相关系数的损失函数中添加惩罚值,将其移向 0。值为 0 的系数将被移除。惩罚越大,从特征空间中删除的特征就越多有效的 LASSO 使用就是为了平衡惩罚,以在保留所有重要特征的同时,移除足够多的不相关特征。
随机森林的重要性:建立数百棵决策树,每棵随机选择数据点和特征。每棵树的评估标准是其对数据点的划分程度。结果越好,树中的一个或多个特征就越重要。分类器通过基尼不纯度或信息增益来衡量分组的“不纯度”,而回归模型则使用方差。
梯度提升:按顺序将预测变量添加到集合中,每次迭代都会纠正前一次迭代的错误。通过这种方式,它可以识别哪些特征最直接地导致最佳结果。
通过无监督学习,模型可以自行找出数据特征、模式和关系。无法根据已知的目标变量定制输入变量。无监督特征选择方法使用其他技术来简化和精简特征空间。
一种无监督特征选择方法是主成分分析 (PCA)。PCA 通过将具有潜在关联的变量转换为较小的变量集,降低大型数据集的维数。这些主成分保留了原始数据集中包含的大部分信息。PCA 可有效应对“维数灾难”,还可以减少过拟合。
其他包括独立分量分析 (ICA) 和自编码器,前者将多变量数据分离成统计独立的单个分量。
自编码器广泛应用于转换器架构,是一种学习压缩然后重建数据的神经网络。在此过程中,自编码器会发现潜在变量 - 这些变量不可直接观察,但会强烈影响数据分布。
所用的特征选择类型取决于输入和输出变量的性质。这些也决定了机器学习挑战的性质,无论是分类问题还是回归任务。
数值输入,数值输出:当输入和输出均为数值时,这表明存在回归预测问题。线性模型的输出用于连续数值预测,即输出一个目标变量,该变量是某个可能值范围内的数字。在这种情况下,相关系数(例如皮尔逊相关系数)是理想的特征选择方法。
数值输入、分类输出:逻辑回归模型将输入分类为离散分类输出。在此分类问题中,可以使用支持分类目标变量的基于相关性的特征选择方法。其中包括线性回归模型的 ANOVA 和非线性任务的 Kendall 秩相关系数。
分类输入,数值输出:这种罕见类型的挑战也可以通过支持分类变量的相关方法来应对。
分类输入,分类输出:分类输入和目标变量的分类问题适合卡方方法或信息增益技术。
其他需要考虑的因素包括数据集和特征空间的大小、特征复杂性和模型类型。筛选方法可以快速消除大量不相关的特征,但在处理复杂的特征交互时显得力不从心。在这些情况下,包装和嵌入式方法可能更合适。
了解哪些特征值得关注是特征选择的核心要素。有些特征对于建模来说非常可取,而另一些特征则可能导致结果不理想。除了特征如何影响目标变量之外,特征重要性还取决于以下因素:
易于建模:如果某个特征很容易进行建模,那么整个机器学习过程就会变得更简单、更快速,出错的机会也更少。
易于正则化:适合正则化的特征使用起来会更有效。
厘清因果关系:从可观察的特征中厘清因果关系意味着识别影响它的潜在因素。
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。