线性和非线性

文章Network In Network提到传统的卷积神经网络更多的是使用线性模型(卷积操作)对数据进行抽象,所以针对非线性数据没有很好的拟合效果

理清有关线性和非线性的相关内容

什么是线性函数/非线性函数

参考:

线性函数

非线性函数

线性变换

非线性模型

在初级数学与解析几何中,线性函数(linear function)指仅包含单个变量的一阶多项式

$$y=ax+b$$

非线性函数(nonlinear function)指其他类型函数(不是一条直线),包括指数函数、幂函数、对数函数和二阶及以上多项式函数等等

$$ Y_{i}=f(X_{1},X_{2},…,X_{m};a_{1},a_{2},…,a_{n})+\mu $$

其中函数f是非线性函数,$\mu$是扰动项,变量x和参数a的个数不一定一致

在高等数学和线性代数中,线性函数指的是线性映射(linear mapping),指通过加法和数量乘法运算,能够实现向量空间V到向量空间W的映射;非线性函数指的是不满足线性条件的变换

什么是线性/非线性

参考:线性与非线性

线性和非线性是用来描述不同因素相互作用的特性

如果不同因素的组合作用仅是各个因素的简单叠加,那么这种作用是线性的

如果某些因素的变化会带来无法衡量的结果,那么这中作用就是非线性的

所以区分线性和非线性的关键在于其叠加性是否有效

什么是线性模型/非线性模型

参考:

机器学习中线性模型和非线性的区别

决策边界

线性模型

如果独立变量仅被单个参数影响,那么该模型是线性的;否则就是非线性的

  • 线性模型同样有可能包含多个独立变量,只要每个独立变量仅被单个参数(矩阵)影响即可
  • 线性模型的决策边界是超平面的,比如在二维平面上,用一条直线就可以区分两个子集

卷积神经网络

卷积神经网络一般包括卷积操作、激活操作、池化操作、正则化操作等等

其中卷积操作就是将输入层数据和卷积核进行点积操作,是线性操作

而激活操作、池化操作和正则化操作都是非线性操作

新发展的卷积神经网络结构和函数都是关于增加非线性操作的,比如随机失火,全局平均池化,Inception结构等等,其目的就是提高网络对于非线性数据的抽象能力,从而增强泛化能力