深度学习涉及到的线性代数知识点总结(一)
文章目录
- 一、什么是线性?
- 二、线性方程组
- 三、线性可分与线性不可分
- 四、数据的维度
- ● 标量
- ● 向量(矢量)
- ● 矩阵
- ● 张量
- 五、范数
- 六、行列式
- 七、常见矩阵的类型
- 八、矩阵的计算
- 8.1 矩阵的加减法
- 8.2 数乘(叉乘)
- 8.3 点乘
- 8.4 矩阵相乘
- 九、矩阵求逆
- 十、内积与投影
- 十一、余弦相似度
- 十二、欧式距离
一、什么是线性?
在平面直角坐标系中,一个二元一次方程所绘制的几何图形是一条直线,线性代数里的“线性”即来源于此。其实对于三元一次方程,在直角坐标系中的几何图形是一个平面。对于多元一次方程,其几何图形应是一个超平面。
二、线性方程组
线性方程组有多组一元方程组构成。
三、线性可分与线性不可分
线性可分:一条直线可以分开的问题
线性不可分:一条直线不可以分开的问题。
● 区分线性可分和线性不可分的方法
- 一条直线
- 多条直线(曲线)
- 升维度
● 线性可分和线性不可分的转换
线性可分与线性不可分的辩证统一思想:在低维空间中数据线性不可分,通过映射到高维空间中是线性可分的;而高维空间中线性可分返回到低维空间中又是线性不可分的。所以这两者是矛盾而统一的。
总结:判断一堆数据是否能够线性可分的关键在于数据所在的维度。
四、数据的维度
● 标量
0维数据,只有大小,没有方向。
● 向量(矢量)
向量既有大小,又有方向。向量的长度称为向量的模长。向量的大小使用范数来衡量。
● 矩阵
矩阵有大小,且有两个方向。矩阵的大小用行列式衡量
● 张量
张量指的是三维及三维以上的数据。张量有大小及对应的维度。
五、范数
范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。
六、行列式
只有方阵才有行列式。左上角到右下元素相乘-右上角到左下角元素相乘,依次退位计算,所有元素都要参与计算。
几何意义: 2* 2的方阵的行列式就是两个向量围成的平行四边形的面积,3*3的方阵的行列式就是三个向量围成的方体的体积。
七、常见矩阵的类型
● 方阵
行数和列数相等
● 对角阵
对角线为非0元素,其他位置都为0;对角阵的转置等于自身;对角阵和其他向量或矩阵相乘计算非常方便,只需将向量或矩阵的元素和对角阵非零元素依次相乘即可。
● 单位矩阵
满足对角阵,但是对角线的元素为1;任何向量或矩阵乘以单位矩阵都等于自身。
● 对称矩阵
指以主对角线为对称轴,各元素对应相等的矩阵,转置等于本身。
● 正交阵
满足对称阵,一个矩阵和自身的转置矩阵相乘,结果为一个单位矩阵,那么这个矩阵就称为正交矩阵。例: AAT=E, E单位矩阵,那么A就是正交矩阵。正交阵满足AT=A-1, 所以AA-1=E
● 0矩阵
矩阵元素全为0
● 1矩阵
矩阵元素全为1
● 奇异矩阵
行列式等于0
● 非奇异矩阵
行列式不等于0
● 稀疏矩阵
大部分元素为0构成
● 稠密矩阵
全部由非0元素构成
● 下三角矩阵
主对角线以上都是零的方阵称为下三角矩阵
八、矩阵的计算
8.1 矩阵的加减法
- 两个形状大小一致的矩阵相加减,就是两个矩阵中对应的
元素做加减。 - 两个形状完全不一样的矩阵是无法做加减法的。
- 矩阵和一个向量做加减运算的时候,向量的形状要满足和矩阵的行或者列的形状一致,向量才会做广播,变成一个形状和原矩阵一样的矩阵,再做运算。
8.2 数乘(叉乘)
叉乘是向量的外积,也叫向量积。叉乘的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量组成的坐标平面垂直。在三维几何中,向量a和向量b的叉乘结果是一个向量,更为熟知的叫法向量,该向量垂直于a和b向量构成的平面。
在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a, b的法向量,从而构建X、Y、Z坐标系。
8.3 点乘
点乘是向量的内积,也叫数量积。点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及b向量在a向量方向上的投影的长度,是一个标量。点乘反映着两个向量的“相似度”,两个向量越“相似”它们的点乘越大。
● 向量和向量点乘
条件:两个向量形状大小必须一致
规则:两个向量对应元素相乘之后再求和,结果是一个标量。
● 矩阵和向量点乘
条件:向量的形状要满足和矩阵的行或者列的形状一致。
规则:向量需要做和矩阵对应的行列变换,然后做矩阵相乘。
● 向量点乘不满足结合律: a*(bc)不等 于(ab)*c
● 数乘满足分配律: (1 + 2)a=1a+2a ,2(a+b)=2a+2b
8.4 矩阵相乘
● 矩阵的乘法的条件:满足第一个矩阵的列和第二个矩阵的行的形状相等的规则。
● 矩阵的乘法步骤:使用第一个矩阵的行元素分别对应乘以第二个矩阵的列元素,再求和,作为输出结果矩阵的第一个元素,以此类推。
九、矩阵求逆
● 概念
设A、B都是n阶方阵,如果存在n阶方阵B使得AB= BA=E,E为单位矩阵,则称A为可逆矩阵, 而称B为A的逆矩阵。则: B=A-1,所以: A*A-1=E
● 条件
必须是非奇异矩阵,必须是方阵,0不能做除数,奇异矩阵的行列式为0.
● 注意
非方阵可以求伪逆,将当前矩阵乘以它的转置变成方阵,再进行求逆。
● 推论
- 如果矩阵A可逆,则A-1*AT也可逆。
- (A-1)^ -1=A
- (AT)^-1=(A-1)T
- Y=W.X, W=Y/X=Y.X^-1
伪逆: W=Y.XT/X.XT=(X.XT)^-1.XT.Y (最小二乘法)
完整版最小二乘法: (X.XT+λI)^-1.XT.Y, I是单位矩阵, λ是系数,主要为了防止奇异矩阵的出现.
● 逆和伪逆
- 逆的运算相当于矩阵的除法运算。
- 只有非奇异方阵才有逆
- 伪逆是逆的推广,去除了方阵的限制。
十、内积与投影
十一、余弦相似度
● 公式
● 意义
即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。
● 结论
- 夹角为0度 :此时向量A与向量B是最相似的,余弦相似度为1。
- 夹角为90度 :此时余弦相似度为0。
- 夹角为180度 :此时余弦相似度为-1,两个向量的方向完全相反。
十二、欧式距离
● 公式
● 概念
欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的绝对距离。
也可以理解为:m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
深度学习涉及到的线性代数知识点总结(一)相关推荐
- 深度学习中的数学-线性代数
深度学习中的数学-线性代数 1 矩阵和向量相乘 1.1 标准乘积 1.2 元素对应乘积 2 线性相关和生成子空间 3 特征分解 4 奇异值分解 推荐书目 参考 1 矩阵和向量相乘 1.1 标准乘积 如 ...
- 【邱锡鹏-神经网络与深度学习】第一章绪论 知识点汇总
深度学习是机器学习的分支,从有限样例中通过算法总结出一般性的规律,应用到未知的数据上. 深度学习:原始数据输入--->多个线性或非线性组件--->每个组件对信息进行加工,影响后续组件--- ...
- 深入浅出深度学习(三)线性代数基础
一.标量.向量.矩阵.张量 标量(scalar) 一个数值,最小的计算单元 向量(vector) 由多个标量组成的一维数组 矩阵(matrix) 由标量数据构成的二维数组 张量(tensor) 深度学 ...
- [深度学习] 自然语言处理 --- Self-Attention(三) 知识点与源码解析
在当前的 NLP 领域,Transformer / BERT 已然成为基础应用,而 Self-Attention 则是两者的核心部分,下面尝试用 Q&A 和源码的形式深入 Self-Atte ...
- 【深度学习基础】:线性代数(三)_逆矩阵与伪逆矩阵
一.矩阵的逆 定义 2.Python 2.1 Numpy import numpy as npA = np.array([[1,2],[3,4]])# 求逆矩阵A_inv = np.linalg.i ...
- 深度学习中所需的线性代数知识
原址 每个深度学习项目背后的数学知识. 深度学习是机器学习的一个子领域,涉及一些模仿人脑结构和功能的人工神经网络算法. 线性代数是一种连续的而非离散的数学形式,许多计算机科学家对它几乎没有经验.对于理 ...
- 第02课:深度学习 Python 必备知识点
无论是在机器学习还是深度学习中,Python 已经成为主导性的编程语言.而且,现在许多主流的深度学习框架,例如 PyTorch.TensorFlow 也都是基于 Python.这门课主要是围绕 &qu ...
- 放弃深度学习?我承认是因为线性代数
深度学习从入门到放弃?一定是哪里出了问题. 这篇文章想来和你探讨下:深度学习背后的线性代数问题. 先做个简单的名词解释 深度学习:作为机器学习的一个子域,关注用于模仿大脑功能和结构的算法:人工神经网络 ...
- 最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品
铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 入门深度学习的最大阻碍是啥,课程资料太少.难度太大? 可能对于大部分中国AIer来说,语言门槛高过了一座大山.网红课虽好,但是英语听不懂啊. ...
- ppt 深度学习绘图_最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品...
铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 入门深度学习的最大阻碍是啥,课程资料太少.难度太大? 可能对于大部分中国AIer来说,语言门槛高过了一座大山.网红课虽好,但是英语听不懂啊. ...
最新文章
- 关于职业目标规划的一点讨论
- OpenERP Web开发
- DataList 外部事件获取DataList内部值
- ORA-12545: Connect failed because target host or object does not exist
- windows 2008 R2下(AD RMS)无法检索证书层次结构的解决方法
- 关于 mysql.test 数据库
- poj 2528 线段树离散化+染色
- Lecture 3 Divide and Conquer
- numpy与matplotlib的学习报告
- Xiaojie雷达之路---匹配滤波器
- 微型计算机的组装步骤,微型计算机系统装配教程
- 自己写C#用汽车诊断卡对MIT电机做调试
- 带你学C带你飞 | printf函数 | 变量 | 常量和宏定义 | 数据类型 | 取值范围 | 字符串 | 运算符
- C语言情人节玫瑰花代码
- excel 中vb组合框_Excel数据验证组合框代码
- 【全源码及文档】基于JSP的网上订餐管理系统的设计与实现
- C语言实现加减乘除混合运算计算器
- java版tp指令,VAG TP 2.0完整的AT命令列表
- [Unity3D]Unity3D游戏开发之ACT游戏三连击效果实现综述
- 我的github地址: