Dữ liệu thiên vị trong học máy


18

Tôi đang làm việc trong một dự án Machine Learning với dữ liệu đã bị sai lệch (nặng nề) bởi lựa chọn dữ liệu.

Giả sử bạn có một bộ quy tắc mã hóa cứng. Làm thế nào để bạn xây dựng một mô hình học máy để thay thế nó, khi tất cả dữ liệu nó có thể sử dụng là dữ liệu đã được lọc theo các quy tắc đó?

Để làm cho mọi thứ rõ ràng, tôi đoán ví dụ tốt nhất sẽ là Đánh giá rủi ro tín dụng : Nhiệm vụ là lọc tất cả các khách hàng có khả năng không thanh toán.

  • Bây giờ, dữ liệu duy nhất (được gắn nhãn) bạn có từ các khách hàng đã được bộ quy tắc chấp nhận, bởi vì chỉ sau khi chấp nhận, bạn mới thấy ai đó trả tiền hay không (rõ ràng). Bạn không biết bộ quy tắc này tốt đến mức nào và chúng sẽ ảnh hưởng đến phân phối được trả tiền đến không phải trả như thế nào. Ngoài ra, bạn có dữ liệu chưa được gắn nhãn từ các máy khách đã bị từ chối, một lần nữa do bộ quy tắc. Vì vậy, bạn không biết điều gì sẽ xảy ra với những khách hàng đó nếu họ đã được chấp nhận.

Ví dụ: một trong những quy tắc có thể là: "Nếu tuổi của khách hàng <18 tuổi thì không chấp nhận"

Trình phân loại không có cách nào để tìm hiểu cách xử lý các máy khách đã được lọc theo các quy tắc này. Làm thế nào là phân loại được cho là để tìm hiểu mô hình ở đây?

Bỏ qua vấn đề này, sẽ dẫn đến mô hình được tiếp xúc với dữ liệu mà nó chưa từng gặp phải trước đây. Về cơ bản, tôi muốn ước tính giá trị của f (x) khi x nằm ngoài [a, b] ở đây.


8
Cách thức này thường được xử lý trong đánh giá rủi ro tín dụng là bằng cách không lọc một tỷ lệ nhất định của người nộp đơn theo các quy tắc. Một số ít ứng viên được nhận ngẫu nhiên, và được gắn cờ như vậy.
Matthew Drury

Điều này thực sự tốt để biết. Có lẽ tôi thậm chí có thể thiết lập những thứ để làm như vậy.
Laksan Nathan

1
Khi tôi giải thích vấn đề này cho những người không phải là chuyên gia, tôi vẽ một đám mây (thực tế) và một đa giác xấp xỉ đám mây (mô hình). Tôi hiển thị các lỗi dương tính giả và lỗi âm tính giả. Rõ ràng là tôi cần cả hai lỗi để cải thiện mô hình, vì vậy để ước tính đám mây tốt hơn.
MSalters

Chuẩn bị bài thuyết trình của tôi ngay bây giờ. Sự tương tự này thực sự có ích, cảm ơn!
Laksan Nathan

Điều này được gọi là tiến thoái lưỡng nan thăm dò-khai thác.
seanv507

Câu trả lời:


12

Bạn có quyền được quan tâm - ngay cả những mô hình tốt nhất cũng có thể thất bại một cách ngoạn mục nếu việc phân phối dữ liệu ngoài mẫu khác biệt đáng kể so với phân phối dữ liệu mà mô hình được đào tạo / thử nghiệm.

Tôi nghĩ điều tốt nhất bạn có thể làm là đào tạo một mô hình về dữ liệu được dán nhãn mà bạn có, nhưng cố gắng giữ cho mô hình có thể hiểu được. Điều đó có nghĩa là chỉ giới hạn trong các mô hình đơn giản. Sau đó, bạn có thể cố gắng giải thích làm thế nào các quy tắc mà mô hình của bạn học được có thể tương tác với các quy tắc trước đó mà bạn có, để cố gắng ước tính mô hình của bạn có thể hoạt động tốt như thế nào đối với dân số chưa được lọc.

Ví dụ: giả sử, mô hình của bạn nhận thấy rằng trong tập dữ liệu được dán nhãn của bạn, ứng dụng khách càng trẻ thì càng có nhiều khả năng họ mặc định. Sau đó, có thể hợp lý khi cho rằng mô hình của bạn sẽ hoạt động tốt nếu bạn xóa bộ lọc trước đó "Nếu tuổi của khách hàng <18 tuổi, thì không chấp nhận".


4

Tôi không chắc là tôi hoàn toàn hiểu câu hỏi đó, nhưng theo tôi hiểu thì bạn đang hỏi làm thế nào để huấn luyện một bộ phân loại để dự đoán về các mẫu nằm ngoài miền của các mẫu mà nó đã thấy. Điều này, nói chung và cho đến nay tôi biết, không thể. Lý thuyết học máy dựa trên ý tưởng "giảm thiểu rủi ro theo kinh nghiệm", giả định rằng tập huấn luyện của bạn là một xấp xỉ tốt về phân phối thực của bạn trên các mẫu và nhãn. Nếu giả định đó bị vi phạm, thực sự không có bất kỳ sự đảm bảo nào.

Bạn đề cập đến dữ liệu chưa được gắn nhãn - Tôi không biết liệu điều này có giải quyết được vấn đề của bạn không, nhưng học bán giám sát có nhiều phương pháp để cố gắng học các trình phân loại được cung cấp cả dữ liệu được gắn nhãn và không được gắn nhãn và bạn có thể muốn xem xét việc đó (ví dụ: , SVM tải nạp).


Tôi đồng ý, không có "giải pháp" nào cho vấn đề của tôi. Nhưng có lẽ có một số lời khuyên thiết thực về cách làm việc với các loại vấn đề này.
Laksan Nathan

2

Quy tắc của bạn có thể cung cấp cho bạn một cách để thực hiện tăng dữ liệu . Sao chép một mẫu dương tính, thay đổi tuổi thành 17, và sau đó đánh dấu nó là một mẫu âm tính.

Quy trình này sẽ không nhất thiết là tầm thường hoặc hữu ích cho tất cả các bộ dữ liệu. Tôi làm việc với dữ liệu NLP và thật khó để làm tốt trong miền đó. Ví dụ: nếu bạn có các tính năng khác tương quan với tuổi, bạn có thể kết thúc bằng các mẫu không thực tế. Tuy nhiên, nó cung cấp một con đường để đưa hệ thống đến một cái gì đó giống như các mẫu không đưa nó vào bộ dữ liệu.


Thêm tiếng ồn vào dữ liệu chắc chắn là một cách để xử lý vấn đề này. Nhưng chỉ trong một vài trường hợp dữ liệu khách hàng có thể dễ dàng được phân loại. Tôi sẽ không làm điều đó ở một mức độ mà nó sẽ lại dẫn đến một kiến ​​thức tên miền "thiên vị" đầu ra - nhận thức / chủ quan dẫn đến sự xung đột về kiến ​​thức bị cáo buộc.
Laksan Nathan

2

Một điều đã làm việc cho chúng tôi trong một tình huống tương tự là thực hiện một chút học tập củng cố (khám phá và khai thác). Trên mô hình dựa trên quy tắc, chúng tôi đã chạy một nhà thám hiểm với khả năng nhỏ sẽ thay đổi phản hồi của mô hình, do đó, trong trường hợp đôi khi mô hình không đề xuất thẻ cho một người 17 tuổi, nhà thám hiểm sẽ lật ngược mô hình quyết định và cấp thẻ. Từ những trường hợp không thường xuyên này, bạn sẽ tạo dữ liệu học tập cho mô hình học tập trong tương lai, nơi nó có thể được sử dụng để quyết định giới thiệu thẻ cho những người 17 tuổi dựa trên việc những người được nhà thám hiểm cấp cho những người 17 tuổi không mặc định và vì vậy bạn có thể xây dựng các hệ thống có thể hoạt động bên ngoài các thành kiến ​​của mô hình hiện tại của bạn.


Vì các trường hợp không thường xuyên này có liên quan đến một rủi ro tài chính nhất định, đây sẽ là một cách tiếp cận từng bước có khả năng tiết lộ mô hình mới trong dài hạn. Về cơ bản là một sự đánh đổi khai thác khi bạn đề cập đến nó. Điều này chắc chắn sẽ được xem xét trong dự án.
Laksan Nathan

2

Từ quan điểm thực tế, rất khó / không hợp lý khi yêu cầu một người mẫu dự đoán điều gì đó về các trường hợp không thể thực hiện được trong hệ thống hiện tại (không có bữa trưa miễn phí).

Một cách để khắc phục vấn đề đó là thêm ngẫu nhiên vào hệ thống (đã triển khai) hiện tại, ví dụ: thêm khả năng bỏ qua (một số) quy tắc với xác suất nhỏ, có kiểm soát (và do đó có thể dự đoán được chi phí).

Khi bạn đã thuyết phục được những người chịu trách nhiệm cho hệ thống thực hiện điều đó thì bạn có thể sử dụng các phương pháp đánh giá ngoài chính sách như lấy mẫu quan trọng để đặt câu hỏi "nếu-nếu". Ví dụ, rủi ro tín dụng dự kiến ​​sẽ là gì nếu chúng tôi cho phép những người hiện đang bỏ quy định lấy tín dụng. Người ta thậm chí có thể mô phỏng hiệu ứng của mô hình dự đoán (thiên vị) của bạn đối với dân số đó. Một tài liệu tham khảo tốt cho loại phương pháp đó là bài viết của Bottou về học tập và lý luận trái ngược.


Tham khảo tốt đẹp, cảm ơn. Tôi sẽ dành thời gian để đi qua nó.
Laksan Nathan

1

Câu trả lời thống kê cổ điển là nếu quá trình lựa chọn nằm trong dữ liệu và được mô tả bởi mô hình hoặc lựa chọn là ngẫu nhiên thì mô hình tham số sẽ dự đoán chính xác. Xem dữ liệu suy luận và thiếu dữ liệu của Donald Rubin (1976). Bạn cần bao gồm cơ chế lựa chọn dữ liệu trong mô hình của mình. Đây là một lĩnh vực mà suy luận tham số nên làm tốt hơn so với học máy thuần túy.


1

Điều này giống như tiến thoái lưỡng nan sau cuộc sống: tỷ lệ của việc làm tốt và xấu (dữ liệu) là đủ để lên thiên đàng thay vì địa ngục (lớp), sau khi một người chết (bộ lọc!). Ở đây, cái chết đóng vai trò là bộ lọc, dẫn đến các giá trị bị thiếu đối với chương trình học có giám sát.

Tôi muốn phân biệt giữa vấn đề thiếu giá trị và vấn đề 'dữ liệu thiên vị'. Không có thứ gọi là dữ liệu thiên vị, có một thứ gọi là 'mô hình thiên vị' giải thích dữ liệu đã nói, nhưng bản thân dữ liệu không bị sai lệch, nó chỉ bị thiếu. Nếu dữ liệu bị thiếu có ý nghĩa tương quan với dữ liệu quan sát được, thì hoàn toàn có thể đào tạo một mô hình không thiên vị và đạt được kết quả dự đoán tốt.

Nếu dữ liệu bị thiếu hoàn toàn không tương thích với dữ liệu quan sát được, thì đó là trường hợp 'bạn không biết những gì bạn không biết'. Bạn có thể sử dụng các phương pháp học tập không giám sát cũng như không giám sát. Vấn đề là bên ngoài lĩnh vực của khoa học dữ liệu.

Do đó, vì lợi ích của giải pháp có ý nghĩa, hãy giả sử rằng dữ liệu bị thiếu có tương quan với dữ liệu quan sát được. Chúng tôi sẽ khai thác mối tương quan nói.

Có một số thuật toán khai thác dữ liệu cố gắng giải quyết vấn đề như vậy. Bạn có thể thử các phương thức 'Đồng bộ' như thuật toán Bagging-n-Boosting hoặc 'khai thác mẫu thường xuyên' như Apriori và tăng trưởng FP. Bạn cũng có thể khám phá các phương pháp trong Thống kê mạnh mẽ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.