避免虚拟变量陷阱和神经网络

Posted

技术标签:

【中文标题】避免虚拟变量陷阱和神经网络【英文标题】:Avoiding Dummy variable trap and neural network 【发布时间】:2018-04-17 07:26:55 【问题描述】:

我知道分类数据应该在训练机器学习算法之前进行一次热编码。对于多元线性回归,我还需要排除其中一个编码变量以避免所谓的虚拟变量陷阱。

例如:如果我有分类特征“大小”:“小”、“中”、“大”,那么在一个热编码中我会得到类似的东西:

small  medium  large other-feature
  0      1       0      2999

因此,为了避免虚拟变量陷阱,我需要删除 3 列中的任何一列,例如“小”列。

在训练神经网络时我应该这样做吗?或者这纯粹是为了多元回归?

谢谢。

【问题讨论】:

【参考方案1】:

As stated here,在将所有预测变量视为线性组合的算法的输入中,需要避免虚拟变量陷阱(在编码之后但在训练之前删除每个类别特征的一个类别)。这样的算法是:

线性/多线性回归 逻辑回归 判别分析 不使用权重衰减的神经网络

如果您从采用权重衰减的神经网络的输入中删除一个类别,它将偏向于偏向于省略的类别。

即使在对特征进行编码后省略一个类别时不会丢失任何信息,但其他算法将不得不通过组合所有其他类别来间接推断省略类别的相关性,从而使它们对相同的结果进行更多的计算。

【讨论】:

感谢您的回答!

以上是关于避免虚拟变量陷阱和神经网络的主要内容,如果未能解决你的问题,请参考以下文章

虚拟变量陷阱(Dummy Variable Trap)

R - 在监督学习中使用虚拟变量和定量变量的神经网络包

莫把“李鬼”当成“李逵”,警惕元宇宙区块链网络陷阱

ESXi主机上的NIC负载均衡:ESXCLI是首选

《系统虚拟化与云计算》笔记云计算中的网络技术

PyTorch经验指南:技巧与陷阱