機器學習數學基礎 1 回歸 梯度下降

2021-07-24 18:03:25 字數 2886 閱讀 5666

本系列文章將總結一些機器學習中應用到的數學基礎,想要學好機器學習,首先得去理解其中的數學意義,不一定要到能夠輕鬆自如的推導中間的公式,不過至少要認識這些公式,不然一些相關的**就看不懂,這個系列的文章將著重於機器學習的數學描述這個部分。

回歸在數學上就是通過乙個點集,用一條曲線去擬合這些點,如果這條曲線是直線,就稱為線性擬合,如果曲線是一條二次曲線則稱為二次回歸。

用乙個簡單的例子來說明回歸。一套房子的價值取決於面積、房間的數量、地段、朝向等,這些影響房子**的因素稱為特徵,特徵在機器學習中是乙個很重要的概念,有很多**專門**這個東西。在這,為了簡單,假設我們的房子**只受到面積這一因素的影響。

假設有乙份房屋銷售的資料如下:

面積(m² )

銷售**(萬元)

123250

150320

87160

102220

…………

以x軸是房屋的面積,y軸是房屋的售價,可以繪製繪製散點圖如下:

如果來了乙個新的面積房子,假設在銷售**價錢的記錄中沒有,那應該怎麼估計該房子的售價?

我們可以用一條曲線去盡量擬合這些資料,如果有新的輸入過來,我們可以將曲線上這個點對應的值返回。如果用一條直線去擬合,可能是下面這樣子:

綠色的點就是我們想要的**點。

為了描述機器學習,首先給出一些概念和常用的符號,在不同的機器學習書籍中可能有一定的區別。

(1)房屋銷售記錄表-訓練資料集或者訓練資料,是機器學習中的輸入資料,一般記為x;

(2)房屋售價-輸出資料,記為y:

(3)擬合函式(或者稱為假設或者模型),記為y=h(x);

(4)訓練資料的數量,一條訓練資料是由一對輸入資料和輸出資料組成的,輸入資料的維度(特徵的個數),記為n.

下面是乙個典型的機器學習過程,首先給出乙個輸入資料,我們的演算法通過一系列的過程得到乙個估計的函式,這個函式有能力對沒有見過的新資料給出乙個新的估計,也稱為構建模型。就如同上面的線性回歸函式。

我們將用x1,x2……xn去描述特徵裡面的分量,比如x1=房間的面積,x2=房間的朝向,等等,我們可以做出乙個估計函式:

θ在這兒稱為引數,在這兒的意思是調整特徵向量中每個分量的影響力,就是到底是房屋的面積更重要還是房屋的地段更重要。為此,如果我們令x0 = 1,就可以用向量的方式來表示了:

我們程式也需要乙個機制去評估我們θ是否比較好,所以需要對我們做出的h函式進行評估,一般這個函式稱為損失函式(loss function)或者錯誤函式(error function),描述h函式不好的程度,在下面,我們稱這個函式為j函式。

在這兒我們可以做出下面的乙個損失函式:

這個損失函式是去對x(i)的估計值與真實值y(i)差的平方和作為錯誤估計函式,前面乘上的1/2是為了在求導的時候,這個係數就不見了。

如何調整θ以使得j(θ)取得最小值有很多方法,其中有最小二乘法,是一種完全是數學描述的方法,在stanford機器學習開放課最後的部分會推導最小二乘法的公式的**,這個在很多的機器學習和數學書上都可以找到,這裡就不提最小二乘法,而談談梯度下降法。

首先描述一下梯度下降的流程:

(1)首先對θ賦值,這個值可以是隨機的,也可以讓θ是乙個全零的向量;

(2)改變θ的值,使得j(θ)按梯度下降的方向進行減少,直到得到全域性最小值。

為了更清楚,給出下面的圖:

這是乙個表示引數θ與損失函式j(θ)的關係圖,紅色的部分是表示j(θ)有著比較高的取值,我們需要的是,能夠讓j(θ)的值盡量的低。也就是深藍色的部分。θ0,θ1表示θ向量的兩個維度。

在上面提到梯度下降法的第一步是給θ給乙個初值,假設隨機給的初值是在圖上的紅色十字點。

然後我們將θ按照梯度下降的方向進行調整,就會使得j(θ)往更低的方向進行變化,如圖所示,演算法的結束將是在θ下降到無法繼續下降為止。

當然,可能梯度下降的最終點並非是全域性最小點,可能是乙個區域性最小點,可能是下面的情況:

上面這張圖就是描述的乙個區域性最小點,這是我們重新選擇了乙個初始點得到的,看來梯度下降將會在很大的程度上被初始點的選擇影響而陷入區域性最小點。

下面我將用乙個例子描述一下梯度減少的過程,對於我們的函式j(θ)求偏導j(偏導的意義就是描述每個維度(特徵)方向的變化對損失函式值的影響程度):

下面是更新的過程,也就是θi會向著梯度最小的方向進行減少。θi表示更新之前的值,-後面的部分表示按梯度方向減少的量,α表示步長,也就是每次按照梯度減少的方向變化多少。

乙個很重要的地方值得注意的是,梯度是有方向的,對於乙個向量θ,每一維分量θi都可以求出乙個梯度的方向,我們就可以找到乙個整體的方向,在變化的時候,我們就朝著下降最多的方向進行變化就可以達到乙個最小點,不管它是區域性的還是全域性的。

用更簡單的數學語言進行描述步驟2)是這樣的:

09 回歸 梯度下降學習筆記

股價 過去股價 明日 自動駕駛 周圍影像 方向盤角度 推薦系統 商品 購買機率 找到乙個function set 收集訓練資料,定義loss fun,挑出最好的fun gradient decent 隨機選初始值 計算l對w微分 if negative increase w 線性方程,原先把不同x,...

1 回歸 一元線性回歸 代價函式 梯度下降法

1 回歸是達爾文表弟發現的,就是說人類總體有乙個平均身高。那個高個子生的孩子都個高,矮的孩子生的矮。但是他們的下一代大部分都往平均身高長,也就是說特別高的人,他們的孩子會很高,但是往往比他們自己矮。特別矮的人他們生的孩子會矮一些,但是會比自己的父母高,他們都有這種趨勢。表弟管這個叫做回歸。2 一元線...

李巨集毅機器學習 1 回歸

案例學習 寶可夢的cp值 step 2 goodness of function step3 best function w 1 w 0 eta frac 多次迭代直到達到極小值 對於有多個引數的模型,將微分改為偏微分,分別更新每個引數,以兩個引數 w 和 b 為例 存在的問題 saddle poi...