非线性模型是什么?能刻画弯曲、交互关系的模型
非线性模型(Nonlinear Model)是指输出与输入之间的关系不是简单的线性关系的模型。线性模型假设输出等于各个输入特征乘以相应的权重再相加,它只能描述“直线式”的关系:一个特征每增加一个单位,输出就固定地增加或减少一个量。非线性模型则能够描述弯曲的、有转折的、特征之间相互影响的复杂关系。
现实中的非线性关系
现实世界中的很多关系都是非线性的。比如施肥量与农作物产量的关系:一开始,施肥越多产量越高;但超过一定的量之后,继续施肥产量就不再增加,甚至会因为肥料过多而下降,这是一条先升后降的曲线。又比如学习时间与考试成绩的关系,往往存在“边际递减”的效应。再比如特征之间的交互作用:一种药物的效果可能取决于病人的年龄和剂量的组合,对年轻人有效的剂量对老年人可能就过量了。这些关系都无法用一条直线来准确地描述。
“线性”与“非线性”的两种含义
需要注意的是,“线性”在不同的语境中有不同的含义。在统计学中,线性模型通常指的是对参数是线性的,而不一定对输入是线性的。比如多项式回归,模型中包含输入的平方、立方等项,它描述的是一条曲线,看起来是非线性的;但它对参数仍然是线性的,可以用普通的最小二乘法求解,所以在统计学中它仍然被归为线性模型。统计学中的非线性回归模型,则是指参数以非线性的方式出现在模型中,比如指数增长模型、逻辑斯蒂增长模型,需要用迭代的数值方法来估计参数。在机器学习中,人们更多地从输入和输出之间的关系来区分:能够学习非线性决策边界或非线性映射的模型,就被称为非线性模型。
常见的非线性模型
决策树及其集成:随机森林、梯度提升树通过一系列的划分,形成分段的、台阶状的决策边界,能够自然地捕捉非线性关系和特征之间的交互作用。核方法:比如使用高斯核的支持向量机,通过核技巧隐式地把数据映射到高维空间,在原始空间中形成弯曲的决策边界。K 近邻:根据局部的邻居来进行预测,决策边界可以非常复杂。神经网络:通过多层的线性变换和非线性的激活函数相互交替,神经网络能够逼近几乎任意复杂的函数。如果没有激活函数,无论网络有多少层,整体都只是一个线性的模型;正是激活函数引入的非线性,让神经网络具有了强大的表达能力。
非线性模型的优缺点
非线性模型的优点是表达能力强,能够捕捉数据中复杂的规律,在图像、语音、文本等复杂的任务上,以及很多表格数据的任务上,效果往往远远超过线性模型。它的缺点是:模型更复杂,参数更多,更容易过拟合,通常需要更多的训练数据以及正则化等手段来控制;训练的计算成本更高,优化问题往往是非凸的;可解释性较差,很难像线性模型那样,直接从系数中看出每个特征的影响。因此,在实际应用中,常常先用简单的线性模型作为基线,再根据需要尝试更复杂的非线性模型。在一些需要高度可解释的场合,比如信贷审批,线性模型由于结构透明,仍然被大量使用。