Làm thế nào để truyền sự không chắc chắn vào dự đoán của một mạng lưới thần kinh?


8

Tôi có đầu vào x1xn đã biết 1σ sự không chắc chắn ϵ1ϵn. Tôi đang sử dụng chúng để dự đoán đầu ray1ymtrên một mạng lưới thần kinh được đào tạo. Làm thế nào tôi có thể có được 1σ sự không chắc chắn về dự đoán của tôi?

Ý tưởng của tôi là ngẫu nhiên gây nhiễu mỗi đầu vào xi với tiếng ồn bình thường có nghĩa là 0 và độ lệch chuẩn ϵi một số lượng lớn thời gian (giả sử 10000), sau đó lấy độ lệch trung bình và độ lệch chuẩn của từng dự đoán yi. Nó có hoạt động không?

Tôi sợ rằng điều này chỉ tính đến lỗi "ngẫu nhiên" (từ các phép đo) chứ không phải lỗi "có hệ thống" (từ mạng), tức là, mỗi dự đoán vốn có một số lỗi không được xem xét trong phương pháp này. Làm thế nào tôi có thể có được đúng1σ thanh lỗi trên dự đoán của tôi?



Có lẽ bạn có thể thử một số thư viện dành riêng cho lỗi, chẳng hạn như 'lỗi' trên R. Theo tôi biết, hãy đính kèm một thuộc tính (xin người yêu thích sửa lỗi cho tôi nếu tôi sai) với dữ liệu được vector hóa và có thể nó lan truyền đến đầu ra. cran.r-project.org/package=errors chúc may mắn!
SantiagoRodriguez

Bạn có ý nghĩa gì bởi lỗi "có hệ thống" (từ mạng) ? Vì vậy, không có lỗi hệ thống trên các phép đo? Bạn có nghĩa là một lỗi gây ra bởi mạng vì nó không hoàn hảo?
Mayou36

@ Mayou36 Vâng, cái sau. Giả sử rằng xác thực chéo xác lập rằng các dự đoán có độ chính xác trung bình là 95%. Do đó, chúng tôi biết mạng không hoàn hảo. Thông thường khi bạn đo một cái gì đó, bạn không chỉ đo lường mà còn cả sự không chắc chắn của phép đo. Làm thế nào để bạn có được sự không chắc chắn của một dự đoán từ một mạng lưới thần kinh?
thoi

"nhiễu loạn" dữ liệu có thể có nghĩa là tạo ra các quan sát từ một số phân phối, phải không? Tôi nghĩ rằng lỗi sẽ phụ thuộc rất nhiều vào phân phối mà bạn chọn để mô phỏng. Nếu bạn đang thực hiện một Mạng nơ-ron MLP đơn giản, tại sao không chỉ xây dựng một mạng nơ-ron Bayes và có được các khoảng tin cậy cho các dự đoán? PyMC3 có một máy tính xách tay để làm việc này.
Demetri Pananos

Câu trả lời:


2

Cá nhân tôi thích cách tiếp cận Monte Carlo vì nó dễ dàng. Có những lựa chọn thay thế (ví dụ: biến đổi không tập trung), nhưng chúng chắc chắn là sai lệch.

Hãy để tôi chính thức hóa vấn đề của bạn một chút. Bạn đang sử dụng mạng thần kinh để triển khai phân phối xác suất có điều kiện cho các đầu ra đưa ra các đầu vào , trong đó các trọng số được thu thập trong :yxθ

pθ(y  x).

Chúng ta đừng quan tâm đến cách bạn thu được các trọng -probably một số loại backprop và chỉ coi đó như một hộp đen đã được trao cho chúng tôi.θ

Là một thuộc tính bổ sung cho vấn đề của bạn, bạn cho rằng bạn chỉ có quyền truy cập vào một số "phiên bản ồn ào" của đầu vào thực tế , trong đó với sau một số phân phối, ví dụ Gaussian. Lưu ý rằng sau đó bạn có thể viết trong đóSau đó, điều bạn muốn là phân phối tức là phân phối trên đầu ra đưa ra đầu vào ồn ào và một mô hình đầu vào sạch cho đầu ra.x~x

x~=x+ϵ
ϵ
p(x~x)=N(x~|x,σϵ2)
ϵN(0,σϵ2).
p(yx~)=p(yx)p(xx~)dx,

Bây giờ, nếu bạn có thể đảo ngược để lấy (trong trường hợp có thể là biến ngẫu nhiên Gaussian và các biến khác), bạn có thể ước chừng ở trên với tích hợp Monte Carlo thông qua lấy mẫu:p(x~x)p(xx~)

p(yx~)ip(yxi),xip(xx~).

Lưu ý rằng điều này cũng có thể được sử dụng để tính toán tất cả các loại kỳ vọng khác của hàm của :fy

f(x~)if(yi),xip(xx~),yip(yxi).

Không có giả định nào thêm, chỉ có những xấp xỉ sai lệch.


0

Nó phụ thuộc vào loại lỗi bạn muốn xác định.

Dữ liệu đào tạo và áp dụng sự khác biệt dữ liệu

Một kỹ thuật được sử dụng để ước tính các lỗi trên các dự đoán là huấn luyện một số thuật toán sử dụng các hạt ngẫu nhiên khác nhau. Đối với hầu hết các thuật toán, điều này sẽ dẫn đến các dự đoán khác nhau: biến thể có thể cho bạn ước tính.

Phân loại cụ thể

Vì vậy, để xác định lỗi phân loại, có khoảng hai phương pháp:

event by event :
Bạn có thể chỉ cần nhìn vào các dự đoán, tạo (ví dụ) thùng và chia nhãn 1 cho nhãn 0. Bởi vì có 100 sự kiện của nhãn 1 với dự đoán trong khoảng 0,6-0,65 và 50 với nhãn 0 với dự đoán trong cùng một phạm vi chỉ đơn giản mang lại 2/3 cơ hội cho một sự kiện thuộc lớp 1. Hay nói cách khác, với thay đổi 1/3, các sự kiện của bạn trong thùng đó không phải là lớp 1.

Tổng hiệu quả :
Cách tiếp cận này là cách sử dụng nếu phù hợp với trường hợp của bạn, nó cụ thể hơn. Trước tiên, bạn xác định nơi bạn áp dụng cắt giảm của mình (có nghĩa là: ngưỡng nào cho các dự đoán cho một sự kiện là loại 1 hoặc 0; đây thường không phải là 0,5 mà là một bằng khen được tối ưu hóa). Giả sử bạn cắt giảm 0,9 (vì vậy <0,9 -> lớp 0, lớp khác 1). Sau đó, bạn có thể đếm:

  • có bao nhiêu sự kiện lớp 1 bị mất (thấp hơn 0,9)?
  • Có bao nhiêu sự kiện lớp 0 vẫn còn trong mẫu?

Điều này cung cấp cho bạn một ước tính về lỗi trên đầu ra phân loại của bạn.

Hồi quy cụ thể

gắn thẻ và thăm dò :
Bạn có thể sử dụng các giá trị đã biết, nhập chúng và nhận lỗi của chúng. Sau đó, bạn có thể giả sử rằng các giá trị ở giữa hai trong số đó, gần như có lỗi trung bình. Hay nói cách khác, bạn ngoại suy lỗi từ các giá trị đã biết.

Trung bình đơn giản : Đơn giản chỉ cần lấy trung bình của các lỗi. Nếu chúng được phân phối gần như bằng nhau, đây là một cách tốt để đi.


Làm thế nào về lỗi hồi quy?
thoi
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.