从空间中理解线性代数

线性代数-从空间中理解

    • 总结
    • 向量
    • 线性组合
    • 空间的基 Basis
    • 张成的空间 Span
    • 线性相关和线性无关
    • 向量空间的一组基
    • 变换
    • 线性变换
    • 数值描述线性变换
    • 复合变换
    • 行列式
    • 矩阵的用途
    • 线性方程组
    • 逆矩阵
    • 列空间
    • 零空间
    • 非方阵
    • 基变换
    • 基变换矩阵
    • 特征向量 特征值
    • 特征基
    • 关于坐标

总结

空间中不共线的两个不为零向量都可以表示空间中的任意一个向量。但是这种向量太多了,我们选一个特殊点的,i=[1 0]和j=[0 1]作为单位向量,i和j的拉伸与相加可以组成笛卡尔坐标系中的任意一个向量。给定向量(基)线性组合的向量的集合,被称为给定向量(基)张成的空间。第三个向量u落在前两个向量v和w张成的空间中。那这些向量线性相关,也就是说向量没有给张成的空间增加新的维度。如果向量线性无关,比如w张成的空间是一维的,向量v不落在w张成的空间中,那么v和w张成的空间就变成了二维平面,向量给张成的空间增加了新的维度。可见向量空间的一组基,是张成该空间的线性无关向量的集合。变换也就相当于函数:接收内容,输出结果。对于线性变换,可以理解为直线在变换后仍然保持为直线,不能有所弯曲,而且原点必须保持固定。可以用矩阵描述线性变换,将变换后的基向量坐标分别写到矩阵的每一列。一个v向量乘以矩阵,可以得到变换后的v,而且可以根据变换后的i和j推断出来v的位置。如果说两个矩阵相乘,那么也就是进行了一次复合变换。线性变换将空间拉伸或挤压,想要测量变换对空间有多少拉伸或挤压,那么我们就可以求矩阵的行列式,也就是线性变换改变面积的比例。矩阵的列,是基向量变换后的位置,变换后,基向量张成的空间,就是所有可能的变换结果。经过一个变换,空间被压缩到低维,就导致一系列向量变换后成为零向量。变换后落在原点的向量的集合叫做矩阵的零空间。秩也就是变换后空间的维度,也就是矩阵的列张成的空间的维度。空间中同一个向量可以用不同语言描述,区别就在于坐标系选取的不同。坐标描述,依赖于所选的基向量。如果说使用不同的基向量描述同一个东西,描述的形式是不同的。那么如何在不同坐标系之间进行转化?可以用笛卡尔坐标系的语言表达别的坐标系的的基向量。以笛卡尔坐标系语言描述的别的坐标系的基向量作为列,形成一个基变换矩阵。通过这个矩阵,可以将别的坐标系语言描述的向量,转换成笛卡尔坐标系语言描述的向量。一个线性变换作用于一个向量,大部分向量在变换中都离开了它原来张成的空间,但还有一些特殊的向量仍然留在他们张成的空间里,这意味着矩阵对它的作用仅仅是拉伸或压缩,这些特殊向量就被称为变换的特征向量,特征值也就是特征向量在变换中拉伸或压缩的比例。如果变换有许多特征向量,多到能张成全空间,那就可以变换坐标系,使这些特征向量就是基向量。在另一个坐标系中表达当前坐标系描述的变换:首先通过基变换矩阵,用我们的语言描述另一个坐标系中的基向量,然后左乘线性变换矩阵,用我们的语言描述线性变换,然后再左乘基变换矩阵的逆,得到用另一个坐标系语言描述的线性变换。最终得到的变换是从新基向量所构成的坐标系角度看的。特征向量作为基向量的到的新的矩阵是对角的,并且对角元为对应的特征值,因为它所处坐标系的基向量在变换中只进行了缩放。

线性代数远不止这些空间中直观的运用,在模糊控制领域,同样用到了矩阵,只不过那里面矩阵的运算变成了取交集、并集。空间中理解线性代数是片面的,但有助于更好的认知。

向量

数学角度:

向量可以是任何东西,只需要保证:两个向量相加及数字与向量相乘是有意义的即可。

物理角度:

向量是空间中的箭头、决定一个向量的是:它的长度和它所指的方向。

计算机角度:

向量是有序的数字列表、向量的维度等于“列表”的长度。

坐标系:

把向量至于坐标系中,坐标正负表示方向,原点为起点,可完美把两个不同的角度融合

向量加法:

物理:首尾相连 Motion

计算机:坐标相加。
向量乘法:

物理:缩放 Scaling

计算机:坐标和比例相乘。

函数也是向量:
(f+g)(x)=f(x)+g(x)(2f)(x)=2f(x)(f+g)(x) = f(x)+g(x)\\(2f)(x) = 2f(x) (f+g)(x)=f(x)+g(x)(2f)(x)=2f(x)
函数相加、相乘和向量对应坐标相加、相乘很相似,只不过它有无穷多个坐标要相加、相乘。

函数的线性变换:
ddxL(19x3)=13x2−1\frac{d}{dx}L(\frac{1}{9}x^{3})=\frac{1}{3}x^{2}-1 dxdL(91x3)=31x21
线性的定义:满足以下两条性质。
L(v⃗+w⃗)=L(v⃗)+L(w⃗)L(cv⃗)=cL(v⃗)L(\vec v+\vec w)=L(\vec v)+L(\vec w)\\ L(c\vec v)=cL(\vec v) L(v+w)=L(v)+L(w)L(cv)=cL(v)
用矩阵表示求导:

当前空间:全体多项式。

给空间赋予坐标含义,取一个基:取x的不同次幂作为基函数,基函数集无穷大。

在这里插入图片描述

怎么构建变换矩阵:

求每一个基函数的导数,把结果放在对应列。

向量空间:

让所有已经建立好的理论和概念适用于一个向量空间,必须满足八条公理。

线性组合

空间中不共线的两个不为零向量都可以表示空间中的任意一个向量。
av⃗+bw⃗a \mathbf{\vec v} + b \mathbf{\vec w} av+bw
线性:如果你固定其中一个标量,让另一个标量自由变化,所产生的向量终点会描出一条直线。

在这里插入图片描述

空间的基 Basis

笛卡尔坐标系,有一个最直观一组基:
{ı^,ȷ^}\{{\hat {\imath}} ,{\hat {\jmath}} \} {ı^,ȷ^}
即单位向量:
ı^=(1,0){\hat {\imath}}=(1,0) ı^=(1,0)

ȷ^=(0,1)\hat {\jmath} =(0,1) ȷ^=(0,1)

通过i和j的拉伸与相加可以组成笛卡尔坐标系中的任意一个向量。

张成的空间 Span

给定向量(基)线性组合的向量的集合,被称为给定向量(基)张成的空间。

举个例子:v与w全部线性组合构成的向量集合,叫做张成的空间。(a与b在实数范围内变动)
av⃗+bw⃗a \mathbf{\vec v} + b \mathbf{\vec w} av+bw
仅通过向量加法和向量数乘两种计算,能获得所有可能向量的集合。

线性相关和线性无关

举个例子:

第三个向量u落在前两个向量v和w张成的空间中。那这些向量线性相关。
u⃗=av⃗+bw⃗\mathbf{\vec u} = a \mathbf{\vec v} + b \mathbf{\vec w} u=av+bw

如果说,向量给张成的空间增加了新的维度,那这些向量线性无关。

举个例子:

w张成的空间是一维的。

向量v不落在w张成的空间中,那么v和w张成的空间就变成了二维平面。
v⃗≠bw⃗av⃗+bw⃗\mathbf{\vec v} \neq b \mathbf{\vec w} \\ a \mathbf{\vec v} + b \mathbf{\vec w} v=bwav+bw

向量空间的一组基

向量空间的一组基,是张成该空间的 线性无关向量 的集合。

变换

变换也就相当于函数:接收内容,输出结果

线性变换

直线在变换后仍然保持为直线,不能有所弯曲。

原点必须保持固定。

保持网格线平行且等距分布的变换。

在这里插入图片描述

数值描述线性变换

如果i和j没有进行变换,那么v也没有变换。
[1001][xy]=[xy]\begin{bmatrix} \color{green}1&\color{red}0 \\ \color{green}0&\color{red}1 \end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}x\\y\end{bmatrix} [1001][xy]=[xy]

绿色代表i变换后的向量,红色代表j变换后的向量。

可以根据变换后的i和j推断变换后的v。
[abcd][xy]=x[ac]+y[bd]⏟直观的部分这里=[ax+bycx+dy]\begin{bmatrix} \color{green}{a}&\color{red}b \\ \color{green}c&\color{red}d \end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix} = \underbrace{x \begin{bmatrix}\color{green}a\\\color{green}c \end{bmatrix} + y \begin{bmatrix} \color{red}b\\\color{red}d\end{bmatrix}}_{\text{直观的部分这里}} = \begin{bmatrix} \color{green}{a}\color{black}{x}+\color{red}{b}\color{black}{y}\\\color{green}{c}\color{black}{x}+\color{red}{d}\color{black}{y}\end{bmatrix} [acbd][xy]=直观的部分这里x[ac]+y[bd]=[ax+bycx+dy]
在这里插入图片描述

矩阵,一种描述线性变换的语言。

复合变换

对一个向量先进行一次旋转变换,再进行一次剪切变换。

在这里插入图片描述

求一个复合矩阵,

在这里插入图片描述

行列式

线性变换将空间拉伸或挤压。

想要测量变换对空间有多少拉伸或挤压,可以测量一个给定区域面积增大/减小的比例。

因为网格线保持平行且等距分布,只需知道单位正方形变化的比例,就可知其它任意区域面积变换的比例。

变换的行列式也就是线性变换改变面积的比例。

在这里插入图片描述

正负表达的是方向,j起始状态在i的左侧,如果经过变换,变为j在i的右侧,就添加负号。

只要检验一个矩阵行列式是否为0,就能了解矩阵代表的变换是否将空间压缩到更小维度上。

行列式计算:

在这里插入图片描述

矩阵的用途

描述对空间的操作。

解线性方程组。

线性方程组

一般形式:
Ax⃗=v⃗\mathbf A \mathbf{\vec x} = \mathbf{\vec v} Ax=v
在这里插入图片描述

如果这个方程组成立,也就意味着,x经过A矩阵变换后,落在v上。

在这里插入图片描述

如果说矩阵行列式为0,也就是说,空间降维了。

举个例子,二维矩阵,行列式为0,那么x经过这个矩阵变换,降维了成了一条直线,这个直线和v共线的话,线性方程组才有可能有解。

逆矩阵

已经变换过的i和j通过逆矩阵变换,能够变回原来的i和j。

在这里插入图片描述

逆矩阵乘原矩阵等于恒等变换。
AA−1=I\mathbf A \mathbf A^{-1} = \mathbf I AA1=I

列空间

矩阵的列:基向量变换后的位置。

变换后,基向量张成的空间,就是所有可能的变换结果。

列空间:矩阵的列 张成的空间。

举个例子:下图列空间是个一维的。

在这里插入图片描述

零空间

经过一个变换,空间被压缩到低维,就导致一系列向量变换后成为零向量。

举个例子,看下图第一个二维降到一维的,和这个直线不同方向上所有向量被压缩到原点。

变换后落在原点的向量的集合叫做矩阵的零空间。

在这里插入图片描述

秩:变换后空间的维度,也就是矩阵的列 张成的空间的维度。

举个例子:

矩阵秩为1,经过这一矩阵的变换后,向量落在一条直线上。

秩为2,变换后,向量落在二维平面上。

非方阵

举个例子:
[20−11−21]\begin{bmatrix} 2&0 \\ -1&1\\ -2&1 \end{bmatrix} 212011
上面这个矩阵,列空间是三维空间中过原点的二维平面。

两列意味着输入空间有两个基向量,三行说明每个基向量变换后用三个独立的坐标描述。

通过这个矩阵,能做到输入二维向量,输出三维向量。

基变换

我们一般用的基向量是相互垂直长度为1 的i和j,分别指向上方和右方

如果说使用不同的基向量。

举个例子:

火星人使用的基向量为b1和b2,分别指向右上方和左上方。

黄箭头向量,用我们地球人使用的基向量表示如下:

在这里插入图片描述

但是,用火星人使用的基向量表示如下:

在这里插入图片描述

注意,这个黄箭头在空间里面没动,由于基向量不同,这个黄箭头的表示也不同。

也就是说,向量[-1 2],在火星人眼里,是这样的:

在这里插入图片描述

向量[-1 2],在地球人眼里,是这样:

在这里插入图片描述

也就是说,同样的描述,未必就是一个东西。

在地球人的眼中,火星人的基向量:

在这里插入图片描述

但是在火星人的坐标系中,他们的基向量:

在这里插入图片描述

空间中同一个向量可以用不同语言描述。

在这里插入图片描述

火星人和地球人坐标原点重合。坐标轴的方向和网格间距和地球人有所不同,这依赖于火星人对基的选择。

如何在不同坐标系之间进行转化?

举个例子:

火星人用[-1 2]表示一个向量,那么这个向量在地球人的坐标系中该如何描述。

在这里插入图片描述

地球人的坐标系中,b2=[-1 1] b1=[2 1]

在这里插入图片描述

在地球人的坐标系中可以这么表示这个向量:
−1[21]+2[−11]=[−41]-1\begin{bmatrix} 2 \\ 1 \end{bmatrix}+ 2\begin{bmatrix} -1 \\ 1 \end{bmatrix}= \begin{bmatrix} -4 \\ 1 \end{bmatrix} 1[21]+2[11]=[41]
也就是说:
[2−111][12]=[−41]\begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix} \begin{bmatrix} 1 \\ 2 \end{bmatrix}= \begin{bmatrix} -4 \\ 1 \end{bmatrix} [2111][12]=[41]
矩阵的列,就是,用地球人的语言表达火星人的基向量。

最后实现了把火星人认为的[-1 2]这个向量,转换成我们认为的[-4 1]这个向量。这个向量在空间中是没有变动的,只不过我们在不同的参考系下,看到的这个向量是不同的。

基变换矩阵

[2−111]\begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix} [2111]

以火星人的基向量作为列的基变换矩阵。这个基向量是用地球人的坐标描述的。

通过这个矩阵,可以将火星人语言描述的[-1 2],转换成地球人的语言描述,也就是[-4 1]。

现在反过来:

地球人坐标系中一个向量是[3 2],那么这个向量在火星人坐标系中是如何表示的?

通过求基变换矩阵的逆:
[2−111]−1=[1/31/3−1/32/3]\begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix}^{-1}= \begin{bmatrix} 1/3&1/3 \\ -1/3&2/3 \end{bmatrix} [2111]1=[1/31/31/32/3]
用这个基变换矩阵的逆乘以[3 2],就可以知道用火星人语言描述的相同向量。
[1/31/3−1/32/3][32]=[5/31/3]\begin{bmatrix} 1/3&1/3 \\ -1/3&2/3 \end{bmatrix} \begin{bmatrix} 3 \\ 2 \end{bmatrix}= \begin{bmatrix} 5/3 \\ 1/3 \end{bmatrix} [1/31/31/32/3][32]=[5/31/3]
以上就是在坐标系之间对单个向量的描述进行相互转化。

对于一个线性变换,比如逆时针旋转90度,用矩阵代表它的时候,是在跟踪i和j的去向。

i变换后的坐标是[0 1],j变换后的坐标是[-1 0],这些坐标成为矩阵的列。
[0−110]\begin{bmatrix} 0&-1 \\ 1&0 \end{bmatrix} [0110]
这种表示与我们对基向量的选择相关。跟踪我们所选的i和j,并且在我们自己的坐标系中记录他们的去向。

那么火星人该如何描述空间90度旋转。

在这里插入图片描述

在这里插入图片描述

火星人想要的矩阵,需要代表它的基向量的去向。

火星人语言描述的向量:
[−12]\begin{bmatrix} -1 \\ 2 \end{bmatrix} [12]
用基变换矩阵转换成我们的语言,用地球人的语言去描述这个向量:

矩阵的列指的是,用我们的语言描述火星人的基向量。
[2−111][−12]\begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} [2111][12]
左乘线性变换矩阵:

给出的是,用我们的语言描述的线性变换后的向量。
[0−110][2−111][−12]\begin{bmatrix} 0&-1 \\ 1&0 \end{bmatrix} \begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} [0110][2111][12]
左乘基变换矩阵的逆:

得到用火星人语言描述的变换后的向量。
[2−111]−1[0−110][2−111][−12]\begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix}^{-1} \begin{bmatrix} 0&-1 \\ 1&0 \end{bmatrix} \begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} [2111]1[0110][2111][12]
也就是说,三个矩阵复合,给出火星人语言描述的线性变换矩阵。

这个矩阵接收火星人语言描述的向量,输出火星人语言描述的变换后的向量。
[2−111]−1[0−110][2−111]v⃗\begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix}^{-1} \begin{bmatrix} 0&-1 \\ 1&0 \end{bmatrix} \begin{bmatrix} 2&-1 \\ 1&1 \end{bmatrix} \mathbf{\vec v} [2111]1[0110][2111]v
v乘以这个矩阵,结果就是在火星人的坐标系中让v旋转90度。

下面这个表达式,暗示一种数学上的转移作用。中间的矩阵M代表我们所见到的变换,外侧两个矩阵代表转移作用,视角上的变化。
A−1MAA^{-1}MA A1MA
三个矩阵乘积,也就是,从他人角度看的同一个变换。

特征向量 特征值

对于一个线性变换:
[3102]\begin{bmatrix} 3&1 \\ 0&2 \end{bmatrix} [3012]
让它作用于一个向量。

大部分向量在变换中都离开了它原来张成的空间。以下图左侧为例,离开了它原来所在的那条直线。

但是还有一些特殊向量,仍然留在他们张成的空间里,如下图右侧。

在这里插入图片描述

一个向量经过矩阵的变换,仍然留在他们张成的空间,意味着矩阵对它的作用仅仅是拉伸或压缩,它就像一个标量。

对于上面那个线性变换,基向量i就是这样一个特殊的向量,i张成的空间是x轴,经过变换,i变成了三倍,仍然留在x轴。

而且x轴上任何其它向量也是被拉伸为原来3倍。

向量[-1 1]在变换后也留在自己张成的空间,最终被拉伸为原来的2倍。处在[-1 1]所在直线上其他任何一个向量也是被拉伸为原来的2倍。

在这里插入图片描述

对上述线性变换而言,以上就是经过这一线性变换,仍然留在他们张成空间里的向量。一个是x轴上的向量,另一个是[-1 1]所在对角线上的向量。

这些特殊向量就被称为变换的特征向量。

特征值:特征向量在变换中拉伸或压缩的比例。

特征值为负数:经过矩阵的线性变换,这个特征值对应的特征向量被反向。

如果说把矩阵的列看做变换后的基向量,他们这个矩阵就是个基变换矩阵。

可以由下图发现,经过基变换矩阵,特征向量仍然在它原来张成的空间里,位置没发生变动。

在这里插入图片描述

在这里插入图片描述

用符号表示特征值和特征向量:
Av⃗=λv⃗\mathbf A \mathbf{\vec v} = \lambda \mathbf{\vec v} Av=λv
A代表某个变换的矩阵,v是特征向量,λ是特征向量的特征值。
Av⃗−(λI)v⃗=0⃗\mathbf A \mathbf{\vec v}- (\lambda I)\mathbf{\vec v}= \mathbf{\vec 0} Av(λI)v=0
转换成:v与新矩阵相乘结果为零向量。
(A−λI)v⃗=0⃗(\mathbf A - \lambda I)\mathbf{\vec v}= \mathbf{\vec 0} (AλI)v=0
当这个新矩阵代表的变换将空间压缩到低维度,才存在非零向量v,使矩阵和它的乘积为0向量。

在这里插入图片描述

如上图,向量经过变换后,压缩到原点成为零向量。

在这里插入图片描述

可以找使矩阵的行列式为0的λ。矩阵行列式为0,表示变换将空间压缩到低维度。

上图,λ=1时,这个矩阵将空间压缩到一条直线上,也就是说存在非零向量v通过这个矩阵变成零向量。
(A−λI)v⃗=0⃗(\mathbf A - \lambda I)\mathbf{\vec v}= \mathbf{\vec 0} (AλI)v=0

对于矩阵:
[3102]\begin{bmatrix} 3&1 \\ 0&2 \end{bmatrix} [3012]
为了求特征值λ,将对角元减去λ,当矩阵的行列式为零时,λ才会是特征值,然后推断出可能的λ。
det([3−λ102−λ])=(3−λ)(2−λ)=0det(\begin{bmatrix} 3-\lambda&1 \\ 0&2-\lambda \end{bmatrix})=(3-\lambda)(2-\lambda)=0 det([3λ012λ])=(3λ)(2λ)=0
将λ的值带入矩阵中,然后求解出经过这个矩阵变换后,成为0的向量。
[3−2102−2][xy]=[00]\begin{bmatrix} 3-2&1 \\ 0&2-2 \end{bmatrix} \begin{bmatrix} x \\ y\end{bmatrix}= \begin{bmatrix} 0 \\ 0\end{bmatrix} [320122][xy]=[00]
然后可以发现,所有解全部落在向量[-1 1]张成的对角线上。

特征向量是不唯一的,只有特征值唯一。

然后原始矩阵:
[3102]\begin{bmatrix} 3&1 \\ 0&2 \end{bmatrix} [3012]
将特征向量拉伸为原来2倍。

二维线性变换不一定有特征向量,如下矩阵,实现90度旋转的变换。
[01−10]\begin{bmatrix} 0&1 \\ -1&0 \end{bmatrix} [0110]
它没有特征向量,因为每一个向量都发生旋转、离开它张成的空间。计算他的特征值,发现没有实数解。

特征基

如果基向量是特征向量。

比如矩阵:
[−1002]\begin{bmatrix} -1&0 \\ 0&2 \end{bmatrix} [1002]
它的特征向量是i、j的话,i的特征值就是-1,j的特征值就是2。

对角矩阵:除了对角元以外,其他元素均为0的矩阵。

所有基向量都是特征向量,矩阵的对角元是他们所属的特征值,

对角矩阵,多次与自己相乘,结果更易计算。

如果变换有许多特征向量,多到能张成全空间。

那就可以变换坐标系,使这些特征向量就是基向量。

在另一个坐标系中表达当前坐标系描述的变换:

首先通过基变换矩阵,用我们的语言描述另一个坐标系中的基向量,然后左乘线性变换矩阵,用我们的语言描述线性变换,然后再左乘基变换矩阵的逆,得到用另一个坐标系语言描述的线性变换。最终得到的变换是从新基向量所构成的坐标系角度看的。

这个新矩阵是对角的,并且对角元为对应的特征值。因为它所处坐标系的基向量在变换中只进行了缩放。

在这里插入图片描述

计算:
[3102]100\begin{bmatrix} 3&1 \\ 0&2 \end{bmatrix}^{100} [3012]100
可以先变换到特征基,在那个坐标系计算一百次幂,然后转换回标准坐标系。

不是所有矩阵都能对角化,就比如:
[1101]\begin{bmatrix} 1&1 \\ 0&1 \end{bmatrix} [1011]
它的特征向量全在x轴上,不能张成全空间。

关于坐标

我们所处的空间独立于坐标存在。

坐标描述,依赖于所选的基向量。

行列式和特征向量与所选坐标系无关。

行列式,变换对面积的缩放比例。

特征向量,在变换中留在它所张成空间中的向量。

这两者暗含于空间中。自由选取坐标系也不会改变他们最根本的值。

一个线性变换可以通过它对基向量的作用来描述。

求一个向量变换后的结果,实际上就是求出:变换后的基向量,以相同方式进行线性组合的结果。

参考:3Blue1Brown 线性代数的本质

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 视频和图片转换 视频压缩 图片降低分辨率 图像处理

python 做视频后期单个视频转图片所有图片转视频视频压缩 - ffmpeg图片降低分辨率图像处理这是最近无聊的想法,对视频进行处理,其实也就是对图片的处理。 对视频进行后期处理,思路就是,视频转图片,然后对图片进行处理…

矩阵论复习-过渡矩阵、生成子空间、表示矩阵、度量矩阵、酉空间、内积

一小部分矩阵论的整理复习,这个由于公式输入的太麻烦了,所以就弄了一点。后面直接看着书复习的。 矩阵论复习线性空间基与维数基变换公式、过渡矩阵、坐标变换公式线性子空间齐次方程组的解空间特征子空间生成子空间交空间和空间维数定理直和线性映射线性…

使用Anaconda3安装pytorch、paddle环境并在pycharm里面进行环境测试

安装完Anaconda后,也配好了框架的环境,接下来就需要在pycharm里面写代码了。 Anaconda里面的一些命令 1.新建环境,pytorch 是自己命的名(新建虚拟环境)conda create -n pytorch python3.82.看conda 环境中&#xff0…

Anaconda配置的环境里面增加第三方库的方法

用Anaconda3配置了paddle框架的环境,但是环境里面没有项目代码用到的一些包,比如matplotlib。 在Anaconda的Powershall里面输入如下内容可以增加一些包: 有三句话,第一句是看在conda 环境中,创建的所有环境。 第二句话…

python numpy常用操作、Numpy 多维数组、矩阵相乘、矩阵乘以向量

python numpy常用操作 Numpy基本操作 # 导入numpy import numpy as np # 生成numpy数组 x np.array([1.0, 2.0, 3.0]) print(x) # [1. 2. 3.] print(type(x)) # <class numpy.ndarray> # Numpy的算术运算 x np.array([1.0, 2.0, 3.0]) y np.array([2.0, 4.0, 6.0]…

【数据结构】——期末复习题题库(1)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

感知机实现与、或、与非门和异或门

机器学习-感知机【perceptron】what is 感知机单层感知机运用实例多层感知机what is 感知机 感知机接收多个输入信号&#xff0c;输出一个信号。 接收两个信号的感知机&#xff0c;如下图&#xff1a; x1与x2是输入信号&#xff1b;y是输出信号&#xff1b; w1与w2是权重。圆…

神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现what is 激活函数激活函数的python实现python实现阶跃函数python实现sigmoid函数python实现ReLU函数激活函数的特点what is 激活函数 感知机的网络结构如下&#xff1a; 左图中&#xff0c;偏置b没有被画出来&#xff0c;如果要表示出b&…

下载MNIST数据集并使用python将数据转换成NumPy数组(源码解析)

下载MNIST数据集并使用python将数据转换成NumPy数组首先来分析init_mnist函数接下来继续分析load_mnist函数实现数据集转换的python脚本的代码显示MNIST图像并确认数据下载MNIST数据集并将数据转换成NumPy数组的Python脚本里面最重要的就是load_mnist函数&#xff0c;其他项目想…

使用python构建三层神经网络、softmax函数

【机器学习】使用python手写三层神经网络输入层到第一层的传递表示第一层到第二层的传递表示第二层到第三层的传递表示全过程传递表示代码输入层到第一层的传递表示 首先看输入层到第一层的第一个神经元的信号传递过程&#xff1a; 可以用数学式子表示第一层的第一个神经元的值…

使用python对数据集进行批处理

【机器学习】使用python对数据集进行批处理 只输入一张图像数据过程和一次性处理100张图像数据过程中&#xff0c;数组形状变换如下图所示&#xff1a; 这些数组形状可以在代码中输出出来&#xff1a; def get_data():(x_train, t_train), (x_test, t_test) load_mnist(norm…

损失函数、python实现均方误差、交叉熵误差函数、mini-batch的损失函数

损失函数what is 损失函数均方误差交叉熵误差计算mini-batch学习的损失函数why 损失函数what is 损失函数 神经网络学习目标是找到各层合适的权重参数w和偏置b&#xff0c;使得最终的输出结果能够与实际结果更加接近。那神经网络的这些权重参数是如何得到的&#xff1a;靠损失…

梯度、梯度法、python实现神经网络的梯度计算

【机器学习】梯度、梯度法、python实现神经网络的梯度计算一、python实现求导的代码&#xff1a;二、what is 梯度三、使用梯度法寻找神经网络的最优参数四、神经网络的梯度计算一、python实现求导的代码&#xff1a; 导数含义也就是&#xff1a;变量x一个微小的变化将导致f(x…

使用反向传播算法计算参数的梯度并用python实现加法和乘法节点的反向传播

使用反向传播算法计算参数的梯度并用python实现加法和乘法节点的反向传播一、what is 反向传播二、乘法节点的反向传播三、加法节点的反向传播四、加法层和乘法层混合应用一、what is 反向传播 误差反向传播法是一种高效计算权重参数的梯度的方法。所谓的反向传播&#xff0c;…

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid激活函数层 这里写目录标题一、ReLU层的实现二、Sigmoid层的实现三、实现神经网络的Affine层四、Softmax-with-Loss层实现一、ReLU层的实现 正向传播时的输入大于0&#xff0c;则反向传播会将上游的值原封不动地传给下游…

神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现

神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现一、SGD二、Momentum-动量三、AdaGrad四、Adam一、SGD 右边的值更新左边的值&#xff0c;每次更新朝着梯度方向前进一小步。 class SGD:"""随机梯度下降法&#xff08;Stochastic Gradient Des…

关于神经网络权重初始值的设置的研究

关于神经网络权重初始值的设置的研究一、权重初始值二、权重初始值会影响隐藏层的激活值分布三、Xavier初始值四、He初始值五、基于MNIST数据集的权重初始值的比较一、权重初始值 权值衰减—抑制过拟合、提高泛化能力。 所谓权值衰减&#xff0c;即&#xff0c;以减小权重参数…

使用权值衰减算法解决神经网络过拟合问题、python实现

使用权值衰减算法解决神经网络过拟合问题、python实现一、what is 过拟合二、过拟合原因三、权值衰减四、实验验证4.1制造过拟合现象4.2使用权值衰减抑制过拟合一、what is 过拟合 过拟合指只能拟合训练数据&#xff0c;但不能很好拟合不包含在训练数据中的其他数据的状态。 …

解决神经网络过拟合问题—Dropout方法、python实现

解决神经网络过拟合问题—Dropout方法一、what is Dropout&#xff1f;如何实现&#xff1f;二、使用和不使用Dropout的训练结果对比一、what is Dropout&#xff1f;如何实现&#xff1f; 如果网络模型复杂&#xff0c;L2范数权值衰减方法就难以对付过拟合。这种情况下&#…

神经网络如何调参、超参数的最优化方法、python实现

神经网络如何调参、超参数的最优化方法、python实现一、what is 超参数二、超参数优化实验一、what is 超参数 超参数是什么&#xff0c;其实就是&#xff0c;各层神经元数量、batch大小、学习率等人为设定的一些数。 数据集分为训练数据、测试数据、验证数据。 用测试数据评…