请问,用feature crosses进行数据清洗的时候,为什么要把叉乘结果补到预测模型的后面,而不是直接代替叉乘中的参数?
比如,有如图数据集。横坐标 x1 表示 特征1 ,纵坐标x2 表示 特征2。橘色点代表垃圾邮件,蓝色点代表正常邮件
显然我们无法构建一个垃圾邮件预测模型形如:$$ y=b+w_1·x_1+w_2·x_2 $$
解决办法是使用特征叉乘,即x3 = x1 * x2。从而构建新的预测模型:
$$ y=b+w_1·x_1+w_2·x_2+w_3·x_3 $$
我的问题是,为什么x3是补加到公式后面,而不是直接代替x1和x2,即为什么新模型不是如下形式???
$$ y=b+w_3·x_3 $$
问题来源于我看google的ML课程视频:Google Machine Learning Course
我数学不好,有木有大神解释一下。谢了
想明白了,我们在建预测模型的时候,其实应该全盘考虑各种feature(特征)以及feature crosses(特征组合/特征叉积),并给予系数wi。至于wi是否会被学习为0,要看后面的数据处理,不应当再建模的时候想当然的就不考虑进来(即想当然wi=0)。这也是为什么,机器学习引入L1正则、L2正则来使一些系数降为0,来消除模型的复杂度,以避免overfitting。