機器學習公開課筆記第二週,線性回歸的梯度下降法

2022-03-17 11:03:23 字數 2502 閱讀 5907

當我們以線性回歸的模型來擬合我們的資料集時,我們如何來確定假設函式的引數值呢?

首先我們以兩個引數為例,即hθ(x) = θ0 + θ1x,也就是乙個一次函式,而代價函式

,我們為了盡量擬合資料集,也就是選擇合適的θ0(截距), θ1(斜率)使代價函式j(θ0,θ1)最小,

假設θ0=0,代價函式j就轉變為關於θ1的二次函式,因為開平方,所以二次項的係數一定是正數(高中數學),所以代價函式j一定有最小值

此時我們可以畫出j(θ1)的一種可能的二次函式分布圖

由圖可知,當θ1=1時,j最小

我們可以任取曲線上的乙個θ,讓它往最小值的方向移動,那我們怎麼知道該往左移還是右移?

我們觀察曲線發現,最低點(最小值)的斜率為0,最低點的左側斜率小於0,右側大於0,只需讓θ減去該點的斜率就可以讓它往最低點移動,當斜率為0時它就停在了最低點,也就是收斂於1

那我們可以畫出關於代價函式j(θ1,θ2)的三維圖

我們同樣選取任意一點(θ1,θ2),通過減去他們各自的在該點的斜率來到打最低點

數學上稱這種求自求點斜率的方法為偏導,這種通過減去斜率的方法稱為梯度下降法(gradient decent)

那我們如何確定向最低點移動的速度呢?

一方面是由該點的斜率來決定,另外由乙個係數α學習速率決定,

1,α不能設太大,太大有時會越過最低點,不能使θj收斂於最低點使結果發散

2,α太小會使程式執行速度太慢

3,隨著θ越來越接近最小值,偏導數越來越小,所以沒有必要逐漸隨著迭代次數的增加減小學習速率α

對每次的移動必須同時進行,並和成各個方向上的位移,即每一次減偏導必須對每個θj同時進行

兩個引數的線性回歸求完偏導數之後每次迭代的公式

多個引數的線性回歸求完偏導數之後每次迭代的公式

梯度下降法會到達區域性最低點(由起點決定,即θ1和θ2的初始值決定),不一定會到達全域性最優點

二,梯度下降法的優化方法

1,特徵縮放(feature scaling)

當不同的特徵值大小範圍不一致時,演算法執行效率會很低,我們一般把它縮放到-1<=x<=1或,-0.5<=x<=0.5,通過(x-mean)/range公式,

2,學習速率α

如何確定學習速率並不是一件簡單的事

一種方式是繪製一張橫座標是迭代次數,縱座標是代價函式的函式圖,看是否單調遞減,如不是需要減小學習速率α

總的來說,學習速率太小,代價函式收斂太慢,程式雲星很慢,學習太大,代價函式沒有單調遞減,甚至可能會發散,也就到不了最小值

3,特徵和多項式回歸(features and polynomial regression)

當我們拿到資料集先可以進行預處理,使機器學習的結果更好

1)我們有時可以根據各個特徵之間關係來合併特徵,比如說房子的長度和寬度,我們可以讓他們相乘合成乙個新的特徵面積

2) 我們之前線性回歸的假設函式都是多元一次函式,如果我們的想要多元多次的假設函式呢?hθ(x) = θ0 + θ1x2, 我們可以用新的特徵來表示x'來表示x2,一樣能轉化為多元一次表示假設函式hθ(x) = θ0 + θ1x',

不過需要注意的事,x的範圍也隨著新的特徵放大了,要進行特徵縮放

4,正規方程(normal equation)

梯度下降法和正規方程各有各的優點,以下是他們的區別,總的來說,

1,梯度下降法需要選擇學習速率,正規方程不需要

2,梯度下降法需要迭代,正規方程不需要

3,梯度下降法時間複雜度是(kn2),正規方程時間複雜度是o(n3)

當特徵少於10000時,使用正規方程,否則使用梯度下降法

機器學習公開課筆記 2 多元線性回歸

一元線性回歸只有乙個特徵 x 而多元線性回歸可以有多個特徵 x 1,x 2,ldots,x n 假設 hypothesis h theta x theta tx theta 0x 0 theta 1x 1 ldots theta nx n 引數 parameters theta 0,theta 1,...

機器學習公開課筆記第五週之機器學習系統設計

以設計垃圾郵件分類器為例,當我們設計機器學習演算法時,先在24小時內設計出乙個簡單的演算法,跑一遍訓練資料,再根據資料的反饋結果 高偏差,高方差,或對某一類資料誤判比例過高等等 調整我們的演算法,反覆迭代優化 一,提取特徵 從大量垃圾郵件訓練資料中找出出現頻率最高的10,000到50,000個單詞,...

機器學習公開課筆記第五週之優化機器學習演算法

一,提高機器學習演算法準確度的方法 當我們的機器學習演算法不能準確 我們測試資料時,我們可以嘗試通過以下方法提高我們機器學習的演算法準確度 1 獲得更多的訓練樣例 2 減少特徵數 3 增加特徵數 4 增加多項式特徵 5 增大或減小 lambda 二,評估機器學習模型 如果只是單獨的使用乙個訓練集,我...