機器學習筆記-迴歸(Regression)

Regression:Output a scalar。

Regression可以用於預測股票市場、無人駕駛、推薦系統,這裏的例子是可以預測寶可夢的CP值

Step 1:Model

所謂的Model就是a set of function。在這個例子中,我們可以把function寫成
y=b+w⋅xcp,因爲b跟w可以帶入各種值,所以function有無窮多個。這個model我們稱之爲Linear model:y=b+∑wi⋅xi (wi:weight,b:bias).

Step 2:Goodness of Function

首先準備好training data
在這裏插入圖片描述
我們需要使用Loss Function衡量function的效果好壞
Loss Function L: Input:a function,output:how bad it is
此時,可以如下定義Loss Function:

在這裏插入圖片描述
將Loss Function可視化繪圖,圖上每個點就是一個function,圖上藍色代表loss value很小,紅色代表loss value很大
在這裏插入圖片描述

Step 3:Best Function

在這裏插入圖片描述
可以用線性代數迅速求得解。還可以使用更general的方法,能夠用在各種不同的task上,這個方法就是Gradient Descent(梯度下降).
在這裏插入圖片描述

Gradient Descent首先隨機選取初始值,然後計算此處切線的斜率,斜率如果小於0,如圖上小猴子位置,顯然切線左邊高右邊低,此時應該把參數向右邊移以減少Loss的值。如果斜率大於0,說明切線左邊低右邊高,應該把參數向左邊移以減少Loss的值。

在這裏插入圖片描述
learning rate控制學習速度的快慢
在這裏插入圖片描述
有時候經過多次迭代會停在local minima,不是我們想要的global minima,所以不同的隨機會得到不同的結果,很看人品

在這裏插入圖片描述
當有兩個參數的時候,Gradient Descent的過程如上圖所示

在這裏插入圖片描述
Gradient Descent可視化過程如上圖所示。顏色代表Loss的值,越深代表值越小
在這裏插入圖片描述
參數如果走到一個saddle point(鞍點),Gradient Descent也會停下來

公式推導

在這裏插入圖片描述
How’s the results?
在這裏插入圖片描述
可以看出,在Testing Data的error略大於Training Data的error

Selecting another Model
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
根據上面的模型我們發現, 越複雜的model在訓練集上的error越小
在這裏插入圖片描述
一個比較複雜的model並不一定總是在testing data上給我們比較好的performance。

Overfitting就是model在training data上表現很好,在testing data上表現不好。
應對Overfitting的方法:

  • 收集更多的數據。

  • 以前的模型有一些隱藏的因素沒有考慮進去。所以我們需要重新設計一番

根據寶可夢種類採用不同的function
在這裏插入圖片描述

Regularization(正則化)

我們使用新的Loss Function:

使用這個Loss Function找到的最好的function不止可以讓L最小,同時還要是w很小的function。w很小的Function意味着Function是smooth(平滑)的。我們相信在多數的狀況下,smoother function更像是正確的function。λ設置的大一些,找到的function就會越smooth。
在這裏插入圖片描述
從上圖中可以發現,λ越大,Training Error越大。
我們希望選到smooth function,但是不要too smooth。
選擇λ,獲得最好的model。

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