线性代数的维度如何理解?其实这个很简单,以现在的找对象比喻,要看好几个方面,看脸,看钱,看房子,看车子,看家境,看潜力等。这几个方面就是几个维度,有了这几个维度的要求,
则产生一一个行向量,所以可以说,行向量是个标准,也可以认为行向量是一个类。而具体的每个维度的值,则会产生一个列向量,所以可以说,
列向量是基于标准的具体的值
,也可以认为是一个对象(C++编程中的对象啊)。找
对象,就是行列匹配找最大值的过程。
下面举例说明:
女孩找对象一般都看脸,也看有没有钱,有没有房,有没有车子,家里哪里的。
这是用五个维度考虑找对象这一个问题,假定其先后是:看脸,看钱,车,房,家境。
显然,不同的女孩子,其对各个维度看得的不一样,假定总和为10,有这样一女孩子,
其所给出分配关系是:
Girl1=[看脸=3,看钱=5,车=1,房=0,家境=1] ,这是女孩的标准,是有先后次序的。
现在有3个男孩子来追这个女生,三个的情况分别是:
Boy1=[脸=10,钱=1,车=0,房=0,家境=1],这个帅哥了,但是没钱。
Boy2=[脸=1,钱=10,车=0,房=0,家境=1],这是富一代了,但是脸不行
Boy3=[脸=1,钱=1,车=10,房=10,家境=11],这是富二代了,有车有房,家境也好,钱好像不多。
好,现在开始找对象,也就是匹配的过程,也就找最相似的一对的过程,其本质也是矩阵相乘。
Girl1 X [Boy1 , Boy2, Boy3]=
[3,5,1,0,1] |10, 1, 1 | 这一行是脸,为什么这样排列,因为有对比啊,有对比才有会伤害啊。
| 1, 10, 1 | 这一行是钱
|0 ,0, 10 |这一行是车
| 0, 0, 10 |这一行是房
| 1, 1, 11 | 这一行是家境
可以这样形象理解:在女孩面前,三个男的都站起来,形成一个个列向量,拿自身的情况和女孩的要求来匹配。
这里如何计算呢?显然是拿男的情况和女的要求一点点匹配,且显然只能输出一行,三列。
一行表示只有一个女生,三列表示三个男子的整体得分结果。
显然其结果为:
|3*10 + 5*1 + 1*0+0*0+1*1 , 3*1 + 5*10 + 1*0+0*0+1*1 , 3*1 + 5*1 + 1*10+0*10+1*11 |
=|36, 54, 29|
女生和男生配对过程完毕,显然相似度最高的是Boy2,按照这个标准,显然Boy2和女生会牵手成功。
再深入一点,如果有多个女生呢?显然,左边矩阵就是多行了,当然输出结果也是多行,表示多个女孩的选择结果。
矩阵的乘法不能颠倒,原因是很显然的,左边是女的要求,是固定的维度,是标准,右边是男的现状,是具体的情况,要求和现状不能混淆啊。
这个古怪的想法是在看一国外网址介绍矩阵科乘法想到的。
https://www.mathsisfun.com/algebra/matrix-multiplying.html
通过买东西讲矩阵的乘法,很好理解。