Artificial intelligence 如何为机器学习设计特征

Artificial intelligence 如何为机器学习设计特征,artificial-intelligence,machine-learning,neural-network,classification,pattern-recognition,Artificial Intelligence,Machine Learning,Neural Network,Classification,Pattern Recognition,你是否有一些建议或阅读如何为机器学习任务设计功能? 即使对于神经网络,良好的输入特性也很重要。选择的特征将影响所需的隐藏神经元数量和所需的训练示例数量 下面是一个示例问题,但我对功能工程感兴趣 激励示例: 在看拼图时,什么是好的输入(例如,或)?是否有可能识别两种状态中哪一种更接近目标?良好的特性工程涉及两个组件。第一个是理解您试图解决的任务的属性,以及它们如何与您使用的分类器的优势和局限性交互。第二个是实验性的工作,你将测试你的期望,找出什么实际有效,什么不有效 这可以反复进行:你对问题的自上

你是否有一些建议或阅读如何为机器学习任务设计功能? 即使对于神经网络,良好的输入特性也很重要。选择的特征将影响所需的隐藏神经元数量和所需的训练示例数量

下面是一个示例问题,但我对功能工程感兴趣

激励示例:
在看拼图时,什么是好的输入(例如,或)?是否有可能识别两种状态中哪一种更接近目标?

良好的特性工程涉及两个组件。第一个是理解您试图解决的任务的属性,以及它们如何与您使用的分类器的优势和局限性交互。第二个是实验性的工作,你将测试你的期望,找出什么实际有效,什么不有效

这可以反复进行:你对问题的自上而下的理解会激发实验,然后你为这些实验学习的自下而上的信息会帮助你更好地理解问题。对这个问题的深入理解可以推动更多的实验

将功能装配到分类器中

假设您正在使用一个简单的线性分类器,比如或一个带有线性内核的。如果您认为可以测量并作为分类器的输入提供的各种属性之间可能存在有趣的交互,则需要手动构造并提供捕获这些交互的功能。然而,如果使用多项式或高斯核的支持向量机,则模型的结构已经捕捉到输入变量之间的交互作用

类似地,如果某些输入变量的值范围比其他变量大得多(例如,大多数特征值为0或1,但一个特征值介于-1000和1000之间),支持向量机的性能可能会很差。因此,当您为支持向量机进行特征工程时,您可能希望在将特征值提供给分类器之前尝试规范化特征值。但是,如果您使用or,则不需要进行这种规范化,因为这些分类器对各种特征值之间的大小差异具有鲁棒性

关于解谜的特别说明


如果您正在考虑用复杂的状态空间解决问题,您可能希望使用类似的方法。这有助于组织学习任务,包括通过系统的一系列中间步骤达到某个目标

书中是否提到了属性之间相互作用的识别?如何识别输入中缺少了什么?大多数统计教科书都应该提到交互作用。但是,维基百科有一个很好的概述:。至于输入中缺少的东西,我想你的意思是“我如何知道我是否有足够的正确功能”。如果您将分类器的正则化方式调低,并且训练数据的性能仍然很差,那么您可能应该尝试集体讨论更多特性。但是,当您的训练集性能良好但测试集性能较差时,您就过度拟合了训练集,需要删除一些功能和/或启用正则化。