機器學習-線性回歸(單變量,多變量)


單變量線性回歸

模型描述

   

代價函數。

  即討論如何選擇預測函數中的參數θ0和θ1,使得函數與實際數據點盡量好的擬合。使平方差盡量小。

  m指訓練集的樣本容量。改變θ0和θ1求代價函數J(θ0,θ1)函數的最小值。也叫平方誤差函數或平方誤差代價函數

  

  若只有一個參數得到的代價函數是一個碗狀。兩個參數得到的是三維空間的碗狀圖,一般用等高線圖表示,即下圖第二圖。

               

  中心是最小值點。

梯度下降

  一種可以自動找到使函數J最小的θ0,θ1算法。使函數最小化,不止適用於線性函數。

   

  原理:選中一點,環顧360度,找到最快下山的那個方向點,邁一步,不斷重復,直到找到最低點或局部最低點。

  特點:若從不同點出發下山,很可能會得到不同的局部最優解。

  數學原理:

  α表示學習率,即每次要邁多大的步子。當接近局部最低點時,梯度函數會自動逐漸縮小步伐。

  :=在計算機中是賦值操作,=是判斷是否等於。

  θ0,θ1是同步更新,注意下圖四個步驟地順序。

   

線性回歸的梯度下降算法

    

  只有全局最優。也叫Batch梯度下降:每一步梯度下降都遍歷了整個訓練集樣本。

  高數上有正規方程組方法可以求出代價函數最小值。不過梯度下降算法適用於大的數據集

線性代數回顧

  4x3的矩陣指某一個矩陣。R4x3所有4x3矩陣的集合。大寫字母表示矩陣,小寫表示數字。

  向量是只有一列的矩陣,n維向量。R4指所有4維向量的集合

   

  矩陣相乘可以用來解決線性回歸問題中參數θ0和θ1的計算問題。而不需要梯度下降算法等迭代算法。矩陣乘法不可交換,可組合律。單位矩陣Inxn

   

  逆矩陣:兩者相乘=單位矩陣。 方陣才有逆矩陣。

    Condave軟件的pinv(A),好多軟件也有公式直接求逆矩陣。

    不存在逆矩陣的矩陣可以理解為奇異矩陣或退化矩陣。

  矩陣轉置:i行變第i列。

多變量線性回歸

多功能

      

多元梯度下降法

              

  使梯度下降算法使用技巧一:均值歸一化,使收斂加快。

   

  使梯度下降算法使用技巧二:學習率α,算法更新規則之一。以確保梯度下降正常工作。

  希望找到一個θ能最小化代價函數J(θ)。但若下圖曲線是往上或者上下浮動,說明學習率太大,越過最低點了,要盡量使學習率低點。

   

特征和多項式回歸

  有時通過定義新特征會得到更好的模型。例:預測房價,有兩個參數,房子長與深度,若認為一個特征x = 房子長*房子深,可以決定房子價格,則最終可以認為h(θ)=θ01x。

   

  上圖除了三次函數還有其他選擇:

  要學會尋找特征,函數的多選擇性。

正規方程

   

  上圖方程若是遇到不可逆矩陣怎么辦?計算機有兩個計算逆的方法:pinv和inv,pinv即使處理非可逆矩陣,也會出來結果,稱為偽逆。兩者區別,是進階知識。

  若矩陣是奇異矩陣或不可逆,則先看特征里面是否有多余的特征,若多余則刪除;再看是否有過多的特征,可以刪不必要的特征或使用正規化。

   

  交作業流程:

  先看pdf文件,明確要求並編寫代碼。再在Octave中運行,

  代碼:A = eye(5);輸出一個標准矩陣。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM