Machine-Learning
機器學習中的偏見數據
我正在研究一個機器學習項目,其中的數據已經(嚴重)受到數據選擇的影響。
假設您有一組硬編碼規則。當它可以使用的所有數據都是已經被這些規則過濾的數據時,你如何構建一個機器學習模型來替換它?
為了清楚起見,我想最好的例子是信用風險評估:任務是過濾所有可能無法付款的客戶。
- 現在,您擁有的唯一(標記)數據來自已被規則集接受的客戶,因為只有在接受之後,您才會(顯然)看到是否有人付款。你不知道這組規則有多好,以及它們會在多大程度上影響付費到未付費的分配。此外,您還有來自被拒絕的客戶的未標記數據,這也是由於規則集。所以你不知道如果這些客戶被接受了會發生什麼。
例如,其中一條規則可能是:“如果客戶年齡 < 18 歲,則不接受”
分類器無法學習如何處理已被這些規則過濾的客戶端。分類器應該如何在這裡學習模式?
忽略這個問題,會導致模型暴露在它以前從未遇到過的數據中。基本上,我想在這裡估計 x 在 [a, b] 之外時 f(x) 的值。
你的擔心是對的——如果樣本外數據的分佈與模型訓練/測試的數據分佈顯著不同,即使是最好的模型也會失敗。
我認為你能做的最好的事情就是在你擁有的標記數據上訓練一個模型,但盡量保持模型的可解釋性。這可能意味著僅限於簡單的模型。然後,您可以嘗試推理您的模型學習的規則如何與您擁有的先前規則交互,以嘗試估計您的模型在未過濾的總體上的工作情況。
例如 - 假設您的模型發現在您的標記數據集中,客戶越年輕,他們就越有可能違約。如果您刪除了“如果客戶年齡 < 18 歲,則不接受”的先前過濾器,那麼假設您的模型將運行良好可能是合理的。