趋近智
神经网络,从本质上讲,是数学机器。它们处理数字,特别是数字数组或张量。因此,将神经网络应用于任何问题的一个基本步骤是将原始输入数据转换为合适的数值格式。这个过程很大程度上取决于您处理的数据类型。
思考一下您希望网络从中学习的不同类型的信息:客户年龄、产品类别、图像中的像素值、句子中的单词。每种信息都需要特定的表示策略。
数值型特征通常最容易处理,因为它们本身就是数字。它们可以是:
虽然这些特征已经是数值型的,但它们通常需要进一步处理,特别是缩放,我们将在下一节(“特征缩放:归一化与标准化”)中介绍。目前,重要的一点是,它们固有的数值性质使其能够直接与网络的输入要求兼容,通常在输入向量或矩阵中表示为浮点数。
例如,如果您有年龄和收入等特征,一个数据点可以表示为[35, 55000.0]这样的向量。数据点的集合将构成一个矩阵,其中每行对应一个样本,每列对应一个特征。
分类型特征表示属于不同组或类别的性质或特点。例子包括产品类型('电子产品'、'服装'、'食品杂货')、用户满意度('高'、'中'、'低')或颜色('红'、'绿'、'蓝')。这些不能直接输入大多数神经网络模型,因为网络不理解像'服装'这样的字符串标签。我们需要将它们转换为数字。
主要有两种类型:
编码分类型特征存在几种技术:
这种方法为每个类别分配一个唯一的整数。例如:
对于序数型特征,如('低'、'中'、'高'),这可能看起来合适('低' -> 0,'中' -> 1,'高' -> 2),因为它保留了顺序。然而,将标签编码应用于名义型特征可能会有问题。网络可能会错误地将分配的整数解释为具有顺序或大小关系(例如,蓝色=2是绿色=1的“两倍”),而这种关系并不存在。这可能会给学习过程带来意想不到的偏差。
这是名义型分类特征最常见且通常首选的方法,也常用于序数型特征,除非您特别希望模型以数值方式学习序数关系(这可能很复杂)。
神经网络处理数字,特别是数组或张量形式的数字。因此,将原始输入数据转换为合适的数值格式是应用神经网络的基本步骤。对于常见的分类特征,独热编码是一种有效的数值转换方法。它将每个具有个不同类别的分类特征转换为个独立的二元(0或1)特征。对于每个数据点,这些新特征中只有一个将是1(表示该类别的存在),所有其他特征将是0。
考虑一个带有类别{'红'、'绿'、'蓝'}的颜色特征。独热编码将创建三个新特征:是_红、是_绿、是_蓝。
| 原始颜色 | 是_红 | 是_绿 | 是_蓝 |
|---|---|---|---|
| 红 | 1 | 0 | 0 |
| 绿 | 0 | 1 | 0 |
| 蓝 | 0 | 0 | 1 |
| 绿 | 0 | 1 | 0 |
使用独热编码将单个分类特征转换为多个二元特征。
这种方法避免了引入人为的顺序。然而,如果原始特征有许多独特类别,它会明显增加维度(特征数量),导致输入数据稀疏(许多零)。
虽然数值型和分类型特征在表格数据集中很常见,但神经网络也应用于其他数据结构:
无论原始数据类型如何,输入数据表示的最终目标是将您的原始数据转换为神经网络可以处理的数值张量(多维数组)。对于处理表格数据的典型前馈网络,这通常意味着将每个数据样本(行)转换为一个扁平的数值向量,并将整个数据集转换为一个二维矩阵(样本 x 特征)。
理解如何正确表示输入是构建有效神经网络模型的第一步。本章的后续部分将以此为根据进行讲解,讨论如何缩放这些数值表示并为有效训练对其进行结构化。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造