1. 程式人生 > >機器學習(四)——最小二乘(Least squares)

機器學習(四)——最小二乘(Least squares)

藉助舉證導數的工具,現在讓我們繼續以封閉的形式找到θ的值,使得J(θ)最小化。我們從用矩陣向量表示法重寫J開始。

給定一個訓練集,設計矩陣X為mxn矩陣,(實際上是mx(n+1),如果我們包括攔截項),其中每一行為訓練樣本的輸入值:


另外,讓是包含訓練集中所有目標值的m維向量:


現在,由於,我們可以很容易的證明:


因此,利用一個向量z的的性質,即,我們有


下面給出一些矩陣之間的關係,不做證明:


最後,為了最小化J,讓我們找出它與θ有關的導數。結合方程(2)和(3),我們發現


因此:


在上面推導過程的第三步中,我們用到了一個定理,即一個實數的跡是它本身;第四步用到了 trA=trATtrA=trAT 這個定理,最後一項不含 θ

θ 求導時可捨去;第五步使用了等式 (5) ,令 AT=θ,B=BT=XTX,C=IAT=θ,B=BT=XTX,C=I ,以及等式 (1) ,即 AtrAB=AtrBA=BT∇AtrAB=∇AtrBA=BT 。為了最小化 JJ ,我們令導數為0,就得到了它的 正規方程(normal equations) :


因此,最小化 J(θ)J(θ) 的 θθ 的閉式解(解析解)如下:


如何使用等式(5),下面給出了說明: