首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么线性模型不能理解任何两个输入特征之间的相互作用?

为什么线性模型不能理解任何两个输入特征之间的相互作用?
EN

Data Science用户
提问于 2022-02-06 10:48:36
回答 1查看 103关注 0票数 1

伊恩·古德费罗的“深度学习”一书指出:

代码语言:javascript
复制
Linear models also have the obvious defect that the model capacity is limited to 
linear functions, so the model cannot understand the interaction between any two 
input variables.
  1. 什么是“变量之间的交互”?
  2. 非线性模型是如何发现的?

如果有人能给出直观的/图形的/几何的解释,那就太好了。

EN

回答 1

Data Science用户

回答已采纳

发布于 2022-02-07 17:38:16

假设我们的模型有两个输入X1X2和一个输出Y --输入变量“交互”,例如,X1Y的影响取决于X2的值。

建模交互术语的最简单方法是添加一个具有X1 * X2的术语,例如:

Y = a*X1 + b*X2 + c*X1*X2 + d

上面的模型的输入是非线性的,X1X2:这就是古德费罗所说的线性。注意,它的参数a,bc是线性的,所以您仍然会看到这个称为“线性回归”的问题。

示例

让我们看一个具体的例子:维基百科饼干烘焙数据维基百科饼干烘焙数据。我们的输入是Temperaturetime (在烤箱中)。我们的输出是cookie Yield

  • Temperature较短时,增加time会提高cookie的产量。
  • Temperature长时间时,增加time会降低cookie的产量。

因此,Temperaturetime变量相互作用。

相互作用项

模型中的交互项(X1*X2)是做什么的?

你可以认为它是在两个简单的、单变量的模型之间变化或插值,使用第二个变量。如果我们的两个简单模型是:

  • 模型A:Y = a0 + a1 * Temperature
  • 模式B:Y = b0 + b1 * Temperature

那么,我们的完整模型,通过交互作用是:

Y = c_0 + c_a * time * (Model A) + c_b * time (Model B)

尝试简化它,您将看到有四个术语看起来像我们写下的第一个模型:

Y = a*X1 + b*X2 + c*X1*X2 + d

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/107894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档