人工智能AI(5):线性代数之矩阵、线性空间
在前面的篇幅中,我们简单的介绍过矩阵的定义,按照原计划本来,今天准备写特征分解以及奇异值分解,但是发现这其中涉及到比较多的矩阵相关的知识,所以在讨论这些问题之前,我们先来学习一下矩阵以及线性空间、线性变换等矩阵的知识。
在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,详细的定义可以参考人工智能AI(2):线性代数之标量、向量、矩阵、张量。
1 矩阵运算
矩阵运算在科学计算中非常重要 ,而矩阵的基本运算包括矩阵的加法,减法,数乘,转置,共轭和共轭转置。
加法
矩阵的加法满足下列运算律(A,B,C都是同型矩阵):
应该注意的是只有同型矩阵之间才可以进行加法 。
减法
数乘
矩阵的数乘满足以下运算律:
矩阵的加减法和矩阵的数乘合称矩阵的线性运算 。
转置
把矩阵A的行和列互相交换所产生的矩阵称为A的转置矩阵 ,这一过程称为矩阵的转置
矩阵的转置满足以下运算律:
乘法
两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵
,它的一个元素:并将此乘积记为:
例如:
矩阵的乘法满足以下运算律:
结合律:
左分配律:
右分配律:
矩阵乘法不满足交换律。
2 线性空间
线性空间又称为向量空间。
假设是两个长度不等的相交的向量(不在一条直线),则整个二维平面上的点,显然都可以通过的方式来表示。
用数学的语言:就是所张成的线性空间。
如果在一条直线上,则那么就只能张成一维空间。
如果都是原点,那么就只能张成零维空间了,也就是点。
直观上可以理解为给元素装配了加法和数乘的非空集合。
完成定义我们拆分这句话就成:
1)非空集合
首先它是一个非空集合,我们记为
2)给元素装配加法(元素与元素加法)
其次我们给中的元素装配上加法运算,满足4个基本属性
1, 加法结合律:u +(v + w) = (u + v)+ w
2, 加法交换律:u + v=v + u
3, 有单位元:存在一个元素e,使得对任意u∈,都有u +e=u,这里e其实是零元,一般用表示。
4, 有逆元:对任意u∈v∈u + v=0
3)给元素装配数乘(数值与元素乘法)
然后给中的元素装配上数乘,满足数乘的4个基本属性(选择一个数域,记a,b为其中任意数值)
1. 数乘对元素加法满足分配律:a·(v + w) =a·v +a·w.
2. 数乘对域加法(数值与数值加法)满足分配律:(a+b)·v=a·v +b·v.
3. 数乘与域乘法(数值与数值乘法)相兼容:a(b·v) = (ab)·v
4. 数乘有单位元:存在一个数值, 使得对于任意,都有·v=v
此部分来自知乎:三思孔明 (版权归作者所有)
链接:https://www.zhihu.com/question/24086219/answer/140270125
更多历史文章请关注此号,点击公众号底部的菜单。
在这里,遇见更好的自己
转载请联系作者,非常感谢。
- 使用Spring访问Mongodb的方法大全——Spring Data MongoDB查询指南
- gitbook安装与使用,并使用docker部署
- 【专业技术】在C/C++程序中打印当前函数调用栈
- 关于定位position的相关知识
- Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境
- 段落首字下沉
- 【编程基础】C语言指针、引用和取值
- Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
- JavaScript中的this详解
- 使用SpringBoot开发REST服务
- CSS3 -webkit-filter 滤镜
- Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果
- Javascript中的Label语句
- 从编辑距离、BK树到文本纠错
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- web 云开发获取匿名登录返回的uid
- MySQL 最佳实践:慢查询分析三步曲
- 【NLP】利用jieba对网易云音乐的评论进行词云分析
- 【深度学习】一分钟速学 | NMS, IOU 与 SoftMax
- 【机器学习基础】数学推导+纯Python实现机器学习算法26:随机森林
- 【机器学习基础】Python数据预处理:彻底理解标准化和归一化
- Logback配置文件这么写,TPS提高10倍
- 重学数据结构之队列
- 太简单,springboo 使用自定义的 Tomcat
- 没想到,几行代码,你就可以实现图片压缩(springboot)!
- Go 语言学习之基础数据类型
- Go 语言学习之变量
- Go 泛型的括号选择:[ ] or ( )?
- 如何使用GitLab CI/CD 触发多项目管道
- 使用docker数据卷持久化容器数据