机器学习9-特征组合
前言
在机器学习任务中,一些非线性问题,可以创建一个特征组合。特征组合是指通过将两个或多个输入特征相乘,来对特征空间中的非线性规律进行编码的合成特征。
特征组合的种类
我们可以创建很多不同种类的特征组合。;例如:
- [ A x B ]:将两个特征的值相乘形成的特征组合。
- [ A x B x C x D x E]:将五个特征的值相乘形成的特征组合。
- [ A x A ]:对单个特征的值求平方,形成的特征组合。
组合独热矢量
背景
在实践中,机器学习模型很少会组合连续特征。不过,机器学习模型却经常组合独热特征矢量,将独热特征矢量的特征组合视为逻辑连接。
案例
例1,假设我们具有以下两个特征:地区和语言。
对每个特征进行独热编码会生成具有二元特征的矢量,这些二元特征可解读为country=USA, country=France
或 language=English, language=Spanish
。
如果对这些独热编码进行特征组合,则会得到逻辑连接的二元特征,如下:
例2,对经度和纬度进行独热编码,各自获得5个元素的特征矢量,如下:
如果对这两个特征矢量创建特征组合:
此特征组合是一个25元素独热矢量(24个0,个1)。该组合中的单个1表示经度和纬度的特点连接。然后,模型可以了解到有关这种连接的特定关联性。
例3,对纬度和经度进行编码,如下:
针对上面的信息进行特征组合,会生成具有以下含义的合成特征:
例4,模型需要根据以下两个特征,来预测主人对狗狗的满意程度:
- 行为类型(吠叫、偎依等)
- 时段
根据这两个特征构建以下特征组合:
使用特征组合的模型,比单一特征的模型,预测效果好很多。例如,如果狗狗在下午5点,主人下班回来时,快乐地叫喊,可能表示模型对主人满意度的正面预测,如果狗狗在凌晨3点,主人熟睡是,在(也许痛苦地)叫喊,可能表示模型对主人满意度的父母预测。
小结
对大规模数据集使用特征组合是学习高度复杂模型的一种有效策略。
关键词—特征组合、合成特征
合成特征(synthetic feature),一种特征,不在输入特征之列,而是从一个或多个输入特征衍生而来。合成特征包括以下类型:
- 对连续特征进行分桶,以分为多个区间分箱。
- 将一个特征值与其他特征值或本身相差(或相除)。
- 创建一个特征组合。
仅通过标准化或缩放创建的特征不属于合成特征。
特征组合(feature cross),通过将单独的特征进行组合(求笛卡尔积),形成的合成特征。特征组合有助于表达非线性关系。
参考:https://developers.google.cn/machine-learning/crash-course/feature-crosses/encoding-nonlinearity
参考:https://developers.google.cn/machine-learning/crash-course/feature-crosses/crossing-one-hot-vectors
- 点赞
- 收藏
- 关注作者
评论(0)