type
status
date
slug
summary
tags
category
icon
password
特征工程是数据工程的一部分
特征工程的核心工作:
特征处理的过程是对数据进行微观和宏观投影的过程,所以虽然叫特征处理,但特征本身其实没有变化,变的只是你观察的维度
对数值特征做归一化,让所有的特征都“一样高”,以免模型觉得取值范围大的特征就更重要。例如模型会以为“年龄”比“气温”先天就更重要。这种谁更重要的事情应该交给模型自己去学习、决定,而在特征中,最重要的是“公平公正”
要从更高的纬度来观察宏观特征:
以性别特征为例,业务平台通常情况下会用枚举值 0、1 和 2 来表示男性、女性和未知。
如果直接给模型?
模型可能会错误地认为女性 + 女性 = 未知,男性 + 女性 < 未知,未知 > 女性 > 男性。如果把这样的数据给到类似 LR 这类的线性模型,模型可能在学完所有训练数据之后,还是没搞懂男性、女性和未知之间的关系。—》
机器学不会就觉得性别权重为0,那就浪费了。
那么应该怎么做?
设计一种映射方案,将男、女和未知设计成相互独立的值,这样模型才能自己理解这个特征在真实世界中的含义。
最简单的方法就是保证它们之间在数值上是正交的,确保每个值只占据空间中的一个维度,简而言之就是用各个维度的单位向量表示一个分类,这种编码方式叫独热编码(one-hot encoding)。
独热编码有助于模型理解的原因主要有:
a) 避免了数值大小的影响:如果我们用1、2、3来表示这三个类别,模型可能会误解为这些类别之间有大小或顺序关系。
b) 保持了类别之间的独立性:每个类别都有自己的维度,不会相互干扰。
c) 便于模型学习:在许多机器学习算法中,独热编码可以使模型更容易学习到每个类别的特征
独热编码是如何处理分类特征的?
独热编码是把每个类型分配一个维度,这样不同的维度可以做到独立和正交
正交保证了数值的独立性,怎么计算正交性:
为什么需要正交的空间投影
- 为什么需要正交的空间投影
正交空间投影的需求源于以下几个原因:
a) 避免特征之间的相关性:在独热编码中,每个特征向量都是相互正交的,意味着它们之间没有线性相关性。这有助于避免多重共线性问题。
b) 保持特征的独立性:正交投影确保每个类别都有其独特的表示,不会与其他类别混淆。
c) 便于数学运算:在许多机器学习算法中,正交特征可以简化计算和优化过程。
d) 等距性:在正交空间中,所有类别之间的距离是相等的,这确保了模型不会对某些类别产生偏见。
向量乘积为0就等于正交:
给定两个向量 a = [a₁, a₂, ..., aₙ] 和 b = [b₁, b₂, ..., bₙ],它们的点积计算如下:
a · b = a₁b₁ + a₂b₂ + ... + aₙbₙ
换句话说,我们将两个向量对应位置的元素相乘,然后将所有这些乘积相加。
- 非正交方法可能会用 1, 2, 3 来表示小说、诗歌、科技书。这可能会让人误以为这些类别之间有某种顺序或关系。
- 正交方法(独热编码)相当于给每种类型的书一个专门的书架。小说只放在"小说书架",诗歌只放在"诗歌书架",等等。这样每种类型都有其独特的位置,不会与其他类型混淆
从空间到世界
你需要将上述语料中所有的单词做独热编码,映射到高维空间中,得到单词的高维向量表达。不过,这时独热编码所投影出来的全部单词之间,都是正交的关系。所以接下来,我们需要用相邻单词之间的字面距离,来描述它们的空间关系。
为什么需要将独热编码转换为更加复杂的词向量:
1.捕捉语义关系
独热编码无法表示单词之间的语义关系。例如,"猫"和"狗"在语义上比"猫"和"电脑"更相近,但在独热编码中,它们的距离是相等的。词向量能够捕捉这种语义相似性。
2. 降低维度对于大型词汇表,独热编码会产生非常高维的稀疏向量。例如,一个包含100,000个单词的词汇表会产生100,000维的向量,其中只有一个维度为1,其余都为0。词向量通常可以用较低的维度(如300维)来表示单词,大大减少了计算复杂度。
3. 处理同义词和多义词
词向量可以更好地处理同义词(不同单词,相似含义)和多义词(同一个单词,多种含义)。在向量空间中,同义词会被映射到相近的位置,而多义词可能会根据上下文有不同的表示。
如何去衡量,语料中词与词的关系?
跳字模型的目标是,通过给定一个中心词用它来预测前后单词;而在连续词袋模型中,模型的目标是通过前后词来预测中心词
假如:
连续词袋模型(CBOW)
- 连续词袋模型(CBOW)
- 目标:给定周围的词,预测中心词。
- 工作方式:
- 选择一组词作为输入(上下文词)
- 模型尝试预测这些词中间的词(中心词)
例子:句子:"猫喜欢吃鱼"如果"喜欢"是要预测的中心词,模型会使用"猫"和"吃"作为输入来预测"喜欢"
跳字模型(Skip-gram)
- 跳字模型(Skip-gram)
- 目标:给定一个中心词,预测其周围的词。
- 工作方式:
1. 选择一个词作为输入(中心词)
- 模型尝试预测这个词周围的词(上下文词)
例子:句子:"猫喜欢吃鱼"如果"喜欢"是中心词,模型会尝试预测"猫"和"吃"
随着你的语料不断增加,每个单词后面的链条也会越来越长。这样,模型就能通过统计,知道哪些单词之间的关系更相近了
特征工程的本质是空间投影的过程