使用特征叉乘(feature crosses)进行数据清洗
请问,用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
我数学不好,有木有大神解释一下。谢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
想明白了,我们在建预测模型的时候,其实应该全盘考虑各种feature(特征)以及feature crosses(特征组合/特征叉积),并给予系数wi。至于wi是否会被学习为0,要看后面的数据处理,不应当再建模的时候想当然的就不考虑进来(即想当然wi=0)。这也是为什么,机器学习引入L1正则、L2正则来使一些系数降为0,来消除模型的复杂度,以避免overfitting。