close
課程Outline
1. 多特性問題(Multiple features)
2. 參數調整(Parameter scaling)
3. 學習速率(Learning rate)
4. 多項式迴歸模型(Features and polynomial regression)
5. 正規方程式(Normal equation)

多特性問題(Multiple Features)

machine learning model 多半考量到的特性不會只有一個, 下圖為以房價問題為範例,考量多特性下的問題
01.png
 圖 2. 1 多特性房價問題
 
如圖 2. 1 所考量到多種特性, 包括坪數(01-1.png)、房間數(01-2.png)、樓層數(01-3.png)、屋齡(01-4.png),最後一項則是價格(01-5.png
 
會用到的一些符號如下:
 
01-6.png
 
以房價問題為例
02.png
圖 2. 2 符號範例
 
我們可以將模型改為多特性模型, 如下圖 2. 3
03.png
圖 2. 3 多特性模型
 
加上 03-1.png =1 的條件下, 可進一步將模型轉成矩陣形式, 在某些程式中使用矩陣運算會較比重覆運算(while do、for loop 等)快(matlab、Octave 等等), 如圖 2. 4
04.png 
圖 2. 4 矩陣形式多特性模型
 
此時多特性在使用梯度下降法時, 在特性更新部分公式將更改如下:
05.png
圖 2. 5 多特性模型特性更新公式
 
多特性考量下的代價函式也將變成圖 2. 6 的形式
 
06-1.png
06-2.png
圖 2. 6 多特性代價函式
 

參數調整(Feature Scaling)
 
考量問題中, 參數的範圍及單位通常較不一致, 如房價問題中的坪數(size)與房數(number of bedrooms)的範圍就有相當大的差別, 此時會得到像圖 2. 7(左)一樣相當狹長, 利用此種比例進行求解時, 由於 06-3.png 的更新不能太快, 會使得 06-4.png 更新過慢, 導致 Gradient Descent 收斂過慢。
 
07.png
圖 2. 7 參數縮放範例
 
在透過 Feature Scaling 調整後的變數, 如圖 2. 7(右)所有變數皆除以自己的最大值, 改以比例做為變數, 使變數之間的落差不會太大, 以提升 Gradient Scaling 的效率
 
最適當的是將參數調整到 07-1.png
08.png
圖 2. 8 最佳參數縮放範圍
 
標準化(Mean Normalization)
透過標準化公式 08-1.png 使原來求解變數更貼近 0, 08-2.png 在此代表總範圍, 亦能以標準差帶之
 
假設現有 08-3.png, 其範圍在 100 ~ 2000之間, 平均值為 1000
則標準化後即為 
09.png
圖 2. 9 變數正規化調整

學習速率(Learning Rate)
 
在 week 1 我們曾提到學習速率 09-1.png 會影響到 Feature (09-2.png)是否進行正確的更新(是否使得代價函式收斂), 收斂速度是否太慢
 
1. 是否正確更新?(代價函式值是否收斂?)
在探討學習速率設定前, 我們必須先探討關於 Gradient Descent 的收斂條件,, 常用以代價函式小於門檻值 09-3.png 做為收斂條件(通常設定為 09-4.png
 
10.png
圖 2. 10 代價函式與迭代次數相關圖
 
以圖 2. 10 為例, 代價函式值(y 軸)隨著迭代次數(x 軸)的增加而逐漸降低, 表示 09-1.png 所訂定的値確實能使代價函式收斂, 而當代價函式值收斂至小於 09-3.png09-4.png), 則表示以得到最佳模型
 
2. 收斂速度
可以透過代價函式迭代次數所繪製的相關圖來做判斷,以圖 2. 11 為例:
假設初始 09-2.png 為相同的情況下, 14
圖 A 能以較少的迭代次數即使代價函式收斂,09-1.png 數值屬於較佳的學習速率
圖 B 相較於圖 A 必需消耗掉較多的迭代次數才能緩緩的收斂,有 09-2.png 更新過慢的情況,此時 09-1.png 過小
圖 C 可以輕易看出隨著迭代次數的增加,代價函式值會逐漸上升,表示 09-1.png 值過大使代價函式發散
 
11.png
圖 2. 11 代價函式與迭代次數相關圖(例)
 
為何會使代價函式發散呢?
以圖 2. 12 為例,左邊兩張圖皆為發散的情況,亦即在每次 09-2.png 更新時,由於 09-1.png 過大導致更新幅度過大而跳過了頭,讓代價函式越來越發散,此時必須要適當的調小 09-1.png 數值。
 
12.png
圖 2. 12 代價函式與迭代次數相關圖(左) 代價函式與特性相關圖
 
如何選擇 09-1.png 值呢?
可以透過逐步倍數增加的 09-1.png 值來做測試
像是 0.001 -> 0.003 -> 0.01 -> 0.03 -> 0.1 ...逐步 3 倍的調高 09-1.png 值,使得收斂快又不會使代價函式發散。
 

多項式迴歸模型 (Features and Polynomial Regression)
 
有些 training data 在生成模型時,以多項式迴歸模型可能會產生更適切的模型
 
13.png
圖 2. 13 多項式迴歸模型
 
以圖 2. 13 而言,紅色叉叉為 training data
當加入二次項至模型中時(如藍色線), 模型卻時會較貼近 training data 而得到較佳的模型
但我們可以發現在後段時藍色線段會往下, 但怎麼可能房子越大, 價錢反而越低呢...
 
為了使模型能更貼近實際情況,可以透過加入三次項以將模型進行修正(如綠色線), 但必須注意到這些多次方變數會使得範圍擴大, 必須使用 Feature Scaling 來調整範圍。
 
另一種可行的調整方式, 如圖 2. 14中所示, 透過次方項開根號能使平方項影響縮小使其逐漸往上
14.png
圖 2. 14 多項式迴歸模型
 

正規方程式(Normal Equation)
 
與 Gradient Descent 以迭代漸進求解的方式不同, 正規方程式透過解析法(analytically)的方式一次求解 09-2.png
首先必須先知道什麼是 Design Matrix(X)與反應變數( 01-5.png) 矩陣
 
以圖 2. 15 為例
15.png
2. 15 正規方程式(例)
 
在圖表中有包含兩個變數(15-1.png)以及反應變數(01-5.png), 在構成 Design Matrix 前必須先加上常數項的變數(03-1.png), 並令其值皆為 1
接著將所有 training data 數值以矩陣形式填入值, 即為 Design Matrix, 而反應變數矩陣顧名思義就是反應變數(01-5.png)所構成的矩陣
以此方式可以得到 Design Matrix 與反應變數矩陣如下:
16.png
圖 2. 16 Design Matrix 與反應變數矩陣
 
正規方程式求解最佳 09-2.png 值的公式為

16-1.png

 
課程中不證明此公式
以正規方程式進行 09-2.png 值運算時,不需要先對變數做 Feature Scaling。
 
梯度下降法正規方程式的比較:
假設現在有 m 個 training data 及 n 種特性
 
梯度下降法 正規方程式
優點  優點
即使 n 大時依然可以運行的很好 不必選擇 09-1.png 值
  不必做迭代運算
缺點 缺點
需要選擇 09-1.png 值 需要計算 16-2.png
需要進行迭代運算 n 大時會非常慢(16-3.png
 
正規方程式額外探討
Non-invertible(不可逆)
何時會有 Non-invertible 的情形呢?
  1. 當問題中有兩個特性之間存在相關性過大, 會導致退化(Degenerate)而造成不可逆現象, 比方說房價問題中, 有一特性為坪數(呎), 另一特性為坪數(公尺)由於 1 公尺 = 3.28 呎, 兩特性間存在極大的相關性(能夠以其中一特性值推導出另一特性值)
  2. 問題考量太多特性, 當 m < n 時, 可以刪掉一些特性不考量, 或是只用 正規化(Regularization), 在第三週將會提到

內容大部分擷取自 Coursera online courses - Machine Learning by Prof. Andrew Ng
僅供學習交流,如有任何侵權問題,煩請不吝告知,將立即移除
有任何問題歡迎留言交流,感謝
By Lach
arrow
arrow
    文章標籤
    Coursera Machine Learning
    全站熱搜

    Lachlan 發表在 痞客邦 留言(0) 人氣()