2.2.1 理解什么是线性
不论是在数学还是在机器学习中,“线性”这个词都不鲜见,比如现在学习的是“线性代数”,机器学习中有“线性回归”,初中我们就学习过“线性函数”,等等。但是,那些名词中的“线性”是什么意思?它们与“线性空间”中的“线性”是否同义?
在第1章1.2.1节已经定义了线性代数的一个重要对象——线性空间(或向量空间),判断一个空间是否是线性空间,就是看其中的向量是否符合加法和数量乘法封闭——不要忘记,我们已经在2.1.4节将向量的形态从行或者列推广到了矩阵。这样看来,“线性代数”中的线性,就应该如此理解了。
再来考查“线性函数”中的“线性”所指为何。有点复杂。
首先要说明“函数”的含义——尽管读者可能知晓,但为了阐述的连贯性,这里需要再次强调。清代数学家李善兰在翻译《代数学》(1859年)一书时,把英文中的“function”译成了“函数”。按照现代一般的定义,函数是两个非空集合之间的对应法则。那么“线性函数”,就是指“对应法则”应该是“线性”的。符合什么样的具体规则,算是线性的呢?在线性代数中有严格规定。
定义 如果函数是线性的,那么它必须满足:
● 可加性:
● 齐次性:,为常数
上述定义,也可以统一写成:
从形式上看,对线性函数的定义就是线性空间中所定义的加法和乘法封闭,这是因为线性函数就是线性空间中运算过程的具体体现。
根据上述定义,显然函数是线性函数,但另一个被称为“线性函数”的不符合上述规定的第二条(,得:),因此也就不能再严格地称它作“线性函数”了——中学数学中的称呼,更可能是因为它的几何形状是一条直线。
如果在平面空间创建一个笛卡儿坐标系,并绘制和这两个函数所对应的图像,则如图2-2-2所示,直线过坐标系原点,其函数式为;直线不过坐标系原点,其函数式为。
图2-2-2
如果用第1章1.2.4节中的子空间概念来衡量,则直线所表示的空间不是平面空间的子空间,因此它所对应的函数,也不在我们要讨论的“线性函数”范畴——称是“一次函数”更好。故:直线不等于线性函数。
上面讨论的是一元函数,它生成的是二维向量空间的子空间。如果把这个概念推广到元函数,则可以写成:
(2.2.1)
(2.2.1)式等号右侧,就是的线性组合。假设是可以观测到的具体值,若与之对应的函数值(记作)也已知,则可列出如下线性方程组:
关于这个方程组的求解方法,我们放在第2章2.4.2节中。这里不妨用已经学习过的矩阵有关知识,将这个线性方程组改写为:
令:,则:
(2.2.2)
对于(2.2.2)式,如果将其看成函数,则它符合线性函数的两个规定;看成向量,则符合加法和乘法封闭原则。并且向量通过矩阵变换成了向量,至于这个变换的具体含义,请看2.2.2节详述。
经过以上阐述,读者已经理解了在线性代数范畴所说的“线性”含义。在本节即将结束的时候,再对机器学习中的“线性回归”中的“线性”含义进行简要说明,因为它也容易引起误解。
通常,用下面的表达式表示线性回归模型:
所谓线性,是指是参数的线性函数,不必是的线性函数,所以,式子是线性回归模型,但则是非线性模型。