精华内容
下载资源
问答
  • 线性
    千次阅读
    2021-07-26 15:15:05

    文章来源-公众号:有限元仿真分析

    在这里插入图片描述
    非线性是自然界复杂性的典型性质之一,那么你对非线性了解多少呢?以下可见一斑:

    什么是非线性

    非线性(non-linear),即 变量之间的数学关系,不是直线而是曲线、曲面、或不确定的属性,叫非线性。非线性是自然界复杂性的典型性质之一;与线性相比,非线性更接近客观事物性质本身,是量化研究认识复杂知识的重要方法之一;凡是能用非线性描述的关系,通称非线性关系。

    狭义的非线性是指不按比例、不成直线的数量关系,无法用线性形式表现的数量关系,如曲线、曲面等。而广义上看,是自变量以特殊的形式变化而产生的不同于传统的映射关系,如迭代关系的函数,上一次演算的映射为下一次演算的自变量,显然这是无法用通常的线性函数描绘和形容的。很显然,自然界事物的变化规律不是像简单的函数图像,他们当中存在着并非一一对应的关系。如果说线性关系是互不相干的独立关系,那么非线性则是体现相互作用的关系,正是这种相互作用,使得整体不再是简单地全部等于部分之和,而可能出现不同于"线性叠加"的增益或亏损。

    线性与非线性的区别

    非线性是相对于线性而言的,是对线性的否定,线性是非线性的特例,所以要弄清非线性的概念,明确什么是非线性,首先必须明确什么是线性,其次对非线性的界定必须从数学表述和物理意义两个方面阐述,才能较完整地理解非线性的概念。

    1、线性

    对线性的界定,一般是从相互关联的两个角度来进行的:其一,叠加原理成立:“如果ψl,ψ2是方程的两个解,那么aψl+bψ2也是它的一个解,换言之,两个态的叠加仍然是一个态。”叠加原理成立意味着所考察系统的子系统间没有非线性相互作用。其二,物理变量间的函数关系是直线,变量间的变化率是恒量,这意味着函数的斜率在其定义域内处处存在且相等,变量间的比例关系在变量的整个定义域内是对称的。

    2、非线性

    在明确了线性的含义后,相应地非线性概念就易于界定:

    其—,“定义非线性算符N(φ)为对一些a、b或φ、ψ不满足L(aφ+bψ)=aL(φ)+bL(ψ)的算符”,即叠加原理不成立,这意味着φ与ψ间存在着耦合,对(aφ+bψ)的操作,等于分别对φ和ψ操作外,再加上对φ与ψ的交叉项(耦合项)的操作,或者φ、ψ是不连续(有突变或断裂)、不可微(有折点)的。

    其二,作为等价的另—种表述,我们可以从另一个角度来理解非线性:在用于描述—个系统的一套确定的物理变量中,一个系统的—个变量最初的变化所造成的此变量或其它变量的相应变化是不成比例的,换言之,变量间的变化率不是恒量,函数的斜率在其定义域中有不存在或不相等的地方,概括地说,就是物理变量间的一级增量关系在变量的定义域内是不对称的。可以说,这种对称破缺是非线性关系的最基本的体现,也是非线性系统复杂性的根源。

    对非线性概念的这两种表述实际上是等价的,其—叠加原理不成立必将导致,其二物理变量关系不对称;反之,如果物理变量关系不对称,那么叠加原理将不成立。之所以采用了两种表述,是因为在不同的场合,对于不同的对象,两种表述有各自的方便之处,如前者对于考察系统中整体与部分的关系、微分方程的性质是方便的,后者对于考察特定的变量间的关系(包括变量的时间行为)将是方便的。

    关于非线性概念需要强调的是,线性或非线性的提法是相对于物理变量而言的,也就是说,只有物理变量的关系才是判断是否是非线性的根据,而非物理变量的关系不能成为非线性与否的判据。这里所说的物理变量是指那些可以观测的、人们感兴趣的、对人类有意义的变量。例如分形理论中,简单分形的分维D是恒量,在无标度区间内lnN=DlnL,lnN与lnL是线性关系,但是显然不能籍此得出简单分形是线性的结论。这里的物理变量是N和 L,而不是经过对数变换的nN与lnL,即人们可观测的、感兴趣的、对人们有意义的是N和L,而不是lnN和lnL,N与L的关系N=LD是非线性的,所以可得出分形是非线性的结论。再如,物价对时间的直接关系(而不足Mandbrolt所统计的棉花价格指数的无标度性)正是人们感兴趣的、对人们有意义的,而且两者的关系是非线性的,所以物价随时间的变化是一种非线性现象。

    非线性的性质

    非线性科学正处于发展过程之中,它所研究的各门具体科学中的非线性普适类,有已经形成的 (如混沌、分形、孤子),有正在形成的(如适应性与自涌行为),还会有将要形成的,所以非线性的性质还没有完全呈现出来,这里也就不可能全面地讨论非线性的性质。下面仅从“非线性与线性的关系”、“非线性的物理机制”和“非线性与稳定性”三个方面作初步探讨。

    非线性与线性是相对而言的,两者是一对矛盾的概念,一方面两者在一定程度上可以相互转化,另一方面两者又存在本质区别,再者两者同时存在于—个系统中,规定着系统相应方面的性质。

    (1) 非线性与线性的密切联系

    首先,在数学上一些线性方程可转化为非线性方程来解。物理上的一些非线性问题,也可以通过数学变换而转化为线性方程来研究。如非线性的KdV方程通过散射反演方法化为线性的可积方程,从而求出了精确的解析解;一些非线性不强的问题,可用线性逼近方法将其转化为若干线性问题来求近似解,这是已在各门学科中广泛采用并相当有效的的方法。

    其次,在某些情况下,由方程得到的解析解并不能提供更多的信息,无助于更好地理解系统的行为,而从解的非线性形式中,我们却可以方便地得到所研究系统的重要性质。如:考虑这样一个简单方程:d2X/dt²+X=0,它的解是X=Acos(t)+Bsin(t),从这个非线性形式中,我们容易知道它是个周期函数,满足cos(t+2π)=cos(t),sin(t+2π)=sin(t)。而从cos(t)和sin(t)的解析形式中,极难证明其具有相应的周期性这一重要性质。所以,认为线性方程可以得到解析解, 非线性方程难以得到解析解,因而线性能给出比非线性更多的有用信息是不确切的。这意味着,对某些问题从非线性的角度考察不仅是可能的,而且有时也是必要的。

    所以,线性与非线性在一定程度上是可以相互转化的,这表明了线性与非线性之间有密切的联系。

    (2) 非线性与线性的本质区别

    非线性与线性虽然可以通过数学变换而相互转化,在数学上有一定的联系,但是在同一视角、同一层次、同一参照系下,非线性与线性又是有本质区别的。

    在数学上,线性函数关系是直线,而非线性函数关系是非直线,包括各种曲线、折线、不连续的线等;线性方程满足叠加原理,非线性方程不满足叠加原理;线性方程易于求出解析解,而非线性方程一般不能得出解析解。

    在物理上,近线性问题(它不是我们所说的非线性问题)可用线性逼近方法求出一定精确度的解,即依据具体问题对精确度的要求,逐次解出若干个线性问题,把它们叠加起来,就能得到很好的近似解。但是对于非线性问题,由于存有小参数发散及收敛慢等问题,线性逼近方法将失效,特别是对于高速运动状态、强烈的相互作用、长时间的动态行为等非线性很强的情况,线性方法将完全无能为力。线性逼近方法这些局限性,导致非线性方法的不可替代,在无法用线性方法处理的强非线性的地方,只能用非线性方法。线性逼近方法并非经常能奏效,这不光是方法论问题,也是自然观问题,自然界既有量变又有质变,在质变中, 自然界要经历跃变或转折,这是线性所不能包容的。

    (3) 非线性与线性在同一系统中的作用

    非线性与线性有一定的联系又有本质区别,它们常同时存在于一个系统之中,规定着系统不同侧面的性质,一个确定的系统,一般都同时具有线性和非线性两种性质:

    首先,在一个给定的非线性系统中,它的非线性性质决定它的平衡构造或说稳定机制是否存在,及存在的地方。

    其次,系统的线性性质决定着系统关于其平衡点(稳定结构)的小振动的规律,即系统在稳定点附近的线性展开性质。

    更多相关内容
  • 期末复习,高效有用,看完不挂科
  • 多元线性回归:在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,...
  • 主要用于数学建模(Matlab)的学习,下载下来换成你的数据就可以用了。
  • 用mindmaster打开文件,本文的思维导图根据张宇和汤家凤两人的课程整理而来并标记出重点内容,整合了很多技巧,题型,方法
  • 考研同学必备线性代数备考教材。同时,线性代数和概率论是机器学习算法的数学基础。
  • 关于回归和拟合,从它们的求解过程以及结果来看,两者似乎没有太大差别,事实也的确如此。从本质上说,回归属于数理统计问题,...并且拟合可以分为线性拟合与非线性拟合,非线性拟合比较常用的是多项式拟合。根据自变

    关于回归和拟合,从它们的求解过程以及结果来看,两者似乎没有太大差别,事实也的确如此。从本质上说,回归属于数理统计问题,研究解释变量与响应变量之间的关系以及相关性等问题。而拟合是把平面的一系列点,用一条光滑曲线连接起来,并且让更多的点在曲线上或曲线附近。更确切的说,拟合是回归用到的一种数学方法,而拟合与回归的应用场合不同。拟合常用的方法有最小二乘法梯度下降法高斯牛顿(即迭代最小二乘)列-马算法。其中最最常用的就是最小二乘法。并且拟合可以分为线性拟合非线性拟合,非线性拟合比较常用的是多项式拟合。根据自变量的个数,拟合也可以分为曲线拟合曲面拟合等。

    而回归大多数采用最小二乘法。回归可以分为一元线性回归一元非线性回归多元线性回归多元非线性回归等

    通常情况下,拟合通常所处理的是一元函数(即曲线拟合),求自变量与因变量之间的关系;对于多元回归问题,一般会涉及很多个解释变量。通常情况下,我们会把线性回归与线性拟合定义等同。本文对于回归问题,与拟合方法结合,讲解对于不同情况下拟合方程的求法,对相关系数等知识不做展开。

    一:最小二乘法。

    无论是在高等数学、线性代数,还是数理统计,我们都可以看到最小二乘法的身影。只不过每一部分侧重点不同,最终是殊途同归的。但是兔兔建议用矩阵的方法来做,这样很便于理解,计算起来也很方便。

    最小二乘法的基本思路是:确定函数f(x),使得各个点x1,x2..xn处的函数值偏差f(x1)-y1、f(x2)-y2...f(xn)-yn的平方和或绝对值和最小。如果是一元线性拟合(回归),我们可以设方程为f(x)=ax+b。

    这时我们求得函数值偏差平方和为M=\sum^{n}_{i=1}[y_{i}-(ax_{i}+b)]。为了求它的最小值,利用高数的方法,就可以使M分别对a和b的偏导为0,最终求解得方程组:

    8a+(\sum_{i=1}^{n}x_{i})b=\sum_{i=0}^{n}y_{i}\\ (\sum_{i=1}^{n}x_{i})a+(\sum_{i=1}^{n}x_{i}^{2})b=\sum_{i=1}^{n}x_{i}y_{i}

    把方程组解出来得a,b就得出拟合结果了。这个式子也就是我们在数理统计中一元回归方程中常用的式子之一,不过比较麻烦。当自变量(解释变量)的个数是多个时,我们设方程为f(x_{1},x_{2}...x_{n})=a_{0}+a_{1}x_{1}+a_{2}x_{2}+...+a_{n-1}x_{n-1},或者是多项式拟合,设函数为f(x)=a_{0}+a_{1}x+a_{2}x^{2}+a_{3}x^{3}+...+a_{n-1}x_{n-1}。这样逐个求偏导就麻烦很多。

    这个时候矩阵的方法就使得拟合结果十分简洁。而且可以发现,如果用矩阵进行一元线性拟合,展开后和上面那个结果是一致的。

    例如对于多元线性回归(二元时也可以看作是平面拟合),我们设每组数据有p个指标,一共有n组数据,在多元统计中,我们称:\begin{pmatrix}x_{11}&x_{12}&...&x _{1p}\\...\\x_{n1}&x_{n2}&...&x_{np}\end{}_{n\times p}

    为样本数据矩阵(观测阵)。如果我们设方程为f(x_{1},x_{2}...x_{p})=a_{0}+a_{1}x_{1}+a_{2}x_{2}+...+a_{p}x_{p},把每一组数据带入,求偏导等于0 时各个a的值。这个推导过程比较麻烦。不过,如果我们对于这个式子,定义X、Y、a为:

    X=\begin{pmatrix}1&x_{11}&x_{12}&...&x_{1p}\\1&x_{21}&x_{22}&...&x_{2p}\\...\\1&x_{n1}&x_{n2}&...&x_{np} \end{}_{n\times (p+1)}Y=\begin{pmatrix}y_{1}\\y_{2}\\.\\.\\y_{n} \end{}_{n\times 1}\textbf{a}=\begin{pmatrix}a_{0}\\a_{1}\\.\\.\\a_{p} \end{}_{(p+1)\times 1}

    这样等式就是X\textbf{a}=Y。之后就是

    X^{T}X\textbf{a}=X^{T}Y\\\Rightarrow \textbf{a}=(X^{T}X)^{-1}X^{T}Y

    这样,我们就很容易得到a了,虽然不是严格的证明,但是推算和应用却十分的简便!严格的矩阵求导证明方法兔兔写在下面了,感兴趣的同学可以看一下。(关于矩阵求导可以看兔兔的另一篇《矩阵求导(本质、原理与推导)详解》)

     

    那么,一元多项式拟合也是如此。如果设方程为f(x)=a_{0}+a_{1}x+a_{2}x^{2}+a_{3}x^{3}+...+a_{m}x^{m}。定义X,Y,a为:

    X=\begin{pmatrix} 1&x_{11}&x_{12}^{2}&...&x_{1m}^{m}\\1&x_{21}&x_{12}^{2}&...&x_{2m}^{m}\\...\\1&x_{n1}&x_{n2}^{2}&...&x_{nm}^{m}\end{}_{n\times(m+1)}Y=\begin{pmatrix}y_{1}\\y_{2}\\.\\.\\y_{n} \end{}_{n\times 1}\textbf{a}=\begin{pmatrix}a_{0}\\a_{1}\\.\\.\\a_{m} \end{}_{(m+1)\times 1}

    这样等式就是Xa=Y,解法与推导与以上过程一样,结果为:\textbf{a}=(X^{T}X)^{-1}X^{T}Y

    对于多元非线性回归(拟合),也可以设多元多项式形式,拟合出多元多项式函数。

    算法实现:

    (1)二元线性回归:

    对表格的数据做二元线性回归。

    指标x171117113892
    指标x2262956315255713154
    y9391190108177172231111167

    代码实现:

    import numpy as np
    x1=[7,1,11,7,11,3,8,9,2]
    x2=[26,29,56,31,52,55,71,31,54]
    y=[93,91,190,108,177,172,231,111,167]
    X=np.mat([[1 for i in range(len(x1))],x1,x2]).T #把样本转成X
    Y=np.mat(y).T #把y转成Y
    a=np.linalg.inv(X.T*X)*X.T*Y #求a的公式
    a0=a[0,0];a1=a[1,0];a2=a[2,0]
    ax=plt.axes(projection='3d')
    xx=np.arange(2,12,0.1)
    yy=np.arange(20,75,0.5)
    XX,YY=np.meshgrid(xx,yy)
    Z=a0+a1*XX+a2*YY #平面方程
    ax.scatter(x1,x2,y,color="red") #画散点
    ax.plot_surface(XX,YY,Z,cmap="winter") #画拟合平面
    plt.show()

    散点图如下:

     拟合平面图:

     我们发现,大部分点都落在平面附近。

    (2)一元多项式回归

    可以对表格的数据做三次多项式拟合。

    x124567101113
    y18200-10-120180308702
    import numpy as np
    x=[1,2,4,5,6,7,10,11,13]
    y=[18,20,0,-10,-12,0,180,308,702]
    def to_X(x,n):
        '''把数据X转成矩阵X,n是拟合多项式的次数'''
        l=[]
        for i in x:
            s=[]
            for j in range(n+1):
                s.append(i**j)
            l.append(s)
        return np.mat(l)
    Y=np.mat(y).T
    X=to_X(x=x,n=3) #做三次多项式拟合
    a=np.linalg.inv(X.T*X)*X.T*Y
    xx=np.arange(0,14,0.1)
    yy=a[0,0]+a[1,0]*xx+a[2,0]*xx**2+a[3,0]*xx**3
    plt.scatter(x,y,color="red") #画散点图
    plt.plot(xx,yy) #拟合曲线
    plt.show()

    散点图与拟合曲线图如下所示:

     我们发现,用三次多项式拟合,效果比较好。至于其它的多项式同学们也可以尝试以下,但需要注意的是:有时不一定多项式次数越多,拟合效果越好

    (3)二元多项式拟合(曲面拟合)

    对于曲面拟合情况,我们可以和曲线拟合,分为n次多项式拟合。如果假设是二次曲面,就是f(x_{1},x_{2})=a_{0}+a_{1}x_{1}^{2}+a_{2}x_{2}^{2}+a_{3}x_{1}x_{2}。三次曲面:f(x_{1},x_{2},x_{3})=a_{0}+a_{1}x_{1}^{3}+a_{2}x_{2}^{3}+a_{3}x_{1}x_{2}^{2}+a_{4}x_{1}^{2}x_{2}+a_{5}x_{1}^{2}+a_{6}x_{2}^{2}+a_{7}x_{1}x_{2}+a_{8}

    计算方法仍是把数据转换成矩阵X,代入公式。我们对下面数据做二次曲面拟合。

    x11-2634-4-2310
    x229-436-322-4
    y949480101500256
    import numpy as np
    x1=[1,-2,6,3,4,-4,-2,3,10]
    x2=[2,9,-4,3,6,-3,2,2,-4]
    y=[9,49,4,80,101,50,0,25,6]
    def to_X(x1,x2):
        n=len(x1)
        X=[[1 for i in range(n)],
           [i**2 for i in x1],
           [j**2 for j in x2],
           [i*j for i,j in zip(x1,x2)]]
        return np.mat(X).T
    X=to_X(x1,x2)
    Y=np.mat(y).T
    a=np.linalg.inv(X.T*X)*X.T*Y
    a0=a[0,0];a1=a[1,0];a2=a[2,0];a3=a[3,0]
    ax=plt.axes(projection='3d') #画散点图
    ax.scatter(x1,x2,y,color='red')
    xt=np.arange(-5,10)
    yt=np.arange(-5,10)
    Xt,Yt=np.meshgrid(xt,yt)
    Z=a0+a1*Xt**2+a2*Yt**2+a3*Xt*Yt
    ax.plot_surface(Xt,Yt,Z) #画拟合曲面
    plt.show()

    运行结果如下图所示。

     二:梯度下降法

    关于梯度下降法,兔兔在《梯度下降法(Gradient descant)算法详解》一文已经讲过。在这里,我们先设函数f(x),然后求损失函数J(a)=\sum_{i=1}^{n}\frac{1}{2}(f(x_{i})-y_{i})^{2}取最小值时的a的值(这里用二分之一是为了方便,求导后乘以2后化为1)。如果用矩阵表示,可以是J(\mathbf{a})=\frac{1}{2}||Xa-Y||^{2}。为了使损失函数最小,可以用梯度下降的方法并求得a值。关于矩阵的导数兔兔在上面的矩阵求导过程中已经写过,这里就不再重复了。

    算法实现

    x13579
    y357812
    import numpy as np
    x=[1,3,5,7,9]
    y=[3,5,7,8,12]
    X=np.mat([[1 for i in range(5)],x]).T
    Y=np.mat(y).T
    def Grand_descend(x,y,circle=100,alpha=0.001):
        '''梯度下降'''
        a=np.random.normal(size=(2,1)) #初始化a
        for i in range(circle): #迭代次数
            a-= alpha*(X.T*X*a-X.T*Y) #批量梯度下降
        return a
    a=Grand_descend(x=X,y=Y)
    xt=np.arange(0,10)
    yt=a[0,0]+a[1,0]*xt
    plt.scatter(x,y,color='red')
    plt.plot(xt,yt,color='green')
    plt.show()

    结果如下:

     这里学习率需要小一些,否则容易出现梯度爆炸。迭代次数也需要适当。对于前面最小二乘法的三个例子,同样可以用梯度下降这种方法来进行拟合计算。

    三:总结

    关于回归(拟合)问题,本文先介绍了最小二乘法与梯度下降法,二者在公式推导上有很多相似的地方,目的都是在确定函数形式后,求损失函数的最小值时的参数。关于线性拟合问题,相对容易一些,而对于非线性的问题,往往还要因具体情况而分析,选特定的方法,兔兔之后会单独讲解。关于高斯牛顿与列-马算法,二者也有许多相似之处,兔兔将会在第二部分进行讲解。

    展开全文
  • 超详细MIT线性代数公开课笔记 完整版
  • 线性代数之线性相关线性表示的求法 线性相关 向量是n个m维(每个向量分量的个数)的向量,若存在一组不全为0的 使得 则 是线性相关的,反之线性无关。 线性无关即等价于以下命题: 线性不相关 找不到一组不全0...

    线性代数之线性相关线性表示的求法

    线性相关

    向量是n个m维(每个向量分量的个数)的向量,若存在一组不全为0的 

      使得 是线性相关的,反之线性无关。 

    线性无关即等价于以下命题:

    1. 线性不相关
    2. 找不到一组不全0的   使得
    3.  全为0

    几种情况:

    关于单个向量

    1. 向量组中两个向量成比例,则两个向量必线性相关
    2. 含零向量的任向量组必线性相关(取0向量的系数为1或者k,其余均为0)
    3. 一个零向量必线性相关
    4. 一个非零向量必然线性无关
    5. 一个向量线性相关的充要条件是向量为0向量

    线性表示

    如果向量   则b是向量组A的线性组合,这是向量b可有向量组A线性表示。这里其实转换为了方程有解,全是0也是有解。 

    特别的:

    1. 线性表示时系数可以全是0
    2. 0向量可有任意向量组表示。

    任何向量都可由 (1,0,...0),(0,1,0...0),(0,0,1...0) ...(0,0...0...1)表示

    线性相关例子汇总

    判断线性相关(不含参数)

    该方法是根据矩阵的秩的定义来求,如果找到k阶子式为0,而k-1阶不为0,那么k-1即该矩阵的秩。

    #Sample1(示例一),判断如下向量组是否线性相关:

    1:

    2:

    :针对第一题:

    Step1:首先我们先立方程

    针对其解的情况来判断向量组是否线性相关(有解)或者无关(无解)。

    Step2:于是我们得到下式:

    Step3: 我们对k的行列式化简得到如下行列式:

    该行列式不为0,所以当前关于k的方程组有唯一解,即

    所以当前向量组里的向量 线性无关。

    针对第二题:同样的思路

    Step1:设

    Step2:于是我们得到

    Step3:针对k化简得到如下行列式,易得其为0,所以k有非零解。

    Step4:因为关于k的解有无穷个,所有这里取

    换言之存在不全为0的数使得 线性相关。

    判断线性相关(含参数)

    针对这种类型的问题,一般将它们按照列(行)的形式构成矩阵,对矩阵做行(列)变换,使矩阵变成阶梯型。最后根据矩阵中参数的取值是否使得其所在行(列)为零行来判断向量组的线性相关性。(参数所在行全为0则行列式为0,线性无关,否则相关)。

    #Sample2(示例二):已知向量组

    判断其相关性。

    Step1:因这里向量组的向量个数和向量的维数相同,所以可以按照列组成行列式。

    Step2:第1行的-1倍加到第2行上去,第1行的-5倍加到第3行上去,则得:

    即行列式等于2(t-1)

    Step3:针对Step2里的t进行讨论,如果t=1,则行列式等于0(即方程有无穷非非零解),则线性相关,如果t≠1则行列式不等于0(即方程只有零解),则线性无关。

    线性表示例子汇总

    阶梯法判断线性表示

    利用矩阵的初等变换不改变矩阵的列的线性关系的特点求解。

    #Sample3(示例三)

    向量β=(4,4,1,2)是否可由如下向量组线性表示,如果可以,写出表达式。

    1:

    2:

    针对第一题:

    Step1:用 作为列向量构成矩阵A,则A为

     

    Step2:交换第1和第2行,则化为:

    Step3:第1行的2倍加到第2行上去,第1行的5倍加到第4行上去,第1行乘-1,则最终化为:

    Step4:在对step3里的矩阵化简,第3行的3倍加到第2、4行上去,则得:

    Step5:在对step4里的矩阵化简,第2行的-3倍加到第3行上去,第2行的1倍加到第3行上去,则得:

    Step6:在对step5里的矩阵化简,第3行的1倍加到第4行上去,第3行除以-5,则得:

    Step7:由A的阶梯型可知  这5个向量的向量组的秩(阶梯型里非零行的行数)是4,所以该向量组的秩必定包含β,即β不能由 线性表示。

    针对第二题

    类似第一题,可将构成的矩阵

    化简为:

    则可见即β可由 线性表示,即

    展开全文
  • sklearn-线性回归

    千次阅读 2022-04-19 21:39:26
    1 sklearn中的线性回归 sklearn中的线性模型模块是linear_model,我们曾经在学习逻辑回归的时候提到过这个模块。linear_model包含了 多种多样的类和函数:普通线性回归,多项式回归,岭回归,LASSO,以及弹性网。 ...

    1 sklearn中的线性回归

    sklearn中的线性模型模块是linear_model,我们曾经在学习逻辑回归的时候提到过这个模块。linear_model包含了 多种多样的类和函数:普通线性回归,多项式回归,岭回归,LASSO,以及弹性网。

     

    2 多元线性回归LinearRegression

    其中右下角的2表示向量 的L2范式,也就是我们的损失函数所代表的含义。在L2范式上开平方,就是我们的 损失函数。这个式子,也正是sklearn当中,用在类Linear_model.LinerRegression背后使用的损失函数。我们往往称 呼这个式子为SSE(Sum of Sqaured Error,误差平方和)或者RSS(Residual Sum of Squares 残差平方和)。在 sklearn所有官方文档和网页上,我们都称之为RSS残差平方和,因此在我们的课件中我们也这样称呼。

    最小二乘法求解多元线性回归的参数

     现在问题转换成了求解让RSS最小化的参数向量 ,这种通过最小化真实值和预测值之间的RSS来求解参数的方法叫做最小二乘法。

    linear_model.LinearRegression

    class sklearn.linear_model.LinearRegression (fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)

     回归类的模型评估指标

    回归类算法的模型评估一直都是回归算法中的一个难点,但不像我们曾经讲过的无监督学习算法中的轮廓系数等等评 估指标,回归类与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。只不过在分类型算法 中,这个差异只有一种角度来评判,那就是是否预测到了正确的分类,而在我们的回归类算法中,我们有两种不同的 角度来看待回归的效果:

    第一,我们是否预测到了正确的数值。

    第二,我们是否拟合到了足够的信息。

    这两种角度,分别对应着不同的模型评估指标。

    是否预测了正确的数值

    RSS残差平方和,它的本质是我们的预测值与真实值之间的差异,也就是从第一种角度来评估我们回 归的效力,所以RSS既是我们的损失函数,也是我们回归类模型的模型评估指标之一。但是,RSS有着致命的缺点: 它是一个无界的和,可以无限地大。我们只知道,我们想要求解最小的RSS,从RSS的公式来看,它不能为负,所以 RSS越接近0越好,但我们没有一个概念,究竟多小才算好,多接近0才算好?为了应对这种状况,sklearn中使用RSS 的变体,均方误差MSE(mean squared error)来衡量我们的预测值和真实值的差异:

     均方误差,本质是在RSS的基础上除以了样本总量,得到了每个样本量上的平均误差。有了平均误差,我们就可以将 平均误差和我们的标签的取值范围在一起比较,以此获得一个较为可靠的评估依据。在sklearn当中,我们有两种方 式调用这个评估指标

    一种是使用sklearn专用的模型评估模块metrics里的类mean_squared_error,

    另一种是调用 交叉验证的类cross_val_score并使用里面的scoring参数来设置使用均方误差。

     

    是否拟合了足够的信息

    对于回归类算法而言,只探索数据预测是否准确是不足够的。除了数据本身的数值大小之外,我们还希望我们的模型 能够捕捉到数据的”规律“,比如数据的分布规律,单调性等等,而是否捕获了这些信息并无法使用MSE来衡量。

    我们希望找到新的指标,除了判断预测的 数值是否正确之外,还能够判断我们的模型是否拟合了足够多的,数值之外的信息。 在我们学习降维算法PCA的时候,我们提到我们使用方差来衡量数据上的信息量。如果方差越大,代表数据上的信息 量越多,而这个信息量不仅包括了数值的大小,还包括了我们希望模型捕捉的那些规律。为了衡量模型对数据上的信 息量的捕捉,我们定义了来帮助我们:

    其中y是我们的真实标签,是我们的预测结果, 是我们的均值, 如果除以样本量m就是我们的方差。方差的 本质是任意一个y值和样本均值的差异,差异越大,这些值所带的信息越多。在 中,分子是真实值和预测值之差的 差值,也就是我们的模型没有捕获到的信息总量,分母是真实标签所带的信息量,所以其衡量的是1 - 我们的模型没 有捕获到的信息量占真实标签中所带的信息量的比例,所以, 越接近1越好。 

    可以使用三种方式来调用,一种是直接从metrics中导入r2_score,输入预测值和真实值后打分。第二种是直接从 线性回归LinearRegression的接口score来进行调用。第三种是在交叉验证中,输入"r2"来调用。

     

     多重共线性:岭回归与Lasso

    多重共线性与相关性

    多重共线性如果存在,则线性回归就无法使用最小二乘法来进行求解,或者求解就会出现偏差。幸运的是,不能存在多重共线性,不代表不能存在相关性——机器学习不要求特征之间必须独立,必须不相关,只要不是高度相关或者精确相关就好。

    多重共线性是一种统计现象,是指线性模型中的特征(解释变量)之间由于存在精确相关关系或高度相关关系, 多重共线性的存在会使模型无法建立,或者估计失真。多重共线性使用指标方差膨胀因子(variance inflation factor,VIF)来进行衡量(from statsmodels.stats.outliers_influence import variance_inflation_factor), 通常当我们提到“共线性”,都特指多重共线性。 相关性是衡量两个或多个变量一起波动的程度的指标,它可以是正的,负的或者0。当我们说变量之间具有相关 性,通常是指线性相关性,线性相关一般由皮尔逊相关系数进行衡量,非线性相关可以使用斯皮尔曼相关系数或 者互信息法进行衡量。

    多重共线性的存在会造成模型极大地偏移,无法模拟数据的全貌,因此这是必须解决的 问题。为了保留线性模型计算快速,理解容易的优点,我们并不希望更换成非线性模型,这促使统计学家和机器学习 研究者们钻研出了多种能够处理多重共线性的方法,其中有三种比较常见的:

     我们的核心会是使用第三种方法:改进线性回归来处理多重共线性。为此,一系列算法,岭回归, Lasso,弹性网就被研究出来了。接下来,我们就来看看这些改善多重共线性问题的算法。

    岭回归,又称为吉洪诺夫正则化(Tikhonov regularization)。通常来说,大部分的机器学习教材会使用代数的形式 来展现岭回归的原理,这个原理和逻辑回归及支持向量机非常相似,都是将求解 的过程转化为一个带条件的最优化 问题,然后用最小二乘法求解。然而,岭回归可以做到的事其实可以用矩阵非常简单地表达出来。

    岭回归在多元线性回归的损失函数上加上了正则项,表达为系数ω 的L2范式(即系数ω 的平方项)乘以正则化系数α 。如果你们看其他教材中的代数推导,正则化系数会写作λ ,用以和Lasso区别,不过在sklearn中由于是两个不同的 算法,因此正则项系数都使用α来代表。岭回归的损失函数的完整表达式写作:

    linear_model.Ridge

    class sklearn.linear_model.Ridge (alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, solver=’auto’, random_state=None)

     

     交叉验证下,与线性回归相比,岭回归的结果如何变化?

     虽然岭回归和Lasso不是设计来提升模型表现,而是专注于 解决多重共线性问题的,但当 在一定范围内变动的时候,消除多重共线性也许能够一定程度上提高模型的泛化能 力。 但是泛化能力毕竟没有直接衡量的指标,因此我们往往只能够通过观察模型的准确性指标和方差来大致评判模型的泛 化能力是否提高。

    选取最佳的正则化参数取值

    我们使用交叉验证来选择最佳的正则化系数。在sklearn中,我们有带交叉验证的岭回归可以使用,我们来 看一看:

    class sklearn.linear_model.RidgeCV (alphas=(0.1, 1.0, 10.0),fit_intercept=True, normalize=False, scoring=None, cv=None, gcv_mode=None, store_cv_values=False)

    可以看到,这个类与普通的岭回归类Ridge非常相似,不过在输入正则化系数的时候我们可以传入元祖作为正则化 系数的备选,非常类似于我们在画学习曲线前设定的for i in 的列表对象。来看RidgeCV的重要参数,属性和接口:

     

     

     非线性问题:多项式回归

    使用分箱处理非线性问题

    让线性回归在非线性数据上表现提升的核心方法之一是对数据进行分箱,也就是离散化。与线性回归相比,我们常用 的一种回归是决策树的回归。

     

     

     在这个例子中,我们设置的分箱箱数为10,不难想到这个箱数的设定肯定会影响模型最后的预测结果,我们来看看不 同的箱数会如何影响回归的结果:

     多项式回归PolynomialFeatures

     除了分箱之外,另一种更普遍的用于解决”线性回归只能处理线性数据“问题的手段,就是使用多项式回归对线性回归 进行改进。这样的手法是机器学习研究者们从支持向量机中获得的:支持向量机通过升维可以将非线性可分数据转化 为线性可分,然后使用核函数在低维空间中进行计算,这是一种“高维呈现,低维解释”的思维。那我们为什么不能让 线性回归使用类似于升维的转换,将数据由非线性转换为线性,从而为线性回归赋予处理非线性数据的能力呢?当然 可以。

    接下来,我们就来看看线性模型中的升维工具:多项式变化。这是一种通过增加自变量上的次数,而将数据映射到高 维空间的方法,只要我们设定一个自变量上的次数(大于1),就可以相应地获得数据投影在高次方的空间中的结 果。这种方法可以非常容易地通过sklearn中的类PolynomialFeatures来实现。我们先来简单看看这个类是如何使用 的。

    class sklearn.preprocessing.PolynomialFeatures (degree=2, interaction_only=False, include_bias=True) 

     多项式回归处理非线性问题

     

     

    展开全文
  • 机器学习 之 线性回归 选择题总结

    千次阅读 2021-12-25 00:44:49
    线性回归 多元线性回归中的“线性”是指什么是线性的 A.因变量 B.系数 C.因变量 D.误差 答案:A 欠拟合的产生原因有 A学习到数据的特征过少 B学习到数据的特征过多 C学习到错误数据 D机器运算错误 答案:A 线性回归...
  • Spark mllib 线性回归算法测试数据
  • 本节首先从向量的代数关系出发,引入了向量组的线性无关、线性相关两个重要的概念;接着,以递进的方式,首先研究了一个或两个向量之间的关系,引入一些判断向量关系的方法,例如通过观察法来判定两个向量之间的关系...
  • 【矩阵论】线性空间与线性变换(1)

    千次阅读 多人点赞 2020-09-30 16:53:31
    《矩阵论》东南大学公开课随课笔记-线性空间与变换(1)
  • 多元线性回归分析

    千次阅读 2021-10-21 09:24:41
    小鹿一、概念二、EXCEL进行多元线性回归三、sklearn3.1 不进行数据处理3.2 进行数据处理3.3 分析四、总结五、参考 一、概念 在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是...
  • 一、线性规划简介

    千次阅读 2022-04-29 19:06:22
    线性规划用于在给定约束条件下最大限度地改善指定的指标。例如,假设你所在的公司生产两种产品:衬衫和手提袋。衬衫每件利润2美元,需要消耗1米布料和5粒扣子;手提袋每个利润3美元,需要消耗2米布料和2粒扣子。你有...
  • 线性回归分析步骤总结

    千次阅读 2022-04-02 16:16:23
    当自变量为1个时,是一元线性回归,又称作简单线性回归;自变量为2个及以上时,称为多元线性回归。线性回归广泛的应用于自然科学、社会科学等各个领域中。例如:研究吸烟、肥胖、运动等因素是否影响高血压发病率;...
  • Python—线性回归

    万次阅读 多人点赞 2021-11-22 22:58:53
    简单线性回归模型2.多元线性回归模型2.1 应用F检验法完成模型的显著性检验2.2应用t检验法完成回归系数的显著性检验 3.基于回归模型识别异常点4.含有离散变量的回归模型 前言: 线性回归模型属于经典的统计学模型...
  • 【矩阵论】线性空间与线性变换(2)

    千次阅读 多人点赞 2020-10-03 09:37:29
    有关线性空间的基、维数、坐标的相关定义,以及引出的一些定理。
  • 分类器设计之线性分类器和线性SVM(Matlab代码 具休请参考本人博客: http://blog.csdn.net/ranchlai/article/details/10303031
  • 多重共线性详解

    万次阅读 多人点赞 2020-12-26 23:04:23
    目录 1、多重共线性的现象 2、出现的原因 3、判别标准 4、检验方法 5、多重共线性有什么影响 6、多重共线性处理方法 7、其他说明 8、多重共线性识别-python代码8.1、vif检验8.2 相关系数8.3 聚类 9、宏观把握共线性...
  • 线性代数核心思想及应用——线性空间篇(知识点总结及例题详解) 本篇主要内容: 1.线性空间及子空间 2.向量的线性关系 3.基、维数、坐标 4.子空间的交与和 5.子空间的直和 6.线性空间的同构
  • 【矩阵论】线性空间与线性变换(5)

    千次阅读 多人点赞 2020-10-09 10:37:28
    《矩阵论》中有关线性变换的相关讨论。(定义,定理,例题)
  • python 线性拟合实例实现,python实现线性拟合代码,统计学基础,线性拟合的实例实现。
  • 线性方程组的求法与示例详解 线性方程组 由n个1维未知量,m个方程组成的组合叫做线性方程组。 特别的当方程组右边的值全都是0时叫做齐次线性方程组。 增广矩阵 在系数矩阵的右边添上一列,该列由线性方程组...
  • 线性规划对偶问题

    万次阅读 多人点赞 2021-04-28 23:49:31
    线性规划对偶问题线性规划及单纯形法〇. 前言一. 对偶问题的提出二. 对称形式下对偶问题的一般形式三. 非对称形式的原-对偶问题关系四. 对偶问题的基本性质五. 对偶问题的单纯形法描述六. 影子价格七. 利用...
  • 一元线性回归及案例(Python)

    千次阅读 热门讨论 2022-04-11 13:42:53
    1 一元线性回归简介 2 一元线性回归数学形式 3案例:不同行业工龄与薪水的线性回归模型 3.1案例背景 3.2具体代码 3.3模型优化 4总体展示 5线性回归模型评估 6模型评估的数学原理 6.1 R-squared 6.2Adj.R-...
  • 线性相关 线性无关

    千次阅读 2020-06-01 22:34:43
    1.线性相关(linearly dependent)与线性无关的(linearly independent)定义 线性相关的定义为: 对于一组向量v1,v2,⋯ ,vnv_1, v_2, \cdots, v_nv1​,v2​,⋯,vn​,如果存在一组不全为0的整数k1,k2,⋯ ,knk_1, k_2,...
  • 线性代数学习笔记(二):线性变换的理解

    千次阅读 多人点赞 2020-03-07 17:48:54
    文章目录线性代数学习笔记(二):线性变换的理解一、基变换与坐标变换二、 线性变换2.1 线性变换与基变换的不同2.2 线性变换的表示2.3 线性变换的分类2.4 线性变换与矩阵2.5 应用:线性代数观点看线性变换2.5.1 ...
  • 2022-2028全球及中国线性电位器行业研究及十四五规划分析报告 受新冠肺炎疫情等影响,QYResearch调研显示,2021年全球线性电位器市场规模大约为 亿元(人民币),预计2028年将达到 亿元,2022-2028期间年复合增长...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,214,445
精华内容 485,778
关键字:

线性

友情链接: sql语句大全.rar