iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 26
0

Ref.: Data Dependencies

記得有句話Garbage in, garbage out嗎?Machine Learning中一直不斷的資料資料資料(input feature),這些資料只要有所變動,model也會跟著改變。預期內的改變還好,預期外的改變就很頭痛。

軟體工程寫test驗證code,機器學習verify and monitor data

Machine Learning中要持續注意哪些feature是真的需要、哪些不是這麼必要;同時也要思考加哪個feature進來可以改善、加進來後要踢掉誰比較不會有效能上的差異。還有,也要觀察沒用的feature如果巨大變動會不會造成難以想像的後果。這邊列出幾個依賴關係:

  • 可靠性Reliability:多觀察些自己的data,看看這個資料的來源可不可靠?

    • 拿溫度計去量積雪厚度?
    • 資料來自已經crash的server?
  • Versioning:計算這些data的系統有沒有改變過?

    • 頻率?
    • 當系統改變時你如何得知?
      資料可能來自於更上層的運算,上層改變而導致的資料改變,會讓model也難以預期。

    可以用複製上層資料的方式,確認資料沒問題後再將上層資料餵進model。

  • 必要性Necessity:新加feature後的cost是不是可以接受的?
    我們會需要更好的正確性,因此加了一些可以讓正確性提高的feature。這同時會增加maintenance負擔(想想如果feature突然有問題,你是不是要去monitor他?)。

    不要因為短期利益而去新增feature。

  • 關聯性Correlation:某些feature有相當程度的正相關或負相關。

    • 是不是有些feature你在使用前因為他們太緊密而需要拆分開來的?
  • Feedback Loops:Model直接或間接被自己Training data影響,繞過來一圈影響到自己也算。

    文中舉到了預測股票的model,Model A預測股票價格,Model B買賣股票。但如果Model A出了錯誤,高抬X公司股票價格,讓Model B有錯誤的訊息去買進X公司股票。如此一來大家一窩蜂跟著買X公司股票,導致Model A又input了錯誤的市場動態訊息,更高抬X公司股票。最後勢必造成一場泡沫,一場鬱金香狂熱事件


如同課後問答題問的:
可能造成Feedback Loops有:

  1. 用購買熱門程度當依據的書籍推薦系統:書籍推薦很可能造成購買,又拿購買量當依據,會讓推薦系統不夠公正。
  2. 交通量預測海灘附近的壅塞程度,用海灘人潮當依據:但去海灘的人可能會根據交通預測為壅塞而改變主意,導致其實很少人要前往海灘,也就是其實根本不壅塞。
  3. 大學排名預測用學校的選擇性(錄取學生的百分比)當依據:但會造成排名高的很多人應徵,若學校錄取人數不變,很多人應徵的學校其學校的選擇性就很大(他可以從很多學生挑出他要錄取的,也會造成錄取學生的百分比下降)。然後又因為學校選擇性大,排名又更高。這種錯誤會一直循環下去。

上一篇
[Day 25] Static vs. Dynamic Inference
下一篇
[Day 27] Fairness(上)
系列文
跟著Google學ML30

尚未有邦友留言

立即登入留言