《Andrew Ng 機器學習筆記》這一系列文章文章是我再觀看Andrew Ng的Stanford公開課之後自己整理的一些筆記,除了整理出課件中的主要知識點,另外還有一些自己對課件内容的了解。同時也參考了很多優秀博文,希望大家共同讨論,共同進步。
網易公開課位址:http://open.163.com/special/opencourse/machinelearning.html
上篇博文介紹了梯度下降算法的線性回歸,本篇将介紹另外一種線性回歸,它是利用矩陣求導的方式來實作梯度下降算法一樣的效果。
本篇博文涉及到的線性代數知識有:矩陣,矩陣求導,轉置矩陣,矩陣的迹,矩陣相乘以及相關的定理。
首先先介紹一些線性代數中的知識點:
(1)矩陣求導:定義
表示m×n的矩陣,那麼對該矩陣進行求導可以用下式表示,可以看出求導後的矩陣仍然為 m×n。(A∈
)
(2)矩陣的迹(trace):. 對于一個n階的方陣(n×n),它的迹(tr)為對角線元素之和。
矩陣的迹的相關定理: a. 對于一個實數,它的迹即為它本身 : tr a = a
b. 如果AB是一個方陣,那麼 tr AB = tr BA
c. 由此可推導出 trABC = trCAB = trBCA(将末尾循環前移) d. 假設A 和 B為方陣,a為實數,那麼又可以推導出以下的特性: trA = trAT
tr(A + B) = trA + trB
tr aA = atrA e. 對迹進行求導,具有以下特性:
現在開始利用矩陣求解:
定義一個設計矩陣X:
定義目标集合為:
因為有:
是以可得到:
利用這個定理:
此時,代價函數J(θ)又可以寫為:
對J(θ)進行求導可得:(得到紅框這一結果,需要用到上面提到的幾個定理,此處沒有做具體解析)
最後,要使得miniminzes J(θ),即:
至此,我們通過正規方程組的方法求解了參數θ。