2 機器學習中的線性回歸

2021-09-10 01:37:44 字數 1625 閱讀 9169

這是我接觸到的第乙個機器學習演算法—線性回歸演算法

仍然是乙個**房價的問題,前面提到了這是一種監督學習,水平座標為房子的面積,縱座標為房價,你所要做的就是擬合出一條線來盡可能的逼近這些點,找出其中的規律。這也是乙個回歸問題。什麼是回歸?回歸就是用之前的資料來**出乙個準確的輸出,比如說房價。

我們提到的資料集就是訓練集(training set),而我們擬合的線就是我們所作的假設(hypothesis)–用h來表示,我們給乙個輸入x,就會有乙個對應的輸出y,那麼可以說h就是乙個從輸入x到輸出y的函式對映。下圖就是監督學習的方式,我感覺有必要深刻的理解。

前面提到了假設h,如何去表示這個假設呢?我們可以假設:

這是乙個單變數線性回歸,因為只有乙個特徵輸入x

也可以假設

這是乙個多變數線性回歸,因為有多個特徵輸入x

先來介紹一下單變數線性回歸的吧,多變數的原理上差不多。

(1)代價函式j(θ)

我們定義了乙個假設h,我們如何去判斷我們的h是否合適的,這時候我們要用到代價函式j。有點類似與方差的平均值,看下圖:

我們現在有三個點,而h是那條直線,當x分別取123的時候,直線上也會對應三個點,那麼這三個點和本身資料的三個點 yi 就會有誤差,而因此代價函式j就是從誤差入手,可以定義為:

(2)引數θ

前面定義了乙個假設函式,那麼我們的目的就是要通過改變h中的θ引數的值來使得我們的代價函式的值趨近於最小。比如說下圖中,通過改變引數的值來使得最終的代價函式的值到達最底部。(直觀的理解,當然現實中的代價函式可能不會這樣只有乙個最底部,可能會有好多好多的坑等你踩!)

(3)梯度下降法

好,我們的目的有了,方法呢?我們如何去求θ使得代價函式最小呢?應用梯度下降法。下圖是吳恩達老師課上的例子,這正是梯度下降法的思想:想像你站在乙個山頂上,環顧四周,目的就是要找乙個下山的方向使得你邁出一步後,下降高度最大,然後如此反覆,我們就會邁著小碎步一直走啊走啊,走到山坡上的乙個區域性最低點。

這是梯度下降法引數更新的基本公式形式:

其中α是學習的速率(learning rate),它的值越大你的步子也越大,太小的話迭代速度緩慢,太大會造成越過極小值點。後面一項就是對代價函式求偏導數。每一次都同時讓所有的引數減去學習速率乘以代價函式的導數。

機器學習線性回歸 機器學習中的簡單線性回歸步驟

簡單線性回歸,這是一種基於自變數值 x 來 因變數值 y 的方法。假設這兩個變數是線性相關的。因此,我們嘗試尋找一種根據特徵或自變數 x 的線性函式來精確 響應值 y 我們將按照之前的資料預處理資訊圖表那樣來執行相同的步驟 其中第三相關庫matplotlib是用來視覺化資料的。匯入資料集 檢查缺失資...

機器學習學習筆記(2) 線性回歸

線性回歸演算法據說是機器學習中的hello world,相對簡單,機器學習的具體演算法主要有三步 1 為假設函式設定引數,通過假設函式畫出一條直線,然後根據輸入的點得到 值。2 將測試值帶入損失函式,計算出乙個損失值。關於損失函式的定義,以後再討論 3 通過得到的損失值,利用梯度下降等優化方法,不斷...

機器學習 線性回歸

可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...