iT邦幫忙

2021 iThome 鐵人賽

DAY 22
0
AI & Data

後端工程師的ML入門理解與Vertex AI系列 第 22

R^2 決定係數 | ML#Day22

到目前為止,我們靠著不斷嘗試和Vertex的幫助之下,順利地走完一個週期。

了解概論 -> 命題 -> 準備資料 -> 訓練模型 -> 部署 -> 應用(預測)

那麼接下來,回到一個大家都很注重的問題:如何讓模型變得更好。

在這之前必須要先了模型訓練完之後,拿到的評估函數意義。

而這其中,最直觀的就是R^2,也就是決定係數

這個係數的數值介於0~1之間,在說明模型是否有效,以及其模型解釋能力的大小。

基本上這個值需要0.6以上才派得上用場,不過0.6只是個大概的範圍,事實上跟過我們做的模型應用於哪一種科學比較有關係,例如社會科學、農業科學、醫學科學等等,不同領域的應用希望最低的R^2會有所不同,可能需要0.7或0.8以上也不一定。

然而我們尚屬於實驗性質的階段,其實心裡大概抓有個0.6就謝天謝地。

數值越接近1表示越好,因為模型越能解釋資料,相反越趨近於0,表示越差,因為能夠解釋的東不多。

可以粗糙的這麼想,0.5表示模型可以解釋50%的資料,假設我們模型是

y=aX1+bX2+cX3

但是實際上有某些參數,我們可能是未知並沒有挑進來處理到,因此實際上應該要長這樣子。

y=aX1+bX2+cX3 + 未知

如果剛好遇到未知 所佔比較不顯著的時候,y的數值基本上可以由aX1+bX2+cX3決定出來,這個機會大致占了50%。

請注意,這不是很精準的描述,只是個希望能讓更多人理解的概念。

所謂的未知 可能也不只有一種參數而已,其實可能是這樣: 未知參數1 + 未知參數2 + 未知參數3 + ...... + 隨機誤差

換句話說,能夠找到更多的未知(關鍵)參數,模型的解釋能力就越強。

既然關鍵是怎麼找出更多有效的參數,也反應了為什麼 資料的好壞 佔了如此的重要性。


到此我們整理一下模型的優化有哪些關鍵:

1. 主要函式:

選用組成模型的主要函式是否洽當,例如是用「線性回歸」還是「複迴歸」組成模型的基底結果是不一樣的,迴歸可套用的方程式其實有好幾種,幸運的是Vertex自己會去找出一個適當的函式來訓練模型,我們不用煩惱,當然我們也不知道Vertex最後挑選的結果。

2. 合適的係數:

每個參數前面的係數到底是多少比較洽當,靠著不斷的訓練(數學運算)而得出,結果並不一定是最精準或正確的數值,但一定是相對適合的數字。

3. 未知的參數:

如果挑進錯誤的參數,訓練的過程中自然會篩選掉(顯著程度),所以多挑參數進來訓練,對於有自動化的套件或框架,或像Vertex這種自動處理的服務,是小事一件,多花費一點效能而已,參數的數量是多多益善,多挑到一個關鍵的參數都是賺,因為未知 之所以未知 ,就是因為我們無法掌控那部份的情況,如果能夠多減少一部分的未知 ,是不是相對的已知部分會變多,那麼模型的解釋能力就會更好。

4. 其他:

由於自己並非資料科學的專業人士,無法把所有可以考慮的面向總結地全部列出來,但知道還有其他方式可以作為優化的參考,例如了解資料的分布,做一些數值上的轉換等等(transformation),這個部分就請有興趣的人自行鑽研了。


最後值得一提的是,R^2雖然越接近1越好,但實際上若R^2=1或大於0.95以上不見得一定是好事,可能不小心把某些幾乎是答案的參數納入進來,這等於沒有意義,因此要回頭過來重新檢視資料的組成。


上一篇
介紹Vertex(4) | ML#Day21
下一篇
其他名詞解釋 | ML#Day23
系列文
後端工程師的ML入門理解與Vertex AI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言