I used to be an adventurer like you, then I took an arrow in the knee. — Lots of NPC guards (The Elder Scrolls V: Skyrim)
在前面的文章中一直反覆提到 Data/Concept drift 等關於資料變化會引起問題的概念,但除了在 [Day 04] 部署模型的挑戰 — 資料也懂超級變變變!? 做了名詞解釋以外,並沒有更深入的討論,所以今天就讓我們來詳細的談談產品應用時會遇到的資料問題吧。
另外,今天的標題其實是想取 "色色" 跟 "變態" 之間的關係,搭配生物學上 "變態" 那種改變的概念來形容資料的變化哦,然後今天的 quote 是守衛的名台詞,太牽強了,連自己都覺得不得不解釋哈哈哈
在產品應用時會遇到的資料問題主要有兩種:
其實這個真的蠻直白的,所以這邊再把前面的定義精簡提一下就好了。
當模型訓練好之後,必須持續地監控與評估輸入的資料才能偵測到上述的各種改變。
下圖為偵測變化的工作流程:
*圖片來源:MLEP — TensorFlow Data Validation
在實務上我們可以使用 TensorFlow Data Validation (TFDV) 作為驗證資料的工具。
它的功能如下:
而實際的作法為比較類別型特徵的 L-infinity distance、數值型特徵的近似 Jensen-Shannon divergence。
其中 L-infinity distance 又稱為 Chebyshev distance,簡單來說就是各個座標軸之差的最大值,例如 2D 就代表在 x 軸的差與 y 軸的差取最大值:
*圖片來源:Wikipedia — Chebyshev distance
TFDV 為具擴縮性的描述性統計且搭配 Facets interface 可視化,除了用在訓練 Pipeline 中,它還有以下用途:
而關於怎麼使用 TFDV 請參考官方教學 Get started with Tensorflow Data Validation 即可。
以上就是今天的內容啦,明天見囉!