Mạng nơ-ron: Để phân loại nhị phân sử dụng 1 hoặc 2 nơ-ron đầu ra?


26

Giả sử tôi muốn thực hiện phân loại nhị phân (một cái gì đó thuộc về lớp A hoặc lớp B). Có một số khả năng để làm điều này trong lớp đầu ra của mạng thần kinh:

  • Sử dụng 1 nút đầu ra. Đầu ra 0 (<0,5) được coi là lớp A và 1 (> = 0,5) được coi là lớp B (trong trường hợp sigmoid)

  • Sử dụng 2 nút đầu ra. Đầu vào thuộc về lớp của nút có giá trị / xác suất cao nhất (argmax).

Có bất kỳ giấy tờ nào được viết (cũng) thảo luận về điều này? Từ khóa cụ thể để tìm kiếm là gì?

Câu hỏi này đã được hỏi trước đây trên trang web này, ví dụ: xem liên kết này không có câu trả lời thực sự. Tôi cần phải đưa ra lựa chọn (Luận văn thạc sĩ), vì vậy tôi muốn hiểu rõ hơn về những hạn chế / nhược điểm của từng giải pháp.


Tôi nghĩ rằng OP của câu hỏi được liên kết có một điểm tốt, sự khác biệt duy nhất là lựa chọn 2 có số lượng tham số lớn hơn, linh hoạt hơn nhưng dễ bị khớp hơn.
dontloo

1
Trong Udacity ML Nanodegree, tôi đã học được rằng nên sử dụng một nút đầu ra tốt hơn nếu kết quả là loại trừ lẫn nhau đơn giản chỉ vì mạng có ít lỗi hơn. Tôi nghĩ rằng không có ưu điểm trong việc sử dụng 2 nút đầu ra trong trường hợp đó nhưng tôi không có bằng chứng khoa học nào cho điều đó
CodingYourLife

Câu trả lời:


25

Trong trường hợp thứ hai có lẽ bạn đang viết về chức năng kích hoạt softmax. Nếu đó là sự thật, thì sigmoid chỉ là một trường hợp đặc biệt của chức năng softmax. Điều đó thật dễ dàng để thể hiện.

y=11+ex=11+1ex=1ex+1ex=ex1+ex=exe0+ex

Như bạn có thể thấy sigmoid giống như softmax. Bạn có thể nghĩ rằng bạn có hai đầu ra, nhưng một trong số chúng có tất cả các trọng số bằng 0 và do đó đầu ra của nó sẽ luôn bằng 0.

Vì vậy, lựa chọn tốt hơn cho phân loại nhị phân là sử dụng một đơn vị đầu ra với sigmoid thay vì softmax với hai đơn vị đầu ra, bởi vì nó sẽ cập nhật nhanh hơn.


Khi bạn nói một trong số họ có tất cả các trọng số bằng 0, bạn có nghĩa là người mẫu thậm chí không xem xét một trong các lớp trong quá trình đào tạo? Trong thực tế, chúng ta thực sự có thể đào tạo trình phân loại nhị phân này chỉ với một lớp dữ liệu đào tạo không?
mã chết

Nó giống như ngưỡng (ràng buộc) được cố định trong quá trình đào tạo và lớp học. Vì vậy, bạn biết rằng nếu hơn lớp dương và nếu x < 0 hơn lớp âm. Với softmax bạn có thể tìm hiểu ngưỡng khác nhau và có ràng buộc khác nhau. Trọng lượng RE với tất cả các số 0, ý tôi là sigmoid giống như softmax với 2 đầu ra cho trường hợp khi bạn có hai neutron đầu ra và một trong hai đầu ra x và đầu kia luôn là 0 cho dù đầu vào là gì. Nó chỉ có thể khi cho đầu ra thứ hai, chúng ta có tất cả các trọng số bằng không. Tôi hy vọng nó sẽ giúp. x>0x<0x0
itdxer

1
Lưu ý rằng có các giải pháp suy biến về hình thức exp(x+alpha) / (exp(alpha) + exp(x+alpha))- thực sự là một số lượng vô hạn trong số chúng - tất cả đều cho kết quả phân loại giống như kết quả được ghi nhận với trọng số tất cả 0. Các trọng số có thể sẽ không bằng 0, nhưng sẽ thay vào đó là suy biến với giải pháp có trọng lượng tất cả 0. Tránh các giải pháp thoái hóa (vô nghĩa và lãng phí) bằng cách chỉ sử dụng một nơron đầu ra, có vẻ như vậy.
Dan Nissenbaum

2

Các thuật toán học máy như phân loại mô hình thống kê dữ liệu đầu vào, ở đây, bằng cách xác định xác suất của đầu vào thuộc các loại khác nhau. Đối với một số lượng các lớp tùy ý, thông thường một lớp softmax được gắn vào mô hình để các đầu ra sẽ có các thuộc tính xác suất theo thiết kế:

y=softmax(a)1ieai×[ea1,ea2,...,ean]

0yi1 for all i
y1+y2+...+yn=1

a

Điều này là hoàn toàn hợp lệ cho hai lớp, tuy nhiên, người ta cũng có thể sử dụng một nơron (thay vì hai) với điều kiện là đầu ra của nó thỏa mãn:

0y1 for all inputs.
ay

sigmoid(a)σ(a)11+ea

các thuộc tính toán học hữu ích (phân biệt, bị giới hạn giữa 0 và 1, v.v.), hiệu quả tính toán và có độ dốc phù hợp để trọng số của mạng cập nhật sẽ có một thay đổi nhỏ nhưng có thể đo được trong đầu ra cho mục đích tối ưu hóa.

Phần kết luận

Tôi không chắc liệu lý luận của @ itdxer cho thấy softmax và sigmoid có tương đương hay không, nhưng anh ấy đúng khi chọn 1 nơ-ron trái ngược với 2 nơ-ron cho phân loại nhị phân vì cần ít tham số và tính toán hơn. Tôi cũng đã bị chỉ trích vì sử dụng hai nơ-ron cho một bộ phân loại nhị phân vì "nó không cần thiết".

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.