写在前面:重温XGBoost的时候,发现很多基本的数学知识已经忘得差不多了。借温习XGBoost的机会,就重新走一遍与XGBoost沾边的那些年的高等数学与线性代数吧!
泰勒公式
- 定义:泰勒公式是一个用函数在某点的信息描述其附近取值的公式。
- 基本形式:
- 一阶泰勒展开:
- 二阶泰勒展开:
- 一阶泰勒展开:
- 迭代形式:假设
,将
在
处进行泰勒展开:
梯度下降法(Gradient Descend Method)
在机器学习任务中,需要最小化损失函数,其中
是要求解的模型参数。梯度下降法常用来求解这种无约束最优化问题,它是一直迭代方法:选取初值
,不断迭代,更新
的值,进行损失函数的最小化。
迭代公式:
- 将
在
处进行一阶泰勒展开:
- 要使得
,可取
,则:
- 这里的
是步长,可通过line search确定,但一般直接赋一个小的数。
牛顿法(Newton's Method)
- 将
在
处进行二阶泰勒展开:
- 为了简化分析过程,假设参数是标量(即
只有一维),则可将一阶和二阶导数分布记为g和h:
- 要使得
极小,即让
极小,可令:
,求得
,故
- 参数
推广到向量形式,则有:
,这里H是海森矩阵
海森矩阵
海森矩阵(hessian matrix)。是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。海森矩阵常用于牛顿法解决优化问题。在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开泰勒多项式来逼近原函数,此时函数在某点泰勒展开式的矩阵形式中会涉及到海森矩阵。
- 一元函数
,其中
- 二元函数
,
- 其中
,
- 将上式写成矩阵形式,则有:
,
- 即:
,
- 其中:
是
在
点处的海森矩阵,它是由函数
在
点处的二阶偏导数所组成的方阵。
参考资料:
[1]GBDT-wepon.pdf
[2]黑塞矩阵_百度百科