开此系列文章的目的是为对深度学习感兴趣的读者带来一个平台,从入门到精通
面向群体为想从基础了解深度学习的爱好者
------
文章不定时更新,有问题可留言
共同学习,共同进步!
人工智能不但可以理解语音或图像,帮助医学诊断,还存在于人们生活的方方面面,机器学习可以理解为系统从原始数据中提取模式的能力。
现代深度学习最早是从神经科学的角度演变的简单线性模型。随着科学技术的学习可用模型数量不断扩增,针对深度学习的硬件设备也逐渐完善,通过深度学习获取的结果也更加精确。
深度学习三次发展浪潮
线性代数
面向连续数学,常见数学概念:
标量(scalar):表示一个单独的数,通常用小写变量名称表示。
向量(vector):表示列数,有序排列,通常用粗体小写变量名称表示。
在索引向量中的元素时,用符号“-”表示集合中补集的索引,
为x中除
外的所有元素,
表示除
集合中元素以外的所有元素。
矩阵(matrix):表示一个二维数组,其中每个元素由两个索引决定,通常用粗体大写变量名称表示,通常用“:”表示水平坐标,表示垂直坐标中的所有元素,“Ai,:”表示A中垂直坐标i上的一竖排元素,简单来说“Ai,:”表示第i行,“A:,i”表示第i列。
表示矩阵值表达式的索引可以用
表示函数f作用在A上输出的矩阵的第i行第j列元素。
张量(tensor):表示一个数组中的元素分布在若干维规则的坐标网络中。
转置(transport):表示以对角线为轴的镜像,从左上角到右下角的线称为主对角线,转置后的矩阵A表示为
。
加法运算
向量可看作只有一行的矩阵,因此向量转置可以看作只有一列的矩阵,标量可以看作只有一个元素的矩阵,因此标量的转置为它本身。当两个矩阵形状一样时可以将两个矩阵相加,加法过程是对应位置的元素进行相加。
向量和矩阵相加时,例如向量b和矩阵A相加,
,表示向量b和矩阵A的每一行相加。
标量和矩阵相加或者相乘时,只需将其与矩阵的每个元素相加或者相乘。
乘法运算
矩阵乘法是矩阵运算中总最重要的操作之一,当矩阵A与矩阵B相乘得到C时,矩阵乘法需要满足矩阵A的列数必须等于矩阵B的行数,若矩阵A为m*n,则矩阵B的形状需要是n*p,则C的形状为m*p
两个元素标准乘积不是指两个矩阵中对应元素的乘积,当两个相同位数的向量x和y相乘可看作点积。
矩阵乘积分配律:
A(B+C)=AB+AC
矩阵乘积结合律:
A(BC)=(AB)C
标量乘积符合交换律,但矩阵乘积不满足,当两个向量相乘时满足交换律。
矩阵乘积转置公示:
(AB)T=BTAT
单位矩阵&逆矩阵
单位矩阵(identity matrix):在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这种矩阵被称为单位矩阵。简而言之,任意向量和单位矩阵相乘都不会改变。
单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1,除此以外全都为0,如图所示。
逆矩阵(inverse matrix):设A是一个n阶矩阵,若存在另一个n阶矩阵B,使得:AB=BA=E ,则称方阵A可逆,并称方阵B是A的逆矩阵。
例如求解线性方程组:
线性组合:(若V中向量α可以表示为:α=k₁α₁+k₂α₂+…+kₑαₑ(kₑ∈P,e=1,2,…,s),则称α是向量组α₁,α₂,…,αₑ的一个线性组合,亦称α可由向量组α₁,α₂,…,αₑ线性表示或线性表出):若V中向量α可以表示为:α=k₁α₁+k₂α₂+…+kₑαₑ(kₑ∈P,e=1,2,…,s),则称α是向量组α₁,α₂,…,αₑ的一个线性组合,亦称α可由向量组α₁,α₂,…,αₑ线性表示或线性表出。
线性子空间(linear subspace):是线性空间中部分向量组成的线性空间。设W是域P上的线性空间V的一个非空子集合,若对于V中的加法及域P与V的纯量乘法构成域P上的一个线性空间,则称W为V的线性子空间。
在线性代数里,矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合所表示,则称为线性无关或线性独立(linearly independent),反之称为线性相关(linearly dependent)。
范数
机器学习中,通常使用范数表示向量的大小,是将向量映射到非负值的函数,简单来说,向量x的范数衡量从原点到x的距离。
矩阵范数:描述矩阵引起变化的大小,
,矩阵X变化了A个量级,然后成为了B。
向量范数:描述向量在空间中的大小。
在二维的欧氏几何空间 R中定义欧氏范数,在该矢量空间中,元素被画成一个从原点出发的带有箭头的有向线段,每一个矢量的有向线段的长度即为该矢量的欧氏范数。
特殊类型矩阵和向量
对角矩阵(diagonal matrix):是一个主对角线之外的元素皆为0的矩阵,常写为diag(a1,a2,...,an) 。对角线上元素相等的对角矩阵称为数量矩阵;对角线上元素全为1的对角矩阵称为单位矩阵。(并非所有的对角矩阵都是方阵,长方形的矩阵也可能是对角矩阵。)
对称矩阵(Symmetric Matrices)是指以主对角线为对称轴,各元素对应相等的矩阵,即
当某些不依赖参数顺序的双参数函数生成元素时,经常出现对称矩阵。
单位向量(Unit Vector):是指模等于1的向量,由于是非零向量,单位向量具有确定的方向。
如果
,那么向量x和向量y相互正交,如果两个向量都有非零范数,那么两个向量之间夹角是直角。若这些向量不但正交而且范数都为1,那称为标准正交。
正交矩阵(orthogonal matrix):如果:
(E为单位矩阵)或
,则n阶实矩阵A称为正交矩阵,若A为正交矩阵。
特征分解
特征分解(Eigend ecomposition):是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。虽然任意一个实对称矩阵A都可以特征分解,但是特征分解可以并不唯一。如果两个或多个特征向量拥有相同的特征值,那么由这些特征向量产生的生成子空间中,任意一组正交向量都是该特征值对应的特征向量。
奇异值分解
分解矩阵不但可通过特征分解的方法,还可通过奇异值分解。奇异值分解在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。
奇异值分解是将矩阵分解为奇异向量和奇异值,每个实数矩阵都有奇异值分解,但不一定有特征分解。
奇异值分解将矩阵分解为三个矩阵:
A为m*n的矩阵,U为m*m的矩阵,V是一个n*n的矩阵。U和V都为正交矩阵,D为对角矩阵,但不一定为方阵。
对角矩阵D对角线上的元素称为矩阵A的奇异值,矩阵U的列向量称为左奇异向量, 矩阵V的列向量称右奇异向量。
Moore-Penrose伪逆
对于方程
,如果A可逆,我们可以求得
。当矩阵A的行数大于列数,那么方程可能没有解,当行数小于列数时,存在多个解。
使用Moore-Penrose 伪逆用来解决这类问题,来求得一个x,使得Ax和y的欧几里得距离最小。
迹运算
迹运算返回的是矩阵对角元素的和,若不使用求和符号,有些矩阵运算很难描述,而通过矩阵乘法和迹运算符号,可以清楚地表示。
行列式
行列式(determinant):det(A),是一个将方阵A映射到实数的函数,行列式等于矩阵特征值的乘积。
行列式与矩阵的区别:
参考链接:
https://baike.baidu.com/item/%E8%8C%83%E6%95%B0
https://blog.csdn.net/a6333230/article/details/87860875?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162512776416780264075317%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162512776416780264075317&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-87860875.pc_search_result_before_js&utm_term=%E8%8C%83%E6%95%B0&spm=1018.2226.3001.4187
https://www.zhihu.com/question/21874816
https://zhuanlan.zhihu.com/p/29846048
https://blog.csdn.net/hellocsz/article/details/88344987?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162513394916780271552061%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162513394916780271552061&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-2-88344987.pc_search_result_before_js&utm_term=%E8%A1%8C%E5%88%97%E5%BC%8F&spm=1018.2226.3001.4187