1. 程式人生 > >機器學習數學基礎之矩陣理論(三)

機器學習數學基礎之矩陣理論(三)

gis 引入 定義 增加 2017年 理論值 nbsp 得到 正數

矩陣求導

目錄

一、 矩陣求導的基本概念

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

機器學習數學基礎之矩陣理論(三)