定理补充描述:
1.Mercer定理说,任何满足对称性和正定性的二元函数k(x,y)都能找到 Hilbert space 和函数 使得 k(x,y) =
2.矩阵的特征值和特征向量
3.矩阵的内积和范数
4.机器学习之范式规则化
正则化有什么用?为什么有用?
L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。
L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”
**L0L1都可以实现稀疏,既然L0可以实现稀疏,为什么不用L0,而要用L1呢?**个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。
为什么需要稀疏呢? 特征选择和可解释性两方面。
L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0,
为什么要用L2呢?学习理论(防止过拟合)和优化计算(有助于处理 condition number不好的情况下矩阵求逆很困难的问题)两方面。
condition number就是拿来衡量ill-condition系统的可信度的,
如果方阵A是非奇异的,那么A的conditionnumber定义为:
也就是矩阵A的norm乘以它的逆的norm。所以具体的值是多少,就要看你选择的norm是什么了。**如果方阵A是奇异的,那么A的condition number就是正无穷大了。**实际上,每一个可逆方阵都存在一个condition number。对于AX=b,我们可以得到以下的结论:
对condition number来个一句话总结:conditionnumber是一个矩阵(或者它所描述的线性系统)的稳定性或者敏感度的度量,如果一个矩阵的condition number在1附近,那么它就是well-conditioned的,如果远大于1,那么它就是ill-conditioned的,如果一个系统是ill-conditioned的,它的输出结果就不要太相信了。
补充: 高方差即过拟合,受样本扰动较大,此时应该降低参数值,加入l2正则化,而降低参数值同时最小化损失函数,则增大参数的正则化参数。
理解正则化 看懂明白下图即可:
5.如何理解矩阵的[秩]
结合方程求解代入理解,**矩阵的秩是线性代数中的一个概念。在线性代数中,一个矩阵A的列秩是A的线性独立的纵列的极大数(最大线性无关组)。通常表示为r(A),rk(A)或rank A。**百度百科。
什么是秩,如何找出一个矩阵的秩?
我们直接从定义出发,即找到矩阵A的线性无关列的列数。那什么是线性无关呢?
简单通俗地讲,假如有n个方程式,有m个系数,那么可以组成一个n*m的矩阵,但是这n个方程式可能会有重复可约的部分,例如 2x+3y=5和4x+6y=10是等价的(当然这个最直接的等价了,也叫二者时线性相关的,在转化为矩阵时直接将二者合并并化简),那么此时我们就只剩n-1个方程式,此时形成的矩阵的秩就是n-1。
当然两方程式不一定就如我举例那样明显,此时就可以通过上述的数学定义来进行判断是否线性相关。
秩有什么意思?
「秩」是图像经过矩阵变换之后的空间维度
「秩」是列空间的维度
对矩阵A左乘一个Trotate矩阵,也就是对A所表示的矩阵空间,进行变维处理(mn维和nb相乘,即对原来n维的b个向量变维到m维空间中,其中m*n矩阵中,m为维度,n为变化后的m维度的基,因此其实是改变基)
若矩阵有n个不相交的基,那么表示这个矩阵的列空间就是n维的,这个矩阵的秩就是n个。
“不相交”是一个几何上的意义,转化到矩阵上就是线性独立的列,因此一个矩阵A的列秩是A的线性独立的纵列的极大数。
最大线性无关组数: 2*3矩阵秩为2
~~ PCA中,对矩阵进行降维,就是降低矩阵空间的维度,也就是减少行数,减少列空间的维度。
歌者不想跟你说话,并向太阳系扔出了一个发着白色光芒,秩为2的矩阵
!!!!!矩阵的秩和向量的维数没有关系。矩阵的秩是空间的维度,高空间维数低向量维数,则为高维下的低维表现。 因此矩阵的秩是低维空间(最大线性无关组)的维数。
左乘进入列空间,右乘进入行空间。
6.np难问题
P是否等于NP”的意思是说“如果一个问题的解可以在多项式时间内被验证,那么是否可以在多项式时间内找到这个解”。
几乎没有一个数学家、物理学家或者计算机科学家相信P真的等于NP——那样的话,所有的密码将很容易被**,很多困扰人们的数学问题将有办法被解决,人工智能将突破连连……一个想到答案和验证答案所需时间相当的世界,会是我们所生存的世界吗?
7.凸近似
7.1最小二乘法
最小二乘法的产生是为了根据实际测量值来计算真实值,使各项误差的平方和最小。
算术平均数只是最小二乘法的特例,适用范围比较狭窄。而最小二乘法用途就广泛。
最小二乘法使各项误差的平方和最小,会得到一个关于y的表达式,如果对y求导,使其为o,则解5为y/n。如果用x来表示y,那么就可以求出最下化误差下的最有系数。
简单来讲,对于y=ax+b,a为系数组成的矩阵,最小二乘法给出了我们一个关于y的标准(各项误差的平方和最小),然后我们根据y=ax+b可以进一步推出此标准下的相关系数求解。
!!上述的标准的含义就是假设在此标准下处理后的数据可以表达真实数据。
7.1.2最小二乘法与正态分布
最小二乘法是建立在上述标准的假设下产生的,那么这种假设是否合理,是否能够真的表达真实数据?
emsp;高斯从概率统计的角度对假设进行了分析。将误差用联合概率来表示(假设每种测量误差都是一种概率下产生的误差,即每种误差都对应一个概率,联合概率就是各种误差的概率之积),联合概率最大则表示最真实的情况。联合概率公式如下:
联合概率中各种误差的概率我们是不知道的,但是可以列出一个联合概率公式,求导后,带入最小二乘法的解(假设二乘法是正确的)
带入后解得一个关于各种误差的解,而这个解恰好就是正太分布概率表达式。
这说明,二乘法的假设是在各概率符合正太分布情况下的,也就是说当误差的分布是正太分布时,最小二乘法得到的就是最有可能的值。
如果误差时由多个随机、独立的因素造成的,那么根据中心极限定理,可以认为此时的误差就是正太分布的。高斯从概率论的角度进一步证明了最小二乘法的正确性。
最小二乘法通过最小化误差表达式(各项误差的平方和最小)来拟合真实数据
高斯则通过最大化联合概率(各种误差的概率之积)来拟合真实数据
7.1.3极大似然估计(由结果猜测条件)
在讲最小二乘法时谈到高斯最大化联合概率函数来拟合真实数据,而极大似然估计就是讲联合概率函数的因变量由y转为x(导致误差的自变量),即:
简单讲就是我们建立一个关于参数的函数,这个函数交似然函数,求最大似然估计的问题,就变成了求似然函数的极值。
7.1.4贝叶斯公式
贝叶斯公式目的是为了解决在某件事发生的概率下另一件相关事发生的概率(根据先验概率估测后验概率),公式如下:
8.简写
“s.t.”,指 subject to,受限制于…。
det(T),求矩阵T的行列式
9. 行列式的本质是什么?
!!!!行列式一定是方阵。
一个矩阵的行列式就是一个平行多面体的(定向的)体积,这个多面体的每条边对应着对应矩阵的列。
他就是在给定一组基下,N个向量张成的一个N维广义四边形的体积。这就是行列式的本质含义。
单位阵,对角线为1,几何意义上来说就是各个维度的基都是标准基,都为1。
若A有相同的两行,那么det(A)=0
那3为空间来说,那么就是一个33的矩阵,如果有两行一样,那么由列构成的空间,尽管使3维的,但是另一行再怎么变,都是3维中的一个平面,对于33的行列式 就是3维基下3个向量张成的一个广义四变形,而行相同的情况是构不成的,或者说它构成的高为0,体积为0,所以行列式的值为0 。
行列式是线性变换的伸缩因子
行列式=0,矩阵不可逆;行列式>1,放大;行列式<1,缩小;行列式为负数则改变了基的“左右手法则”。
10如何理解矩阵的乘法
对为什么矩阵相乘必须是 mn * n * p= mp的矩阵解释:因为mn种的n,首先矩阵由于矩阵的定义,规整的格式才使得约去了未知变量只保留了系数,其次n表示对 np种的最多n个式子进行线性变化,为了规整格式,所以不参与的用0表示,但是必须列出所有的n行,生成的m*p矩阵表示m行的式子对应原来p-1个系数和1个值。
把矩阵看作函数,这样或许很多疑惑就可以迎刃而解。 例如矩阵乘法不满足交换律。
11.矩阵的特征向量和特征值在几何中的意义
参考链接
参考链接
明白矩阵的特征向量和特征值在几何中的意义对线性映射的降维算法有极好的帮助。以下是个人笔记
对于N阶的方阵,若有一在n维空间标准正交基表示下的n维向量和左乘此矩阵后得到的在此方阵空间下的投影向量共线,那么这条直线上的所有向量都是该矩阵的特征向量,Av=yv,其中v表示向量,y即表示该特征向量对应的特征值。
n阶方阵的特征向量数等于其秩数=n。关于矩阵的秩参见以往的问题总结。
特征值唯一,但是特征向量不唯一,因为对于一条特征向量所在的直线,对应唯一的一个特征值,即这条线上的任何一个特征向量经过矩阵变化后都会缩放一个固定一样的倍数,这个数就是特征值。
为什么说明白矩阵的特征向量和特征值在几何中的意义对线性映射的降维算法有极好的帮助,这需要进一步对矩阵的特征空间进行研究。
当我们反复运用矩阵乘法时,向量值会越来越贴合到最大特征值对应的特征空间。
即求矩阵的特征值,对角矩阵即由特征值组成。
特征值越大的特征向量方向指明了运动度的的最大方向,但是这是建立在特征向量是正交的前提下。
对于一般的矩阵,其特征向量不是正交的,所以就需要奇异值分解了。
两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去
12.相似矩阵
定义:
13.非奇异矩阵
奇异矩阵是线性代数的概念,就是对应的行列式等于0的矩阵,首先判断是否是方阵,如果不是的话就谈不上奇异,然后如果其行列式值为0,则是奇异矩阵。
14.正定矩阵(代数及几何)
14.1代数
定义:A 是n阶方阵,如果对任何非零向量x,都有xT A x >0 ,其中xT 表示x的转置,就称A正定矩阵。
性质:
正定矩阵的行列式恒为正;
实对称矩阵AA正定当且仅当AA与单位矩阵合同;
两个正定矩阵的和是正定矩阵;
正实数与正定矩阵的乘积是正定矩阵。
判别对称矩阵A的正定性有两种方法:
-
求出A的所有特征值。若A的特征值均为正数,则A是正定的;若A的特征值均为负数,则A为负定的。
-
计算A的各阶顺序主子式。若A的各阶顺序主子式均大于零,则A是正定的;若A的各阶顺序主子式中,奇数阶主子式为负,偶数阶为正,则A为负定的。
半正定矩阵定义:设A是实对称矩阵。如果对任意的实非零列向量x有xTAx≥0x有xTAx≥0,就称A为半正定矩阵。
在不同的基下,同一个线性变换对应的矩阵是不同的
14.2 几何
浅谈正定矩阵-知乎
几何中的正定矩阵-知乎
更为直观的理解是从几何图形的角度去看,正定矩阵就是一个椭球。
椭球的轴向:特征向量
椭球的轴长:特征值
椭圆的半轴长应该是特征值倒数的开方,不是特征值的开方。
椭球只适合正定矩阵,不适用表示特征值为负的矩阵
15 实对称矩阵
16 矩阵的四个子空间
零空间具体计算基向量例子:
行空间和零空间垂直,列空间和左零空间垂直,
意味着n维空间的向量可以投影到行和零空间上,m维空间的向量可以投影到列和左零空间上(原始矩阵m*n)
简单理解(二维下,行空间为x轴一维空间,零空间为y轴一维空间,坐标轴的任意一向量可以投影到xy轴)
简单解释:矩阵A*向量x=b,即向量进入了矩阵的n维空间,其中n维空间可以划分维相互垂直的行空间和零空间,x投影到二者上,又因为零空间是AX=0,所以投影到零空间的部分乘积映射的m空间就是0,所以主要就是行空间的投影参与运算 AX=b.
实例:4*[1,1]=[4,4],此时如果y轴式零空间,那么就会变成4*[1,0]=[4,0]=[4] (感觉实例有问题,只供简单参考)
17.特征值和奇异值
首先,矩阵可以认为是一种线性变换,而且这种线性变换的作用效果与基的选择有关。
线性变换的作用可以包含旋转、缩放和投影三种类型的效应
只有确定了基向量之后,一个矩阵才对应一个线性变换;否则,只要换一组基,同一个矩阵对应的线性变换就不同了。
那为什么我们经常还说『一个矩阵对应了一个线性变换』呢?因为一般来说,如果不明确指出,我们都默认使用标准基。所以对角化其实就是要用一组比标准基更好的基来描述线性变换,也就是由特征向量组成的基。那有没有比这个更好的基呢?有呀,就是由特征向量组成的规范正交基,而这正是谱定理所研究的对象
17.1奇异值
奇异值的物理几何意义
奇异值和特征值的异同
奇异值在降维中的应用
17.2 特征值
特征值分解其实是对旋转缩放两种效应的归并。(有投影效应的矩阵不是方阵,没有特征值)。特征向量由Ax=得到,它表示如果一个向量v处于A的特征向量方向,那么Av对v的线性变换作用只是一个缩放。
也就是说,求特征向量和特征值的过程,我们找到了这样一组基,在这组基下,矩阵的作用效果仅仅是存粹的缩放。
17.3 总结
我感觉特征值分解其实是一种找特殊角度,让旋转效果不显露出来,所以并不是所有矩阵都能找到这样巧妙的角度。仅有缩放效果(不缩放则要求基是正交的),对于实对称矩阵,特征向量正交。
所以我们在实际应用中,都要去找正交基。但是特征向量很可能不是正交的,那么我们就需要奇异值分解了
总结一下,特征值分解和奇异值分解都是给一个矩阵(线性变换)找一组特殊的基,特征值分解找到了特征向量这组基,在这组基下该线性变换只有缩放效果。 而奇异值分解则是找到另一组基,这组基下线性变换的旋转、缩放、投影三种功能独立地展示出来了。
SVD可以用于PCA降维,来做数据压缩和去噪。也可以用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。同时也可以用于NLP中的算法,比如潜在语义索引(LSI)。基础算法很重要。
-------------------特征值矩阵等于奇异值矩阵的平方,特征值矩阵是指对原矩阵A和A的转置矩阵进行求解,有左乘和右乘, 选最小特征值数目的矩阵,因此一个矩阵的奇异值数是最小行数或者列数,对上述SVD在降维中的应用补充,因为pca是计算样本矩阵的协方差矩阵的最大的n个特征向量构成的矩阵,而奇异值矩阵式对应ATA的特征矩阵的开根号,SVD有个好处,有一些SVD的实现算法可以不求先求出协方差矩阵XTX,也能求出我们的右奇异矩阵V,也就是说,我们的PCA算法可以不用做特征分解,而是做SVD来完成。这个方法在样本量很大的时候很有效。实际上,scikit-learn的PCA算法的背后真正的实现就是用的SVD,而不是我们我们认为的暴力特征分解。
18. 凸优化方法
最小二乘是构建目标函数中的一种方法;
梯度下降是求解最优目标函数中的一种方法。