Phân loại với các lớp theo thứ tự?


10

Nói rằng tôi muốn đào tạo một bộ phân loại gán hình ảnh của một người khi còn trẻ , trung niên hoặc già .

Một cách đơn giản sẽ là coi các lớp là các loại độc lập và huấn luyện một bộ phân loại. Nhưng rõ ràng có một số mối quan hệ giữa các lớp, làm thế nào tôi có thể sử dụng điều này để trở nên tốt hơn?

Tôi nghĩ có lẽ tôi có thể làm
1) thay đổi sự mất mát, nói tăng sự mất mát khi dự đoán trẻ như già hay già như trẻ .
2) biến nó thành một vấn đề hồi quy, trẻ , trung niêngià được biểu diễn dưới dạng 0, 1 và 2.


2
Tìm kiếm hồi quy thứ tự: en.wikipedia.org/wiki/Ordinal_regression
Tim

Câu trả lời:


8

1) thay đổi mất mát, nói tăng sự mất dự đoán trẻ như già hay già như trẻ.

Âm thanh như một cách tiếp cận hợp lý.

2) biến nó thành một vấn đề hồi quy, trẻ, trung niên và già được biểu diễn dưới dạng 0, 1 và 2.

Nó phụ thuộc vào người học hồi quy mà bạn đang sử dụng, nhưng đây có thể là một ý tưởng tồi (ví dụ như cây và các công cụ phái sinh có thể an toàn chống lại nó). Bạn có chắc chắn "khoảng cách" (bất cứ điều gì có thể có nghĩa) giữa thanh niên và trung niên giống như giữa trung niên và già?


Khi bạn đang học các biến danh nghĩa, tôi khuyên bạn nên coi vấn đề này là phân loại. Cụ thể hơn, như bạn biết có một mối quan hệ tiềm ẩn giữa các lớp, phân loại thứ tự.

Bạn có thể thử chiến lược do Frank & Hall đề xuất [1], nơi bạn viết mã N biến phản ứng với N1vấn đề nhị phân. Vì vậy, bạn cố gắng tìm hiểu sự khác biệt giữa già và không già và trẻ và không trẻ, và những điều này thực sự cung cấp cho bạn thông tin về ba loại. Đây là một heuristic thực sự đơn giản có thể đánh bại cách tiếp cận đa giác ngây thơ và không thay đổi hoạt động gạch chân của người học.


[1] Frank, E., & Hall, M. (2001, tháng 9). Một cách tiếp cận đơn giản để phân loại thứ tự. Trong hội nghị châu Âu về học máy (trang 145-156). Mùa xuân Berlin Heidelberg.


Nhìn vào hồi quy thứ tự.
kjetil b halvorsen

4

Tôi đã xem xét điều này gần đây với một bộ phân loại mạng thần kinh tích chập làm việc với sáu lớp thứ tự. Tôi đã thử ba phương pháp khác nhau:

Phương pháp 1: Phân loại độc lập tiêu chuẩn

Đây là những gì bạn đã đề cập như một đường cơ sở trong câu hỏi, với ánh xạ:

class 0 -> [1, 0, 0, 0, 0, 0]
class 1 -> [0, 1, 0, 0, 0, 0]
class 2 -> [0, 0, 1, 0, 0, 0]
class 3 -> [0, 0, 0, 1, 0, 0]
class 4 -> [0, 0, 0, 0, 1, 0]
class 5 -> [0, 0, 0, 0, 0, 1]

Chúng tôi thường sử dụng kích hoạt softmax và mất mát chéo phân loại với điều này.

Tuy nhiên, như bạn nói, điều này không tính đến mối quan hệ giữa các lớp, do đó chức năng mất chỉ bị ảnh hưởng bởi việc bạn có đánh đúng lớp hay không và không bị ảnh hưởng bởi việc bạn có đến gần hay không.

Phương pháp 2: Hàm mục tiêu thông thường

Đây là một cách tiếp cận được công bố bởi Cheng et al. (2008) , cũng đã được đề cập trên StackExchange tại đâyđây . Ánh xạ là:

class 0 -> [0, 0, 0, 0, 0]
class 1 -> [1, 0, 0, 0, 0]
class 2 -> [1, 1, 0, 0, 0]
class 3 -> [1, 1, 1, 0, 0]
class 4 -> [1, 1, 1, 1, 0]
class 5 -> [1, 1, 1, 1, 1]

Điều này được sử dụng với một kích hoạt sigmoid và mất crossentropy nhị phân. Hàm mục tiêu này có nghĩa là tổn thất càng nhỏ thì bạn càng đến gần đúng lớp.

Bạn có thể dự đoán một lớp từ đầu ra {yk} của phân loại này bằng cách tìm chỉ mục đầu tiên k Ở đâu yk<0.5. k sau đó cung cấp cho bạn các lớp dự đoán.

Phương pháp 3: Biến phân loại thành hồi quy

Đây là ý tưởng tương tự như thứ hai của bạn. Ánh xạ ở đây sẽ là:

class 0 -> [0]
class 1 -> [1]
class 2 -> [2]
class 3 -> [3]
class 4 -> [4]
class 5 -> [5]

Tôi đã sử dụng một kích hoạt tuyến tính và mất bình phương lỗi bình phương với điều này. Giống như cách tiếp cận trước đây, điều này cũng mang lại cho bạn một mất mát nhỏ hơn mà bạn bỏ lỡ ít hơn.

Khi dự đoán một lớp dựa trên đầu ra của điều này, bạn chỉ cần làm tròn đầu ra thành số nguyên gần nhất.

Một số ví dụ kết quả

Tôi đã đánh giá các phương pháp khác nhau với cùng một bộ dữ liệu. Các số liệu là độ chính xác chính xác (đánh đúng lớp) và độ chính xác liền kề (đánh đúng lớp hoặc một trong các hàng xóm của nó), trong các phiên bản không cân bằng lớp và cân bằng lớp. Mỗi giá trị số liệu hiển thị dưới đây được tìm thấy dưới dạng trung bình của ba lần chạy.

Đối với Phương pháp 1 / Phương pháp 2 / Phương pháp 3, các số liệu đã đưa ra:

  • Độ chính xác không cân bằng chính xác: 0,582 / 0,606 / 0,564
  • Cân bằng chính xác chính xác: 0,460 / 0,499 / 0,524
  • Độ chính xác liền kề không cân bằng: 0.827 / 0.835 / 0.855
  • Cân chính xác liền kề: 0,827 / 0,832 / 0,859

Do đó, đối với tập dữ liệu và thiết lập mạng cụ thể của tôi, phương pháp hồi quy thường làm tốt nhất và phương pháp tiêu chuẩn với các lớp độc lập thường làm điều tồi tệ nhất. Tôi không biết các kết quả này tổng quát hóa tốt như thế nào đối với các trường hợp khác, nhưng không khó để điều chỉnh bất kỳ phân loại thứ tự nào để có thể sử dụng cả ba phương pháp để bạn có thể tự kiểm tra.

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.