深度学习数据处理与卷积神经网络入门
1. 特征编码选择
在处理分类特征时,选择合适的编码方式至关重要。一般来说:
- 当类别数量少于 10 时,独热编码(one-hot encoding)通常是首选。
- 当类别数量大于 50(使用哈希桶时常见情况),嵌入(embeddings)通常更合适。
- 当类别数量在 10 到 50 之间,可以对两种方法进行实验,选择最适合具体用例的方式。
需要注意的是,嵌入通常需要更多的训练数据,除非可以重用预训练的嵌入。
2. 嵌入编码分类特征
嵌入是一种可训练的密集向量,用于表示一个类别。默认情况下,嵌入是随机初始化的。例如,“NEAR BAY” 类别最初可能由随机向量 [0.131, 0.890] 表示,“NEAR OCEAN” 类别可能由另一个随机向量 [0.631, 0.791] 表示(这里使用的是二维嵌入,嵌入维度是一个可以调整的超参数)。
由于这些嵌入是可训练的,在训练过程中它们会逐渐优化。相似的类别在训练过程中会在嵌入空间中逐渐靠近,而与不相似的类别则会远离。例如,“NEAR BAY” 和 “NEAR OCEAN” 的嵌入会逐渐靠近,而与 “INLAND” 类别的嵌入则会远离。
以下是使用 TensorFlow 对 ocean_proximity 类别进行二维嵌入编码的示例代码:
import tensorflow as tf
ocean_proximity_embed = tf.feature_column.embedding_c
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



