10-特殊的向量

零向量是分量全为0的向量,其性质类似于数字0,加到任何向量上都不会改变原向量。单位向量是长度为1的特殊向量,代表方向。稀疏向量是大部分元素为0的向量,常用于节省存储空间。在计算机科学中,反证法是证明概念如零向量和单位向量唯一性的常见方法。
摘要由CSDN通过智能技术生成

零向量

  • 我们不定义什么是零向量, 我们从推导一个性质出发。这个性质和我们的数字世界的0这个数字本身的性质非常相似

  • 对于任意一个向量 u ⃗ \vec{u} u , 都存在一个向量O, 满足: u ⃗ \vec{u} u + 0 = u ⃗ \vec{u} u

  • 0 向量 就是分量全为 0 的向量
    (0 0 … 0)

  • 零向量非常像我们在数字的世界中零这个数字,它所发挥的作用,因为任意数字加上零。还等于它本身那么在向量的世界中,我们是否也存在这样的一个向量,满足这个性质呢?

  • 如果也存在的话。相应的,我们就可以把它定义成零向量,那么下面数学家们做的事情就是先证明。确实存在这个向量O,其实这个证明又是一个非常简单的过程,那么由于我们要证明对于任意一个向量都存在这个向量O,所以。对于这个任意的向量我就把它抽象的表示成是一个n维的向量,其中一个维度这个数字就是 u 1 u_{1} u1 u 2 u_{2} u2一直到 u n u_{n} un

  • 那么,由于我们要看是否都存在一个向量O满足和这个向量做加法之后,可以得到一个什么样的结果,所以这个向量O呢,也应该是一个N维的向量,所以我先假设存在有这样的一个向量O,那么这个向量O呢?我把它写成是一个N维的向量,每一个维度呢?分别为 o 1 o_{1} o1 o 2 o_{2} o2一直到 o n o_{n} on。现在看,如果我让这个向量加上这个向量O,结果会怎样?那么很显然,这是一个向量的加法运算。根据我们之前向量加法的定义,我们就可以得到。一直到向量uo的结果是, u 1 u_{1} u1+ o 1 o_{1} o1 u 2 u_{2} u2 + o 2 o_{2} o2以此类推,一直到 u n u_{n} un+ o n o_{n} on

  • 在这里插入图片描述

  • 既然我们求出来了, 那么它的存在性就毋庸置疑了。最终我们推导出零向量各个维度均为0, 这样我们也证明了这个性质, 进而我们称这样的一个向量, 为零向量。这就是零向量的由来, 它不是直接被定义的, 是首先被证明一定存在的。

  • 请大家注意看, O向量是没有箭头的

  • **这是为什么呢?也非常的简单。大家想象一下我们说当我们以方向这样的个视角看待向量的时候,那么一个向量就可以理解为是从坐标原点指向这个向量所代表的这个数据点,这样的一个有限的线段。那么,这个坐标的原点显然就是这个各个维度都为零的,这一点那么如果我们按照这样的定义来看待零向量的话,零向量就是从坐标原点。然后又指向零向量,也就是又指向自己, 那么如果我们按照这样的定义,从这一点又指向这一点。

  • 显然,它不是一个线段,它依然是一个点。那么,此时呢?我们不能说它的方向是在哪里?正因为如此。这个零向量是一个特殊的向量,其实我们管之叫做零向量,只是为了这种称呼上的统一而已但是它本质是没有方向的。它就是一个点,这个点在我们整个坐标系的坐标原点,这一点希望大家理解。

  • 另外一点, 在这个定义中,大家可以看到,对于这它有多少个零?其实我并没有说,那么,实际上它有多少个零?是根据我们当前所研究的这个空间所决定的,那么其实空间这个词稍微有一些抽象我到现在呢,还没有对这个词进行严格的定义, 如果我们研究的向量,它是一个二维的向量,那很显然此时我们所研究的所有的向量都应该是在一个二维的空间里,也就是在一个平面中的,那么在这种情况下,我们的零向量其实就是有两个零。那么,如果我们现在研究的向量有三个维度,也就是在一个三维空间中,那么对应的在这个三维空间中,它的坐标的原点也就是它的零向量的就有三个零以此类推,如果我们现在所研究的向量它有n个维度,也就是我们在研究一个N维空间中的问题,那么对应的在这个N维空间中的零。零向量就应该有n个零,

  • 换句话说,零向量和我们通常所说的数字零还是有区别的,因为数字0它就是唯一的那样的一个数字。而零向量可以在维度上进行扩充,两个零也是一个零向量,三个零也是一个零向量。四个零还是个零向量。在不同的空间中,有唯一的一个零向量,但是零向量并不唯一,因为它可以具有不同的维度。不过,通常我们在研究一个问题的时候。都会限定空间,所以我们不用特别强调我们说的到底是二维的零向量还是三维的零向量。

  • 相应的, 我们也可以定义负的向量这样一个概念, 那么在这里, 再给出一个性质, 这个性质就是对于任意一个向量 u ⃗ \vec{u} u , 都存在一个向量 − u ⃗ \vec{-u} u , 满足: u ⃗ \vec{u} u + − u ⃗ = O \vec{-u} = O u =O并且 − u ⃗ \vec{-u} u 是唯一的, 而且下面我们还可以得出一个结论: − u ⃗ = − 1 × u ⃗ \vec{-u} = -1\times \vec{u} u =1×u ,

  • 我们可以来证明一下:其实这样的一个性质,一看它就是成立的,不仅它成立,而且我们还可以得出这样的一个结论。上述的这样的一个 − u ⃗ \vec{-u} u ,这个向量还是唯一的,换句话说,不会存在两个不同的向量,同时满足加上这个向量等于零,那么对于这个唯一性的证明,我想简单的提及一下,因为它背后呢,涉及到不仅仅是在数学领域,在计算机领域也经常使用的一个技巧。就是所谓的反证法,那么大家想象一下我们怎样才能证明这样的一个 − u ⃗ \vec{-u} u 唯一呢?我们的思路就是假设除了这个 − u ⃗ \vec{-u} u 之外,还存在另外一个向量v。也满足这个向量 u ⃗ \vec{u} u + v ⃗ = O \vec{v} = O v =O向量,那么在这种情况下,大家想象一下,在上面的这个性质中,我们已经说了一定存在一个向量 − u ⃗ \vec{-u} u 满足这个等式。那么我们就可以在这个等式的左右两边儿同时都加上这个 − u ⃗ \vec{-u} u ,那么同时加上这个 − u ⃗ \vec{-u} u 之后,根据我们之前说向量的加法具有结合律了,所以在这里这个式子的左边,我可以让这个 − u ⃗ \vec{-u} u u ⃗ \vec{u} u 先进行结合,再加 v ⃗ \vec{v} v ,而对于右边呢, 由于我们之前已经证明了,任意一个向量,加上这个零向量还等于这个向量本身,所以就可以写成是 − u ⃗ \vec{-u} u 。那么,现在我们来看这个式子

  • 在这里插入图片描述

  • 左边 − u ⃗ \vec{-u} u ,根据我们上面的这个性质,我们已经知道了这个 − u ⃗ \vec{-u} u 是满足和 u ⃗ \vec{u} u 相加等于零向量。所以左边我们就可以写成是零加上 v ⃗ \vec{v} v ,右边呢,就可以写成是 − u ⃗ \vec{-u} u , 而零加上 v ⃗ \vec{v} v ,显然还是等于 v ⃗ \vec{v} v 本身,那么经过这样的推导,我们就得到了。我们假设存在另外一个向量,向量 v ⃗ \vec{v} v ,满足这个性质,可是推着推着这个 v ⃗ \vec{v} v ,又变成了它,是等于这个 − u ⃗ \vec{-u} u 的,。那么,这是和我们的假设矛盾的,因为我们假设这个 v ⃗ \vec{v} v 是另外一个和 − u ⃗ \vec{-u} u 不同的向量,由于我们推导出了这样的矛盾,那么显然我们的假设不存在,换句话说, − u ⃗ \vec{-u} u 这样的一个向量是唯一的,那么这样,我们就非常巧妙的使用反证法,证明出了唯一性,在这里顺便提一句就是。其实当大家更多的接触数学的世界,特别是在计算机的数学的世界中,反证法是一个被经常使用的证明的方法。另外一个被经常使用的证明方法是数学归纳法,近乎当大家面对个证明的问题,没有思路的时候,或者使用反证法,或者使用数学归纳法。这是一个好的习惯。

单位向量

  • 单位向量 就是 L2 范数/模/长度为 1 的向量

如果一个向量大部分的位置为0, 少部分为非0的数, 那这样的向量我们就称之为稀疏向量, 反之为稠密向量, 它们是数学里面的一种叫法。稀疏向量和稠密向量在计算机程序里面在存储的时候是有差异的。对于系数项来说, 它只需要存这个向量的长度以及哪些位置, 它对应的就是要去存索引, 就是那些位置是非零的以及非零的位置, 它的值是多少,实际上就够了, 只需要存长度。 然后哪些位置有值, 然后知道那些值是多少就OK了, 剩下那些0的位置可以不用去存。 对于稠密线来说, 它就相当于是老老实实的把一个线段里面的每一个索引号所定的数值位置全部都要存下来,全部都要存下来, 对于计算机来说就是占内存多少的差异, 它们也属于特殊的向量

另外还有一种稀疏向量, 比如说咱们有些位置大部分通常都是0, 比如说有一个位置是1,其他的位置都是0, 那这种向量我们称之为one-hot编码, 中文叫独热编码, 就是单独一个位置是1的, 其他位置为0的向量, 也是比较特殊的一个向量。这个东西在机器学习里面经常会用到, 比如说晴天, 雨天, 多云这三种天气,如果这一天是这个雨天,那我们可以把雨天这块儿写1其他位置写0,如果是晴天,那我们在晴天位置写1其他的位置写0,它只会出现一个1, 也就是同一天, 只会有一种天气这种其实就是做了one-hot编码,那这个东西在机器学习里面,我们叫做离散数据的离散化,那对离散型的。就这一列是离散型的数据去做离散化,那实际上我可以去使用这种特殊的向量one-hot编码去做。

单位向量

单位向量是指长度为1的特殊向量,也称为L2范数或模为1的向量。在二维空间中,它指向原点(0, 0)的欧式距离为1的向量;在三维空间中,它指向原点(0, 0, 0)的欧式距离为1的向量。

单位向量可以通过将向量x除以它的模来获得。简单来说,单位向量就是把一个向量除以它的模,从而得到一个长度为1的向量。单位向量在欧式空间中有无数个,因为它可以指向无数个方向。

单位向量的重要作用之一是代表方向。通过单位向量,我们可以表示一个向量的方向。换句话说,任何向量都可以表示为它对应的单位向量乘上一个特定的值。

单位向量的计算很简单,对于一个非零向量x,要得到与其方向相同且长度为1的单位向量,只需将向量x除以其模长(长度)。数学表达式为:

单位向量 u = x / ||x||

其中,u为单位向量,x为非零向量,||x||表示向量x的模长(长度)。

单位向量的用途广泛,其中一个重要的应用是在机器学习和向量表示中。在向量空间模型中,可以使用单位向量来表示词向量、文本向量等,从而更好地捕捉词语或文本之间的语义关系和相似性。

下面是一个例子:

In [1]: import numpy as np

In [4]: W = np.array([3, 5, 6, 7, 8])

In [5]: np.sqrt(np.sum(np.square(W)))
Out[5]: 13.527749258468683

In [6]: L2 = np.sqrt(np.sum(np.square(W)))

In [7]: e = W/L2

In [8]: e
Out[8]: array([0.22176638, 0.36961064, 0.44353276, 0.51745489, 0.59137702])

In [9]: L = np.sqrt(np.sum(np.square(e)))

In [10]: L
Out[10]: 1.0

参数说明:w指的是一个向量,L2指的是L2范数, L是模长, e在数学和物理中常被用来代表单位向量;
在这里当e乘以一个数值后,我们得到一个新的向量 w,相当于在w向量的方向上取模长为1(也就是1/(w的模长))的向量,这个向量的方向与原来的单位向量是一致的。因此,单位向量更多地代表了一个方向。通过将一个向量与单位向量进行比较,我们可以得知它们是否指向相同的方向,或者它们之间的夹角是多少。这种方法不一定非要使用原始向量进行计算,我们也可以通过单位向量来进行推导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DevGeek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值