机器学习数学知识积累总结

作者:admin 来源:未知 点击数: 发布时间:2020年09月14日

  给定一组房价数据$x^{(i)},y^{(i)}$,其中x可以是标量scala,也可以是向量,比如可以为房屋面积,还可以包含房屋年龄,地段等信息,y为房屋价格。我们需要找出x和y之间的关系,也就是一个,将来给定输入的一个未知数据,我们可以预测房价。模型可以先以线性回归模型$y= \omega x + b$作为预设的模型,我们的任务就是要根据已知的数据来求解对应的$\omega和b$模型参数。

  如果函数自变量为为标量,其一阶导数我们很熟悉$f(x)$.例如$(x^2)=2$

  如果函数的自变量为标量,其二阶导数我们会非常熟悉$f(x)$,例如$(x^2)=2$

  被称为二次型。比如$x_1^2+x_2^2+x_3^2+2x_1x_3$ 这种所有项都是二次齐次形式的式子被称为二次型。

  给定一个对称矩阵$A\in R^{nxn}$,(因为正定往往用于矩阵伴随的二次型正负的判定,因此我们只研究对称矩阵的正定性),如果对于所有$x\in R^n$,都有其二次型$X^TAX \geq 0$则称矩阵$A$为半正定矩阵;此时,其特征值都是非负数,即$\lambda(A) \geq 0$.

  梯度等于0是在$x_k$处取得极值的必要条件。要研究其是极大还是极小值,我们需要继续研究二阶项,如果$f(x_k) 0$则取得极小值,相反,如果$f(x_k) 0$则在$x_k$处取得极大值

  梯度$g(x_k) = 0$求得的$x_k$是候选驻点,要研究极大极小甚至鞍点需要看二次项,也就是二次型$\delta ^TH(x_k)\delta$的正负性,这可以由$f(x)$的二阶导数海森矩阵的正定负定来判断:

  当$H(x_k) \succ 0$正定时,$x_k$这一点为局部极小点(反之则为局部最大点)。如果$H(x_k)$是一个不定矩阵,则是一个鞍点。

  2. 计算驻点对应的海森矩阵,判断其正定性:如果是正定则是极小值,如果负定则是极大值,如果不定则是鞍点

  由于解析解大多数情况下无法直接求得,因此人们发明了优化迭代的数值计算方法

  2.决定搜索方向$d_k$,使得函数在该方向迭代时数值下降。这是不同优化算法最核心的差别!

  在梯度下降法中,为简化问题,我们直接把泰勒级数的二阶项省略,通过选取负梯度方向作为迭代方向。但是我们知道二阶项一般来说并不是非常小(虽然相对一阶项来说确实够小),因此直接使用梯度下降法中选取的一阶梯度负方向可能并不是$f(x)$的全局最优方向。牛顿法就是将二阶项添加进泰勒级数展开式从而探究最优迭代方向的成果。

  上面的泰勒展开中,只有$d_k$为未知量,我们将$f(x_k+d_k)$视为$d_k$的函数,来寻找最优的迭代方向:

  这个方向将会比梯度下降法中的负梯度方向更加精准(因为泰勒展开更加精准,因此下降方向将更加准确!),因此迭代收敛必将更快!

  1. 如果实际工程中的维数n较大,而海森矩阵H本身是nXn的矩阵就将变得更加庞大,

  拟牛顿方的核心思想是使用一阶的量去近似逼近二阶的量(H矩阵以及H矩阵的逆)。

  有了上面介绍的矩阵梯度及优化方法,我们再回过头来看看房价预测的线性回归问题求解。

  由于梯度下降法每次迭代时,所有的样本数据都参与计算,如果样本量很大的话,迭代非常缓慢,因此实际工程中可能使用随机梯度下降法,每一个样本都做一次迭代。但是这可能导致抖动比较大

  仿射集:如果一个集合$C \in R^n$是仿射的,则$C$中任意两点间的直线也在该集合中,也就是

  比如, $S = \{X \le 1, X \ge 0 \}$, 第一个是范数球为凸集,第二个为半空间,为凸集合,他们的交集也为凸集

  由这个凸集的交集是凸集这个性质很容易得出:有限个半空间和半平面的交集为凸集

  其几何意义为: 连接函数曲线上的任何两点组成的线段都在函数的上方,这样的函数为凸函数

  二阶充分必要条件: 如果函数f二阶可导,则函数f是凸函数的充分必要条件是其海森矩阵为非负定矩阵$H(x) \succeq 0$

  在机器学习中,最重要的一点是我们需要将实际问题抽象转化为一个数学的优化问题,一旦这个抽象转换完成,实际上问题就已经解决。特别地,如果我们能转化为一个凸优化问题,则更是能够得到全局最优解。因为对于优化问题,有非常成熟的数值计算方法迭代计算出对应的最优解。比如:如果是无约束优化问题,直接使用梯度下降,拟牛顿迭代等即可解决;对于有约束的优化问题,我们可以使用对偶理论将有约束问题转化为无约束优化问题后也可以使用对应的迭代算法求解。

  对于$AX_i = \lambda X_i$,如果所有的特征值都不相同,则相应的所有的特征向量线性无关,此时矩阵A就可以被对角化为:

  2.$A$的不同特征值所对应的特征向量不但线性无关,而且相互正交,也就是说特征向量组成的矩阵U为正交矩阵。即:$A=U \Lambda U^T ,UU^T=U^TU=I$

  2.求对应于每个特征值的特征向量:通过以下方程求解$(\lambda I - A)x=0$得到基础解系。对于单特征值,只需将属于它的特征向量规范化;对于r重特征值,需要先求出属于它的r个线性无关的特征向量,然后对这r个特征向量进行正交规范化,这样就可以得到n个两两正交的单位特征向量;

  从上面的式子可以看出要最大化 $X^TAX$,必须使得X满足$AX = \lambda X$,将已知条件再带进去,就得到:

  其中$W \in R^{dXd}$是变换矩阵, $Z \in R^{dXN}$是样本在新空间中的表达。我们的目标就是寻求这样的变换矩阵W$,

  投影解释: $W = [W_1,W_2,...,W_{d}]$, 为$d$个d维向量,$Z_n = W^TX_n$, 也就是说数据样本从高维向低维空间中变换后的向量就等于转换矩阵乘以高维空间原始样本向量。

  特别地,如果我们先只看一维的线^TX_n$就是二者的内积!!而内积又和投影有关,我们接下来继续看PCA到底在做什么:

  从上图可以看到,所谓PCA就是指样本协方差矩阵(方阵)按照特征值大小排序(因为要使得投影后数据方差最大化等价于二次型最大化等价于寻找最大特征值!),分别找到相应特征值对应的特征对象。。

  我们知道在PCA特征分解中是对样本数据的协方差矩阵做的,而更一般性地,对于非方阵,我们就要研究奇异值分解了。

  奇异值分解SVD是特征分解的广义化,因为特征分解是对方阵来说的,而SVD奇异值分解则对任何矩阵都成立

(编辑:admin)
http://hamacconcept.com/banxianxingji/281/