避免虚拟变量陷阱和神经网络
Avoiding Dummy variable trap and neural network
我知道在训练机器学习算法之前,分类数据应该被一次性编码。对于多元线性回归,我还需要排除其中一个编码变量以避免所谓的虚拟变量陷阱。
例如:如果我有分类特征 "size":"small"、"medium"、"large",那么在一个热编码中我会得到类似的东西:
small medium large other-feature
0 1 0 2999
因此,为了避免虚拟变量陷阱,我需要删除 3 列中的任何一列,例如,列 "small"。
我应该为训练神经网络做同样的事情吗?或者这纯粹是为了多元回归?
谢谢。
As stated here,在将所有预测变量一起考虑为线性组合的算法输入中,需要避免虚拟变量陷阱(在编码之后但在训练之前删除每个分类特征的一个类别)。这些算法是:
- Linear/multilinear回归
- 逻辑回归
- 判别分析
- 不使用权重衰减的神经网络
如果您从采用权重衰减的神经网络的输入中删除一个类别,它会偏向于被忽略的类别。
即使在对特征进行编码后省略一个类别时不会丢失任何信息,但其他算法将不得不通过所有其他类别的组合来间接推断省略类别的相关性,从而使它们对相同的结果进行更多的计算.
我知道在训练机器学习算法之前,分类数据应该被一次性编码。对于多元线性回归,我还需要排除其中一个编码变量以避免所谓的虚拟变量陷阱。
例如:如果我有分类特征 "size":"small"、"medium"、"large",那么在一个热编码中我会得到类似的东西:
small medium large other-feature
0 1 0 2999
因此,为了避免虚拟变量陷阱,我需要删除 3 列中的任何一列,例如,列 "small"。
我应该为训练神经网络做同样的事情吗?或者这纯粹是为了多元回归?
谢谢。
As stated here,在将所有预测变量一起考虑为线性组合的算法输入中,需要避免虚拟变量陷阱(在编码之后但在训练之前删除每个分类特征的一个类别)。这些算法是:
- Linear/multilinear回归
- 逻辑回归
- 判别分析
- 不使用权重衰减的神经网络
如果您从采用权重衰减的神经网络的输入中删除一个类别,它会偏向于被忽略的类别。
即使在对特征进行编码后省略一个类别时不会丢失任何信息,但其他算法将不得不通过所有其他类别的组合来间接推断省略类别的相关性,从而使它们对相同的结果进行更多的计算.