(原创)机器学习之矩阵论(三)

矩阵求导

目录

一、  矩阵求导的基本概念

1.    一阶导定义

2.    二阶导数

二、  梯度下降

1.   方向导数.

1.1 定义

1.2 方向导数的计算公式.

1.3 梯度下降最快的方向

1.4 最速下降方向的判断.

1.5 最速梯度下降的迭代式

2.   牛顿法

2.1 引入一元函数极值判别法

(1)导数分析法

(2)泰勒公式法

2.2 多元函数的泰勒展开

2.3  正定(半正定)矩阵

(1)二次型

(2)正定(半正定)的定义

(3)负定(半负定)的定义

(4)正定判别极值

2.4 正定矩阵的判别法

(1)根据特征值判断

(2)根据各阶顺序主子式判断

(3)判别正定的作用

三、矩阵求导的应用

1.  最小二乘法(线性回归)

1.1 一维模型

1.2 高维模型.

1.3 用SVD处理岭回归

2. Logistic回归

2.1 模型

2.2  最小化目标函数

 

一、矩阵求导的基本概念

多元函数极值问题,需要用到多元函数的导数,在矩阵理论里,又称为矩阵求导。

1.  一阶导定义

  设:

    𝑓: 𝑅𝑛 → 𝑅

  为一个n元一阶可微函数 𝑦 = 𝑓(𝑥1, …, 𝑥𝑛),

  定义其梯度(一阶导)向量为:

    𝛻𝑓(𝑥) = ( 𝜕𝑥1𝑓, 𝜕𝑥2𝑓, …, 𝜕𝑥𝑛𝑓)

  或者:

    𝛻𝒙𝑓(𝒙) = ( 𝜕𝑥1𝑓, 𝜕𝑥2𝑓, …, 𝜕𝑥𝑛𝑓)

  其中𝒙 = 𝑥1, 𝑥2, …, 𝑥𝑛

2.  二阶导数

  二阶导数也称为Hessian矩阵:

                       

  其中𝑎𝑖𝑗 = 𝜕𝑥𝑖𝑥𝑗𝑓

  注: 由于𝜕𝑥𝑖𝑥𝑗𝑓 = 𝜕𝑥𝑗𝑥𝑖𝑓,所以𝑎𝑖𝑗=𝑎𝑗𝑖,所以𝐻𝑓=𝐻𝑓𝑇,即𝐻𝑓n x n的实对称矩阵。

二、梯度下降

1.   方向导数

1.1 定义

  设单位向量𝒖是𝑅𝑛中的一个方向,n元函数𝑓(𝑥0)沿𝒖方向的斜率,称为为𝑓(𝑥0)在𝒖方向的方向导数。

1.2  方向导数的计算公式

              𝜕𝒖 𝑓(𝑥0) = 𝒖∙𝛻𝒙 𝑓(𝑥0)𝑇

        即:方向导数 = 单位向量𝒖和梯度向量的内积。

1.3  梯度下降最快的方向

       由方向导数的内积计算公式有:

              𝒖∙𝛻𝒙 𝑓(𝑥0)𝑇 = |𝒖| | 𝛻𝒙 𝑓(𝑥0)𝑇 | cos𝜃

        |𝒖| = 1, | 𝛻𝒙 𝑓(𝑥0)𝑇 |与𝒖无关。

  因此,当𝜃=0时,方向导数>0,取得最大值;当𝜃=𝜋时,方向导数<0,取得最小值。

1.4  最速下降方向的判断

  对于函数𝑓(𝒙)中的任意一点𝒙∈𝑅𝑛,沿着和梯度向量一样的方向时,函数递增最快;沿着和梯 度向量相反方向时,函数递减最快。因此最速下降方向为−𝛻𝑓(𝒙)。

1.5 最速梯度下降的迭代式

  𝒙(𝑡+1) = 𝒙(𝑡) – k∙𝛻𝑓(𝒙𝒕)  k为控制下降速度的常数

2.   牛顿法

2.1  引入一元函数极值判别法

(1) 导数分析法

  若𝑓’(𝑥0) = 0,且𝑓’’(𝑥0) > 0,则𝑓(𝑥)在𝑥 = 𝑥0处取极小值;

  若𝑓’(𝑥0) = 0,且𝑓’’(𝑥0) < 0,则𝑓(𝑥)在𝑥 = 𝑥0处取极大值。

(2) 泰勒公式法

  𝑓(𝑥) = 𝑓(𝑥) + 𝑓’(𝑥0)(𝑥−𝑥0) + (1/2) 𝑓’’(ξ)(𝑥−𝑥0)2

         = 𝑓(𝑥) + (1/2) 𝑓’’(ξ)(𝑥−𝑥0)2               ( ξ为(𝑥,𝑥0)或(𝑥0,𝑥)  )

  当𝑓’’(𝑥0) > 0时,由导数的保号性,在𝑥0很小的邻域内有𝑓’’(ξ) > 0,因此在𝑥0的邻域内恒有𝑓(𝑥)  > 𝑓(𝑥0),即函数𝑓(𝑥)在𝑥 = 𝑥0处取极小值。

2.2 多元函数的泰勒展开

   

  其中𝐻𝑓为Hessian矩阵,如果𝒙0点满足𝛻𝑓(𝒙0) = 𝜽(零向量),则

  (𝒙−𝒙𝟎)𝐻𝑓(𝒙0)(𝒙−𝒙𝟎)𝑇  > 0,函数𝑓(𝒙)在𝒙=𝒙0处取得极小值;

  (𝒙−𝒙𝟎)𝐻𝑓(𝒙0)(𝒙−𝒙𝟎)𝑇  < 0,函数𝑓(𝒙)在𝒙=𝒙0处取得极大值;

2.3 正定(半正定)矩阵

(1)二次型

  A是一个n阶对称矩阵,即𝐴 = 𝐴𝑇(𝑎𝑖𝑗=𝑎𝑗𝑖),设n维向量x = (𝑥1, 𝑥2, …, 𝑥𝑛),定义:

     

  为A对应的二次型(或称二次型多项式),方阵A为二次型对应的矩阵。

(2)正定(半正定)的定义

  若任意的x≠𝜽,都有:

    𝑓(𝑥1,𝑥2,…,𝑥𝑛) = 𝒙𝐴𝒙𝑇 > 0(≤0),

  则称该二次型为正定(半正定)二次型,对应的矩阵A为正定(半正定)矩阵。

(3)负定(半负定)的定义

  若任意的x≠𝜽,都有:

    𝑓(𝑥1,𝑥2,…,𝑥𝑛) = 𝒙𝐴𝒙𝑇 < 0(≥0),

  则称该二次型为负定(半负定)二次型,对应的矩阵A为负定(半负定)矩阵。

(4)正定判别极值

  如果在𝒙=𝒙0处,有𝛻𝑓(𝒙0) = 𝜽(零向量),我们称𝒙0𝑓(𝒙)的驻点:

  i)   如果𝐻𝑓(𝒙0)正定矩阵,𝑓(𝒙)在𝒙 = 𝒙0处是一个局部极小值

  ii)  如果𝐻𝑓(𝒙0)负定矩阵,𝑓(𝒙)在𝒙 = 𝒙0处是一个局部极大值

  iii) 如果𝐻𝑓(𝒙0)不定矩阵,𝑓(𝒙)在𝒙 = 𝒙0处没有极值

2.4  正定矩阵的判别法

(1)根据特征值判断

       1)引理

    对称方阵一定可以正交分解(正交对角化),即任意的对称矩阵A,必然存在一个正交矩阵Q,使得:

     

2)进行判别

              上述正交分解的式子进行换元,设𝒙𝑄 = 𝒚 = (𝑦1, 𝑦2, …, 𝑦𝑛),则有:

       

              A的每一个特征值𝜆𝑖>0(≥0),则二次型𝑓(𝑥1,𝑥2,…,𝑥𝑛) = 𝒙𝐴𝒙𝑇正定(半正定),反之也成立。

(2)根据各阶顺序主子式判断

       对称矩阵正定的充分必要条件是A的各阶顺序主子式(各阶子式的行列式)为正数,即:

     

(3)判别正定的作用

  1)多元函数的极值问题,可以通过求驻点处的Hessian矩阵是否正定来解决。

  2)使用计算机编程来判定矩阵是否正定时,一般通过各阶顺序主子式来进行判断,因为行列式在使用计算机进行计算时是绝对精确的,而特征值的求解是通过逼近的方式进行计算的,时间复杂度较大,精度较差。

三、矩阵求导的应用

1. 最小二乘法(线性回归)

1.1 一维模型

       对于一维线性回归模型,假设有样本点(𝑥𝑖,𝑦𝑖) (𝑖=1,2,…,𝑚),线性回归就是选择最佳的a,b值使:

              𝑓(𝑥𝑖) = 𝑎𝑥𝑖 + 𝑏

  满足 𝑓(𝑥𝑖) ≈ 𝑦𝑖 (理论值最接近实际值)

  即求:

    

              求梯度:

        

  并且Hessian矩阵是正定的,说明此时的a,b使得L2范数局部最小(在这里也是全局最小)。

1.2 高维模型

  对于高维线性回归模型,假设有样本点(𝑥𝑖, 𝑦𝑖) (𝑖=1,2,…,𝑚),其中𝒙𝒊∈𝑅𝑛, 𝑦𝑖∈𝑅

  找到最佳的 𝒂∈𝑅𝑛, 𝑏∈𝑅 使:

              𝑓(𝑥𝑖) = 𝑎𝑥𝑖 + 𝑏

  满足 𝑓(𝑥𝑖) ≈ 𝑦𝑖 (理论值最接近实际值)

  其中,

     

  写成矩阵的形式:

     

  即求:

     

  最小。

  求梯度:

     

  并且Hessian矩阵是正定的,说明此时的𝝎使得L2范数局部最小,𝝎为最优值。

       如果𝐴𝑇𝐴不可逆怎么办?使用岭回归。

1.3 用SVD处理岭回归

       如果矩阵𝐴𝑇𝐴不可逆,则用岭回归代替线性回归。

  线性回归:

     

  岭回归:

     

  岭回归性质:损失无偏性(无偏:估计出来的期望=实际的期望),增加稳定性,从而得到较高的计算精度。

   

2. Logistic回归

2.1 模型

  变量𝒙 = (𝑥𝟏, 𝑥2, …, 𝑥𝑛),满足线性组合函数:

    g(𝒙) = 𝜔0 + 𝜔1𝑥1 + ⋯ + 𝜔𝑛𝑥𝑛

  概率模型满足sigmoid函数:

     

       观测到m个样本数据(𝒙1, 𝑦1), (𝒙2, 𝑦2), …, (𝒙𝑚, 𝑦𝑚),其极大似然函数为:

             

2.2  最小化目标函数

  对目标函数(极大似然函数)

     

       左右同时取对数有:

              

  求其梯度,并令𝛻𝑙𝑛𝐿(𝝎) = 𝜃,得到方程组:

        

  解此方程组得到的𝝎即为最优权重。

    

      - tany 2017年10月4日于杭州

 

人工智能从入门到专家教程资料:https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.38270209gU11fS&id=562189023765

posted @ 2017-10-04 21:28  tanv  阅读(2718)  评论(0编辑  收藏  举报