机器学习之特征组合: 多非线性规律进行编码
在 图 1 和图 2 中,我们做出如下假设:
1. 蓝点代表生病的树.
2. 橙点代表健康的树.
图 1. 这是线性问题吗?#
您可以画一条线将生病的树与健康的树清晰的分开吗?当然可以。这是个线性问题。这条线并不完美。有一两棵生病的树可能位于 “健康” 一侧,但您画的这条线可以很好的做出预测.
现在,我们看看下图:
图 2 . 这是线性问题吗?#
您可以画一条直线将生病的树与健康的树清晰的分开吗?
不,您做不到。这是个非线性问题。您画的任何一条线都不能很好的预测树的健康状况.
图 3. 一条线无法分开两条数据#
要解决图 2 所示的非线性问题,可以创建一个特征组合。特征组合是指将两个或者多个输入特征相乘来对特征空间中的非线性规律进行编码的合成特征. “cross” ( 组合 ) 这一术语来自 cross product ( 向量积 ) . 我们通过将 x1 与 x2 组合来创建一个名为 x3 的特征组合:
x3 = x1x2
我们像处理任何其他特征一样来处理这个新建的 x3 的特征组合。线型公式变为:
y = b + w1x1 + w2x2 + w3x3
线性算法可以算出 w3 的权重,就想算出 w1 和 w2 的权重一样。换言之,虽然 w3 表示非线性信息,但您不需要改变线性模型的训练方式来确定 w3 的值.
特征组合的种类#
我们可以创建很多不同种类的特征组合。例如:
- [A x B] : 将两个特征的之相乘形成的特征组合.
- [A x B x C x D x E] : 将五个特征的值相乘形成的特征组合.
- [A x A] : 对单个特征的值求平方形成的特征组合.
通过采用随机梯度下降法,可以有效地训练线性模型。因此,在使用线性扩展的线性模型时辅以特征组合一直都是训练大规模数据集的有效方法.
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: