Answers:
也许一个简单的案例会使事情变得更清楚。假设我们选择的像素为1x2而不是100x100。
图像中的像素样本
+----+----+
| x1 | x2 |
+----+----+
想象一下在绘制训练集时,我们注意到它很难通过线性模型分离,因此我们选择添加多项式项以更好地拟合数据。
假设我们决定通过包含所有像素强度以及可以由此形成的所有可能倍数来构造多项式。
由于我们的矩阵很小,因此我们来枚举它们:
解释上述特征序列可以看到存在一个模式。前两个术语(第1组)是仅由其像素强度组成的特征。此后的以下两个术语,第2组,是由其强度的平方组成的特征。最后两项,第3组,是成对(两个)像素强度的所有组合的乘积。
组1:
组2:
群组3:
但是,等等,这是一个问题。如果您查看序列中的第3组项(和),您会发现它们是相等的。记住我们的住房示例。想象一下,对于同一个房子,有两个特征x1 =平方英尺,x2 =平方英尺……这没有任何意义!好的,所以我们需要摆脱重复功能,让我们任意说。现在,我们可以将第三个组的功能列表重写为:x 2 × x 1 x 2 × x 1
群组3:
我们计算所有三个组中的特征,得到5。
但这是一个玩具例子。让我们推导出用于计算特征数量的通用公式。让我们以原始的功能组为起点。
啊! 但是我们必须摆脱第3组中的重复产品。
因此,要正确计算组3的特征,我们将需要一种方法来计算矩阵中所有唯一的成对乘积。可以用二项式系数完成,这是一种从大小相等或更大的n个组中计算k个所有可能的唯一子组的方法。因此,要正确计算组3中的特征,请计算。
因此我们的通用公式为:
让我们用它来计算玩具示例中的特征数量:
而已!
如果使用所有线性和二次特征,则总数应为:
100*100 + 100*100 + C(100*100,2) = 50015000
10000 + 10000 + 49995000 = 50015000
xi xi^2 xixj
@whuber 5000万来自于您拥有100 * 100像素的图像。其中平方(100 * 100)= 100000000(1000万)和平方(100 * 100)/ 2 = 500万。希望这个答案。