ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【MindSpore:跟着小Mi一起机器学习吧!】那些我们快要遗忘的线性代数知识点

2021-12-30 21:06:18  阅读:195  来源: 互联网

标签:知识点 运算 Mi 矩阵 相乘 MindSpore 向量 乘法


一周未见,动力不减!小Mi又带着知识点和大家见面啦!(敲黑板~)

上周小Mi带着大家简单地学习了机器学习的概念,还有其常见的两个大类,监督学习和无监督学习,这次小Mi决定跟大家一起复习下机器学习中常用的线性代数知识。话说矩阵、向量还记得不,逆和转置到底是什么玩意儿?你的大学老师是不是已经哭晕在厕所了?没关系,今天的知识点简单到小学生都会,跟着小Mi一起学习吧!

1      向量和矩阵

1.1      矩阵

首先,上定义!矩阵是一个按照长方阵列排列的复数或实数集合(我们就简单点,暂时只考虑实数哈),由m×n 个数排成的m行n列的矩阵,简称m×n矩阵,记作:

 则表示第i行,第j列的元素。

为了方便大家更加直白地理解,依旧是老样子,上例子!

这个是4×2的矩阵,即4行2列。=1402,=191 ,=1437,而由于这个矩阵一共就只有4行2列,所以第四行第三列的数则是不存在的啦。

从计算机角度来看,矩阵提供了一种很好的方式,能够让你快速整理、索引和访问大量数据,是不是很棒!

1.2      向量

谈到向量,其实向量就是一种特殊的矩阵,只有一列(一般默认为列向量),即n×1的矩阵。上例子:

该向量为4维列向量(4×1),所以矩阵和向量理解起来是不是很简单~

另外有两个知识点需要稍加注意一下子!

知识点一:

通常情况下,向量有从1起始的索引向量和从0起始的索引向量,如下图:

一般选用从1开始的索引向量,简单点可以看作编程语言中的数组,数组就是从1开始排序的,而数组的元素一般是y[1]、y[2],这种下标从1开始的在绝大多数数学表达式中也是更加常见的。所以,除非特别指定,正常默认使用是从1开始的索引向量哈。

知识点二:

通常情况下,用大写字母如A、B、C、X等来表示矩阵,而通常使用小写字母a、b、x、y等表示数字或标量或向量。也就是说,小写表示向量,大写字母表示矩阵。大家都听明白了不(你的线性代数老师又上线敲黑板啦)!

2      矩阵的简单运算

2.1      加法和标量乘法

这一趴我们主要研究矩阵的各种运算,首先从简单的开始说起,矩阵的加减法运算以及数和矩阵的乘法,也就是标量乘法运算。

矩阵的加法,看示例:

也就是说,矩阵的加法意味着,两个矩阵的每一个元素都逐个相加,这句话暗示的条件是只有相同维度的两个矩阵才能相加,即两个矩阵的行列数都是相同的,那么结果就是行列数相等的各个元素相加得到的一个新矩阵。

而标量乘法运算其实也是类似,说白了也是将矩阵中的所有元素都逐一相乘就欧凯啦~

当然啦,接下来如果出现稍微复杂一点的组合运算相信大家也是可以完成的!

2.2      矩阵和向量相乘

好了,下面有点难度了,涉及到矩阵和向量相乘的话,结果又是什么样的呢?For example:(小Mi想拽下英语大家没问题吧)

一个2×2的矩阵与2×1的矩阵相乘,得出的结果是一个2×1的矩阵,所以首先结果是一个两行1列的矩阵。然后每个元素的计算过程如下:

矩阵的第一行元素与向量分别计算:1×1+2×2=5

矩阵的第二行元素与向量分别计算:1×3+4×2=11

因此,总结来说:矩阵A与向量x相乘便会得到一个向量y。矩阵A是一个m×n的矩阵,x是一个n×1的矩阵,两者相乘得到一个m维的向量,这里n是一定要匹配的,也就是说A的n列要与x的n行是一致的,m则为矩阵A的行数。

下面带入一个情景模式方便大家理解一下,假设我们有四间房子(Oh,又是小Mi心心念念的房子),这四间房子一共有四种大小,分别是100,89,105,128平方米,现在有个函数:h(x)=30+0.25x可以预测房子的价格,计算出每个房子对应的h(x)。

这个时候,小Mi教大家用矩阵向量相乘的方法做一下:

2.3      矩阵乘法

假设有两个矩阵A和B,m×n矩阵乘以n×o矩阵,变成m×o矩阵,那么他们的乘积就可以表示为图中的形式

先提取矩阵A的第一行与B的第一列进行向量相乘计算,然后A的第一行不变,提取B的第二列进行向量相乘运算,再接着单独提取A的第二行分别与B的第一、二列进行计算。这其中需要注意的是,两个矩阵能够相乘必须满足矩阵A的列数与B的行数相匹配这样一个条件。(矩阵乘法的动态演示:https://www.bilibili.com/video/av56433157)

同样,带入情景,预测4间房子的价格,面积分别为100,89,105,128平方米,有三种假设都用来预测价格,,那么最终可以上得到12个基于三种假设的四间房子的价格。

小Mi再插句嘴,是不是发现矩阵运算十分高效,可以基于多个假设做计算?Oh,简直太棒了!

2.4      矩阵乘法特征

标量的运算是可以颠倒乘法运算中变量的顺序的,但是这一点并不能应用在矩阵乘法中。

举例:

但是,矩阵的乘法满足结合律。即:

当处理实数或标量的时候,数值1可以看作一个乘法单位,对于任何实数Z,1×Z=Z×1。同样,在矩阵空间中,也有一个单位矩阵I满足这样的特性,它的对角线上都是1,其余为0。

对于单位矩阵而言,,但是这里需要注意的是,可能对应I的维度会存在不一样的情况。

2.5      逆和转置

最后小Mi还想给大家介绍一些特殊的矩阵运算,比如矩阵的逆运算和转置运算。

做个类比,实数中1、3的倒数分别是1、1/3(当然啦,0没有倒数),而逆运算就相当于求矩阵的倒数,因此也不是所有的矩阵可以进行逆运算,只有m×m矩阵,也就是方阵才会存在。即:

那么如何求逆矩阵呢?这边的话,小Mi真的很感谢强大的用开源库,简单的代码便可以实现调用,直接求解求解逆矩阵!

还有另一种矩阵的特殊运算,叫做矩阵的转置计算:

假设A为m×n阶矩阵,第i行j列的元素 ,即 ,而B为n×m阶矩阵,满足 ,即 ,也就是说B的第i行j列元素是A的第j行i列元素。记 。

直观来看:

好啦,以上便是今天小Mi带来的简单矩阵知识点,虽然简单,但是小Mi认为千里之堤,溃于蚁穴,想要学好机器学习,各种基础知识还是需要建立和完善的(是不是不太适应小Mi这么严肃地讲话!)。今天小Mi的讲解就到这啦,下期我们将一起学习线性回归算法,有没有很期待?!我们下期见呦~

标签:知识点,运算,Mi,矩阵,相乘,MindSpore,向量,乘法
来源: https://www.cnblogs.com/skytier/p/15750526.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有