机器学习9-特征组合

举报
一颗小树x 发表于 2021/06/18 21:37:59 2021/06/18
【摘要】 在机器学习任务中,一些非线性问题,可以创建一个特征组合。特征组合是指通过将两个或多个输入特征相乘,来对特征空间中的非线性规律进行编码的合成特征。

前言

在机器学习任务中,一些非线性问题,可以创建一个特征组合。特征组合是指通过将两个或多个输入特征相乘,来对特征空间中的非线性规律进行编码的合成特征。

 

特征组合的种类

我们可以创建很多不同种类的特征组合。;例如:

  • [ A x B ]:将两个特征的值相乘形成的特征组合。
  • [ A x B x C x D x E]:将五个特征的值相乘形成的特征组合。
  • [ A x A ]:对单个特征的值求平方,形成的特征组合。

 

组合独热矢量

背景

在实践中,机器学习模型很少会组合连续特征。不过,机器学习模型却经常组合独热特征矢量,将独热特征矢量的特征组合视为逻辑连接。

案例

例1,假设我们具有以下两个特征:地区和语言。

对每个特征进行独热编码会生成具有二元特征的矢量,这些二元特征可解读为country=USA, country=France 或 language=English, language=Spanish

如果对这些独热编码进行特征组合,则会得到逻辑连接的二元特征,如下:

 country:usa AND language:spanish

 

例2,对经度和纬度进行独热编码,各自获得5个元素的特征矢量,如下:

  binned_latitude = [0, 0, 0, 1, 0]
  binned_longitude = [0, 1, 0, 0, 0]

如果对这两个特征矢量创建特征组合:

binned_latitude X binned_longitude

此特征组合是一个25元素独热矢量(24个0,个1)。该组合中的单个1表示经度和纬度的特点连接。然后,模型可以了解到有关这种连接的特定关联性。

 

例3,对纬度和经度进行编码,如下:

binned_latitude(lat) = [
  0  < lat <= 10
  10 < lat <= 20
  20 < lat <= 30
]

binned_longitude(lon) = [
  0  < lon <= 15
  15 < lon <= 30
]

针对上面的信息进行特征组合,会生成具有以下含义的合成特征:

binned_latitude_X_longitude(lat, lon) = [
  0  < lat <= 10 AND 0  < lon <= 15
  0  < lat <= 10 AND 15 < lon <= 30
  10 < lat <= 20 AND 0  < lon <= 15
  10 < lat <= 20 AND 15 < lon <= 30
  20 < lat <= 30 AND 0  < lon <= 15
  20 < lat <= 30 AND 15 < lon <= 30
]

 

例4,模型需要根据以下两个特征,来预测主人对狗狗的满意程度:

  • 行为类型(吠叫、偎依等)
  • 时段

根据这两个特征构建以下特征组合:

[behavior type X time of day]

使用特征组合的模型,比单一特征的模型,预测效果好很多。例如,如果狗狗在下午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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。