MLlib之线性代数的矩阵在程序算法中的应用理解

MLlib之线性代数的矩阵在程序算法中的应用理解

矩阵的理解:
矩阵就是一套数学运算地封装语言,一个矩阵乘一个数,就是这个矩阵里面的数据都乘以这个数.所谓的矩阵系数矩阵.就是将矩阵系数的每一行矩阵转置之后的每一列

矩阵X:

(封装好的向量X)
向量X
(X中的数字为X的特征)
X[30,165,60,2000]

多个特征组合成一起就是X的矩阵C
[30,165,60,2000]
[29,170,66,3000]
[28,176,65,4500]

矩阵的意义:使向量表达起来更简洁更精炼
C2就表示将C里面的每一个向量2(每一个特征*2)

例如我想求一个人的优秀值公式:
年龄*(-0.1)+身高*(2)+体重*(-0.3)+收入*(3)

在矩阵当中我们为了方便计算我们将矩阵C
[30,165,60,2000]
[29,170,66,3000]
[28,176,65,4500]
转置为CT:
30 29 28
165 170 176
60 66 65
2000 3000 4500

系数矩阵P:
[-0.1,2,-0.3,3]

我们的需求是求出矩阵的优秀值 : CTP
矩阵CT |系数矩阵P
30 29 28 | -0.1
165 170 176 | 2
60 66 65 | -0.3
2000 3000 4500 | 3
将矩阵CT
系数矩阵P 得到三个人的结果
30 * -0.1 | 29 * -0.1 | 28 * -0.1
165 * 2 | 170 * 2 | 176 * 2
60 * -0.3 | 66 * -0.3 | 65 * -0.3
2000 * 3 | 3000 * 3 | 4500 * 3
得到:
6309 | 9376.2 | 9128.5 三个结果
如果我又有一个系数矩阵P[-0.2,1.5,-0.2,4]用同样的方法继续得到三个结果:
7012 | 8900 | 8600 三个结果

p*CT ==> 6309 | 9376.2 | 9128.5
7012 | 8900 | 8600
结果又形成一个结果矩阵
矩阵的意义将数据转置后方便表达,方便计算,方便对比结果!

发布了48 篇原创文章 · 获赞 11 · 访问量 1507

猜你喜欢

转载自blog.csdn.net/weixin_45896475/article/details/104425003