码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习数学基础之矩阵理论(三)

时间:2017-10-04 16:41:24      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:条件   计算机   正数   最小二乘法   1.2   增加   9.png   计算   一点   

矩阵求导

目录

一、  矩阵求导的基本概念

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日于杭州

机器学习数学基础之矩阵理论(三)

标签:条件   计算机   正数   最小二乘法   1.2   增加   9.png   计算   一点   

原文地址:http://www.cnblogs.com/tan-v/p/7625756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!