数学知识(一)

对于树一类的算法,基础都是前序、中序、后续递归遍历搜索,关键操作在于在递归期间对于当前节点的操作,而这又取决于此时能够得到哪些资源及变量。对于图算法,基础在于BFS或DFS,尤其DFS用的比较多,关键也是在到达某个点时能够做的操作。

计算梯度的方法主要是解析法、数值法和BP法,解析法是一项一项的从前往后求解偏导数,多个变量时就会导致有些项是重复计算的,数值法实际使用极限的思想使得变量变化极小的值来求其此时的变化率来近似导数,BP是有forward过程,在forward之中记录下所求得的中间结果,在backward时用到这些中间结果,由于中间结果记录下来了所以在backward时直接使用而不会产生重复求解问题,提高了效率。

牛顿法作用的前提是函数连续可微,应用主要在近似逼近方程的根和最优化。在求解近似逼近方程根时,采用Taylor一阶展开式,泰勒公式的作用就在于在某点逼近原函数,其精确程度可以用其求导次数来衡量。f(x) = f(x0)+(x-x0)f'(x0)处并不是完全相等,而是近似相等,这里是将非线性f(x)转化为线性(x-x0)f'(x0)+f(x0)=0来求解,这里求得的x1并不能让f(x)=0,只能说f(x1)的值比f(x0)更接近f(x)=0,要想更加接近真实解则需要x(n+1)=x(n)-f(x(n))/f'(x(n)),所以需要迭代求解,不断的逼近。同时牛顿法逼近方恒解的过程也是可以利用函数图象外加某点切线与x轴交点来阐释的。最优化问题在于求解函数的极大极小值问题,把他转化为求解函数导师等于0的根问题,又是近似逼近问题,此时需要将Taylor公式展开到二阶导\[x:=x-\frac{y'}{y^{''}}\],而其高维表示形式是\[\theta :=\theta -H^{-1}J(\theta )\],其中利用到一阶偏导数向量和Hessien矩阵。实际中,牛顿法求解极值点要比梯度下降法求解收敛更快,因为牛顿法可以看到两步,而梯度下降法只是关注此刻最陡峭的方向来行动。

机器学习中矩阵乘法包括一般的矩阵乘法和点乘dot,即仅仅是对应元素相乘。正交矩阵的特殊性质导致他有着计算上的优势,所以应用广泛。矩阵分解有着重要的作用,最简单的是通过矩阵的特征值和特征向量来分解矩阵,将矩阵A分解为A=Vdiag(λ)V−1,其中V是特征向量组成的矩阵,而λ则是特征值。一个实对称矩阵一定可以特征值分解,一个矩阵的所有特征值都大于0,那么就是正定的;如果都大于等于0,那么就是半正定的;如果都小于零,那么就是负定的;如果都小于等于零,那么就是半负定的。只有矩阵所有特征值为0时,它才是奇异矩阵。实数对称矩阵相乘可以用特征值分解优化,f(x)=xTAx,且||x||2=1;如果x是A的一个特征值,那么函数结果就是对应的特征向量;函数的最大值和最小值是对应特征值得最大值和最小值。除了特征值分解,更具一般性的SVD奇异值分解方法,分解形式为 A=UDVT,假设A是m×n的矩阵,那么U是m×m的矩阵,D是m×n的矩阵, V是n×n的矩阵。且这三个矩阵有特殊的结构:U和V都是正交矩阵,D是对角矩阵。另外矩阵求逆的基础是矩阵是方阵。向量的平方是向量的转置乘以向量,而向量转置乘以向量的导数是二倍的向量。

概率论中,概率分布是用来描述变量怎么分布在各个状态的。描述变量分布的方式要取决于这个变量是离散,还是连续。随机变量的概率密度函数使用PDF拉力刻画,写作P(X)或者P(X,Y),具有归一性。离散型随机变量使用PDF表示出每个状态出现的概率,而连续随机变量并没有给出这个状态出现的概率,它乘以一个区间表示状态在这个区间的概率p(x)δx,在这个区间上变量可能满足某种分布规律从而有了均匀分布、正态分布等。边缘规律对于离散型变量使用求和形式,对于连续使用积分形式求得。条件概率引入贝叶斯公式求解。条件概率的链式法则P(x(1),…,x(n))=P(x(1))P(x(2)|x(1))P(x(3)|x(1)x(2))…。两个变量的协方差用来描述两个变量线性依赖关系的强弱,如果扩展到向量表示变量则生成的是协方差矩阵。高斯分布扩展到高维包括二维是多方差标准分布。

线性代数中的独立和不相关不等价,因为独立代表着每时每刻A和B都没有关系,约束性强。而不相关来源于两者协方差为0,但是这是统计意义上的不相关,不代表每时每刻没有关系,数值上的表现不意味着两者独立。

线性代数的知识对于机器学习来说在于表示数据和操作数据的方法,是一种表示和操作的方法,而操作的方向由统计学知识给定。


数学中映射的概念之上是“仿射”,“仿射”带来的是仿射变换,是线性变换,由平移translation、缩放scale、反转flip、旋转rotation、扭曲sheer这些原子变换组成。

采用正交矩阵施加的变换称为正交变换,而傅里叶变换、余弦变换、walsh-hadamard变换都是正交变换。而正交之上是“共轭”概念,即P1*Q*P2=0则说明矩阵P1和P2是共轭矩阵。

线性代数中的线性空间的基本元素是向量,函数空间的基本元素是函数,函数空间就是满足一定性质和结构的函数集合,他的基就是一组满足某种条件的函数,该空间中的其他函数都可以由这组基线性组合而成。傅里叶变换就是给出了一组基,要求利用每个基线性组合成这一信号(函数)的组合系数,或者说是在这组基下的坐标。而且傅里叶变换的基是一组正交的三角函数,他们善于模拟连续变化且具有极强规律性和周期性的函数,所以傅里叶变换在一维信号处理领域非常适用,但是在二维信号处理例如图像处理领域中傅里叶没有优势因为不适合,因为图像没有周期性而且数据量巨大。

信号处理领域中,信号与函数等价,卷积操作盛行是因为卷积操作适用于信号处理。信号处理是将一个信号空间映射到另外一个信号空间,通常就是时域到频域,映射前后函数范数不变,即能量不变。而且信号不仅仅声音信号,声音信号可以以时间和频率作为主线来衡量,但是图像也是信号,他可以以空间坐标来衡量,二者的处理方法相近。信号处理时,其t时刻的输入为x(t),输出为y(t),系统的响应函数为h(t),按理说,输出与输入的关系应该为Y(t)=h(t)x(t),但是实际上系统的输出不仅与系统在t时刻的响应有关,还与它在t时刻之前的响应有关,而且系统有个衰减过程。这个过程可能是离散的,也可能是连续的,所以t时刻的输出应该为t时刻之前系统响应函数在各个时刻响应的叠加,这就是卷积,用数学公式表示就是y(s)=∫x(t)h(s-t)dt。卷积操作的发力点在于描述线性时不变系统(线性系统是根据系统的输入和输出关系是否具有线性来定义 满足叠加原理的系统具有线性特性。时不变是指系统的参数不随时间而变化,即如果T[x(n)]=y[n]则 T[x(n-n0)]=y[n-n0],而线性时不变系统就是线性+时不变系统)的输入和输出的关系,即输出可以通过输入和一个表征系统特性的函数(冲激响应函数)进行卷积运算得到,而冲击函数的代表是冲量。但是卷积从数学上看是一种积分运算,积分运算代表着求面积,离散的情况下是求和,即叠加。卷积神经网络中卷积可以过滤,卷积核也叫滤波器,具有平滑效应和展宽效应,之所以具有平滑效应是因为卷积核与输入像素相乘之后相加是在把一个点的像素值用它周围的点的像素值的加权平均代替。信号处理中的卷积定理指的是函数卷积的傅立叶变换是函数傅立叶变换的乘积,具体分为时域卷积定理和频域卷积定理,时域卷积定理即时域内的卷积对应频域内的乘积;频域卷积定理即频域内的卷积对应时域内的乘积,两者具有对偶关系,这种对偶关系可以简化运算,或者说卷积定理揭示了信号在时域和频域之间的对应关系。此外,卷积操作类似于多项式相乘过程,多项式相乘需要乘法和加法来合并同类项,实际这些同类项就是一系列函数,构成函数空间,也即信号空间。而多项式乘法可以看做一系列向量内积运算,所以卷积可以看做一系列向量内积运算。

冲量和动量的意义:冲量F*t表示极短时间内物体碰撞时极大的变化的力所产生的作用,是力对时间的累积效果。动量p是质点的质量m与其速度v的乘积(mv)。在一个封闭系统内动量的总和不可改变。物理上冲量F*t=mΔv,即冲量表示动量的改变量,物体动量的改变,等于物体所受外力冲量的总和,推倒过程:在恒力F作用下,质量为m的物体在时间t内,速度由v变化到v′.根据牛顿第二定律,有F=ma式中F为物体所受外力的合力.等式两边同乘时间t,Ft=mat=mv′-mv。如果不是恒力而是变力,因为变力只会在方向和大小两个维度上变化,所以两边可以以积分的形式或离散求和的形式再次相等。

范数的意义:范数分为阶数,1阶、2阶......无穷阶等,不同阶范数有不同的定义和计算方法以及功用。向量范数代表向量所表示的集合的大小,矩阵范数代表矩阵的大小,如此可以将不可比较的变量变为可比较的。机器学习中,L1正则化ℓ1-norm能增加稀疏性利于特征选择(因为很多参数都为0或接近于0则他们没什么贡献因为乘以0只能是0,所以即使特征很多,稀疏性也可以选择出主要的特征),L2正则化ℓ2-norm能防止过拟合。添加了正则化项的损失函数就类似于将有约束问题通过罚函数法转化成了无约束问题,其中需要罚因子。另外对于机器学习中范数的应用,还有一种说法是“L1正则假设参数的先验分布是Laplace分布,L2正则假设参数的先验分布是Gaussian分布”。

借鉴文章:

http://blog.csdn.net/tiandijun/article/details/40080823




猜你喜欢

转载自blog.csdn.net/ingwfj/article/details/77888609
今日推荐