Phân loại cho nhãn lớp không chắc chắn


11

Giả sử tôi có một tập hợp các trường hợp có nhãn lớp được liên kết. Nó không quan trọng như thế nào những trường hợp này được dán nhãn, nhưng cách nào đó thành viên lớp của họ. Mỗi instancs thuộc về chính xác một lớp. Giả sử tôi có thể định lượng độ chắc chắn của từng thành viên lớp với thuộc tính danh nghĩa đi từ 1 đến 3 (tương ứng rất chắc chắn đến không chắc chắn).

Có một số loại phân loại có tính đến một biện pháp chắc chắn như vậy và nếu có, nó có sẵn trong bộ công cụ WEKA không?

Tôi tưởng tượng tình huống này xảy ra khá thường xuyên, ví dụ khi các trường hợp được phân loại bởi con người không phải lúc nào cũng hoàn toàn chắc chắn. Trong trường hợp của tôi, tôi phải phân loại hình ảnh và đôi khi một hình ảnh có thể thuộc về nhiều hơn một lớp. Nếu điều này xảy ra, tôi cung cấp cho lớp một sự không chắc chắn cao, nhưng vẫn phân loại nó chỉ với một lớp.

Hoặc có bất kỳ cách tiếp cận khác cho vấn đề này, mà không có một phân loại chuyên ngành? Ví dụ, chỉ tham gia phân loại "nhất định" cho đào tạo? Tôi sợ rằng trong trường hợp này, sẽ có nhiều phân loại sai vì các trường hợp "biên giới" không được bảo hiểm.


1
Có phải mỗi mục thuộc về chính xác một lớp? Hoặc có thể một số mục thuộc về lớp 12 với độ chắc chắn 1 và lớp 34 với độ chắc chắn 2?
user31264

Mỗi mục thuộc về chính xác một lớp, trong trường hợp này.
wnstnsmth

Câu trả lời:


8

Trước hết, như @Marc Claesen đã giải thích, phân loại bán giám sát là một trong những kỹ thuật để xử lý tình huống mà bạn biết rằng các lớp thực sự khác biệt, nhưng bạn không chắc chắn trường hợp đó thực sự thuộc về lớp nào.

Tuy nhiên, cũng có những tình huống liên quan, trong đó "thực tế" không rõ ràng và giả định có các lớp thực sự khác biệt không được đáp ứng: các trường hợp bên lề có thể là một thực tế "vật lý" (xem bên dưới để biết về các ứng dụng nơi chúng tôi gặp một điều kiện như vậy).

Có một giả định quan trọng đối với các phân loại bán giám sát mà bạn cần đảm bảo được đáp ứng: giả định rằng trong không gian đặc trưng, ​​các ranh giới lớp đi kèm với mật độ mẫu thấp . Điều này được gọi là giả định cụm.
Ngay cả khi thực tế bên dưới dữ liệu của bạn có các lớp riêng biệt, tập dữ liệu của bạn có thể có nhiều trường hợp đường biên khác hơn: ví dụ: nếu kỹ thuật phân loại của bạn được nhắm mục tiêu phân loại các trường hợp khó, trong khi các trường hợp rõ ràng và dễ dàng không quan tâm và dữ liệu đào tạo của bạn phản ánh điều này tình hình.

chỉ tham gia phân loại "nhất định" cho đào tạo? Tôi sợ rằng trong trường hợp này, sẽ có nhiều phân loại sai vì các trường hợp "biên giới" không được bảo hiểm.

Tôi hoàn toàn đồng ý với bạn rằng loại trừ các trường hợp đường biên thường là một ý tưởng tồi: bằng cách loại bỏ tất cả các trường hợp khó khăn, bạn sẽ gặp phải một vấn đề dễ dàng giả tạo. IMHO thậm chí còn tệ hơn khi loại trừ các trường hợp đường biên thường không dừng lại với đào tạo mô hình, nhưng các trường hợp đường biên cũng được loại trừ khỏi thử nghiệm, do đó chỉ thử nghiệm mô hình với các trường hợp dễ dàng. Với điều đó, bạn thậm chí không nhận ra rằng mô hình không hoạt động tốt với các trường hợp đường biên.

Đây là hai bài báo chúng tôi đã viết về một vấn đề khác với vấn đề của bạn ở chỗ trong ứng dụng của chúng tôi, thực tế cũng có thể có các lớp "hỗn hợp" (một phiên bản chung hơn của vấn đề của bạn: sự không chắc chắn trong nhãn tham chiếu cũng được đề cập).

Các liên kết đến một trang dự án của gói R tôi đã phát triển để thực hiện các tính toán hiệu suất. Có nhiều liên kết đến cả trang web chính thức và bản thảo của tôi về các bài báo. Mặc dù tôi chưa sử dụng Weka cho đến nay, tôi hiểu rằng giao diện cho R có sẵn .


cân nhắc thực tế:

  • Mặc dù cách tiếp cận khác nhau giữa bản sao và nhãn là đơn giản, nhưng nó không hoạt động tốt với tất cả các phân loại và triển khai trong thực tế. Ví dụ: AFAIK không có cách nào để nói libSVMđiều chỉnh bằng cách xác thực chéo rằng tất cả các bản sao của từng điểm dữ liệu cần phải được giữ trong cùng một lần xác thực chéo. Do đó libSVM, điều chỉnh có thể sẽ mang lại một mô hình overfit ồ ạt.
  • Ngoài ra đối với hồi quy logistic, tôi thấy rằng nhiều triển khai không cho phép các nhãn thành viên một phần tôi cần.
  • Việc triển khai tôi đã sử dụng cho các bài viết ở trên thực sự là một ANN không có lớp ẩn bằng cách sử dụng hàm liên kết dưới dạng sigmoidal ( nnet::multinom).

Sự xem xét thực tế đầu tiên của bạn, trong khi sự thật, không áp dụng libsvmcụ thể. Các libsvmtác giả cung cấp một phiên bản thay thế của mọi bản phát hành trong đó phân loại theo trọng số là có thể, tránh hoàn toàn vấn đề này. Đó là những thứ khiến tôi thường sử dụng trực tiếp các thư viện thuật toán, thay vì các trình bao bọc như Weka / scipy / ... csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instances
Marc Claesen

@MarcClaesen: cảm ơn - Tôi đã không thấy điều đó. Nhưng bạn có cần phải cung cấp hai trường hợp của cùng một trường hợp có trọng số nói với 1/3 lớp A và trường hợp khác với 2/3 lớp B không? Trong mọi trường hợp, việc không cần cung cấp nhiều bản sao của các trường hợp rõ ràng sẽ giúp việc điều chỉnh ít gặp vấn đề hơn (đối với dữ liệu của tôi, dù sao tôi cũng phải thực hiện điều chỉnh tách ra bên ngoài vì tôi có cấu trúc dữ liệu "phân cấp" với nhiều phép đo của các trường hợp thực tế )
cbeleites không hài lòng với SX 5/11/2016

@cbeiteles khi một thể hiện có thể thuộc về nhiều lớp, bạn thực sự sẽ cần phải cung cấp nó nhiều lần, ngay cả với trọng số cá thể này. Tôi đã không xem xét khả năng đó.
Marc Claesen

6

Đây là một trong những khái quát của phân loại được giải quyết trong học tập bán giám sát. Nếu bạn có một phép đo về sự chắc chắn, bạn có thể sử dụng các phương pháp cho phép trọng số của các trường hợp đào tạo. Độ chắc chắn càng cao, trọng lượng tương ứng càng lớn. Ví dụ về các phương pháp như vậy bao gồm SVM có trọng số cá thể và hồi quy logistic.

Tôi chắc chắn rằng Weka đã triển khai các thuật toán này. Nếu vẫn thất bại, lấy mẫu nhiều trường hợp từ các thể hiện với độ chắc chắn cao. Bạn có thể sử dụng phương pháp này cho SVM hoặc LR truyền thống.

Ví dụ: SVM

Nếu tôi không nhầm, weka có giao diện với LIBSVM . LIBSVM cho phép bạn giải quyết SVM có trọng số lớp trong tất cả các bản phát hành và SVM có trọng số thể hiện trong các phiên bản đặc biệt của mỗi bản phát hành. Tôi sẽ cho rằng weka không hỗ trợ cái sau (đó là thứ bạn cần).

SVM có trọng số lớp giảm thiểu chức năng mục tiêu sau: với siêu phẳng tách biệt trong không gian đặc trưng, các biến chùng (mô hình đào tạo phân loại sai) và và tập hợp các vectơ hỗ trợ thuộc lớp dương và âm tương ứng. Sử dụng các trọng số và bạn có thể chỉ định các hình phạt phân loại sai khác nhau giữa các lớp.

minw,ξw2+CposiPξi+CnegiNξi,
wξPNCposCneg

Dựa trên câu hỏi của bạn, có vẻ như bạn lý tưởng muốn sử dụng 6 trọng lượng khác nhau (2 lớp 3 mức độ chắc chắn). Bạn có thể đạt được điều này cho nhiều cách tiếp cận bằng cách nhân đôi mẫu của các điểm với độ chắc chắn cao.×

Ví dụ, về mặt SVM, sử dụng cùng một thể hiện dữ liệu hai lần sẽ mang lại một giải pháp giống hệt nhau để nhân đôi giá trị liên quan của nó . Đây là một cách rất dễ dàng để gán các hình phạt phân loại sai cao cho các trường hợp dữ liệu nhất định. Bạn có thể làm theo cách tiếp cận tương tự cho hồi quy logistic.C


(+1) đây là nó! Bằng cách sao chép các thể hiện với các nhãn và trọng số thể hiện khác nhau (còn gọi là các chứng nhận nhãn), người ta cũng có thể áp dụng các thuật toán như Rừng ngẫu nhiên, Naive Bayes, v.v. Trọng lượng của trường hợp rất phổ biến, weka phải có người học hỗ trợ nó. Rapidminer (đối thủ của weka) nào. Bằng cách đặt độ chắc chắn thành 1, người ta thậm chí có thể mô hình hóa các vấn đề đa nhãn "sắc nét".
steffen

Bạn đã đúng, WEKA hỗ trợ LIBSVM, nhưng không hỗ trợ trọng số cá thể, afaik. Ý tưởng về việc sao chép các trường hợp là một điều rất tốt, tôi nghĩ, đặc biệt bởi vì mọi người học "truyền thống" đều có thể đối phó với nó.
wnstnsmth

2

Khó khăn của vấn đề phụ thuộc rất lớn vào mức độ sai lầm của các nhãn không chắc chắn có thể xảy ra. Nếu các nhãn không chắc chắn là đúng, giả sử, 90% thời gian, bạn có thể có thể thoát khỏi chỉ bằng cách sử dụng hồi quy logistic. Mặt khác, nếu các nhãn sai gần một nửa thời gian, bạn có thể cần phải sử dụng một số kỹ thuật đặc biệt. Đây là một cú đâm tôi đã gặp phải một vấn đề rất giống nhau. (Chúng tôi đã có nhiều quan sát trên mỗi nhãn, nhưng nếu không thì thiết lập khá giống nhau.)


-5

Tôi đã có một thời gian ngắn với nhận dạng và phân loại hình ảnh.

Rừng ngẫu nhiên là một kỹ thuật dễ sử dụng. Tôi đã triển khai nó trên R, nó cũng có sẵn trên Weka. Dễ sử dụng hơn hẳn so với dự đoán chính xác. Nếu bạn có một bộ huấn luyện đủ lớn, nó có thể phân loại nhiều nhãn.

Nó hoạt động để nhận ra các chữ số viết tay khá tốt, nhưng nếu hình ảnh của bạn phức tạp hơn, thì chỉ có một thử nghiệm sẽ cho bạn biết nếu nó hoạt động tốt.


4
Điều đó có liên quan gì đến nhãn lớp không chắc chắn?
wnstnsmth
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.