機器學習-多元線性迴歸及其手寫實現梯度下降

一. 多元線性迴歸簡介

1.在迴歸分析中,如果有兩個或兩個以上的自變量,就稱爲多元迴歸。事實上,一種現象常常是與多個因素相聯繫的,由多個自變量的最優組合共同來預測或估計因變量,比只用一個自變量進行預測或估計更有效,更符合實際。因此多元線性迴歸比一元線性迴歸的實用意義更大。

2.多元線性迴歸算法步驟:

  1. 解析數據集,分割特徵和label
  2. 定義損失函數
  3. 定義梯度下降函數
  4. 根據特徵數量初始化構建權重W和bias-B
  5. 訓練,得到訓練的權值W和偏差B

3.核心公式:
在這裏插入圖片描述

二. Python 代碼手寫實現

  1. 解析數據集,分割特徵和label
    在這裏插入圖片描述
    這裏是一個商業廣告分析的小數據集,有三個特徵,總共200個樣本用來訓練。

  2. 定義損失函數
    在這裏插入圖片描述
    這裏用來計算訓練過程中的損失值,用的是均方差損失函數。

  3. 定義梯度下降函數
    在這裏插入圖片描述
    梯度下降函數,根據均方差求導反向更新權重W和偏差B。

  4. 根據特徵數量初始化構建權重W和bias-B,進而用梯度下降函數進行訓練
    在這裏插入圖片描述
    經過訓練之後,損失值有明顯的下降。圖片中損失值還比較大,可能是因爲樣本分佈不是一個多元的線性分佈。

  5. 減低一個特徵,通過matplotlib中3D畫圖工具來可視化顯示
    在這裏插入圖片描述
    在這裏插入圖片描述

作爲基礎的機器學習知識,必須要掌握具體的實現過程。在面試和筆試中都會有所涉及。
代碼傳送門 >>>>>>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章