Làm thế nào để xác định độ tin cậy của một dự đoán mạng thần kinh?


22

Để minh họa câu hỏi của tôi, giả sử rằng tôi có một tập huấn luyện trong đó đầu vào có độ ồn nhưng đầu ra thì không, ví dụ;

# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]

ở đây đầu ra là độ dốc của mảng đầu vào nếu nó không nhiễu (không phải là gradient thực tế).

Sau khi đào tạo mạng, đầu ra sẽ trông giống như thế này cho một đầu vào nhất định.

# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]

Câu hỏi của tôi là làm thế nào một mạng lưới thần kinh có thể được tạo ra sao cho nó sẽ trả về giá trị dự đoán và thước đo độ tin cậy, chẳng hạn như phương sai hoặc khoảng tin cậy?


3
Nếu bạn đang tìm kiếm một khoảng sẽ chứa một nhận thức trong tương lai , thì bạn đang tìm kiếm một khoảng dự đoán , không phải là khoảng tin cậy , liên quan đến các tham số không quan sát được . Điều này thường bị nhầm lẫn.
S. Kolassa - Tái lập Monica

Câu trả lời:


20

Có vẻ như bạn đang tìm kiếm một , nghĩa là một khoảng có chứa tỷ lệ phần trăm được xác định trước trong các lần thực hiện trong tương lai. (Nhìn vào thẻ wiki cho cho sự khác biệt.)

Đặt cược tốt nhất của bạn có khả năng làm việc trực tiếp với các kiến ​​trúc NN không đưa ra dự đoán điểm đơn lẻ, mà toàn bộ phân phối dự đoán . Sau đó, bạn có thể trích xuất trực tiếp các khoảng dự đoán mong muốn (hoặc trung bình hoặc dự đoán điểm trung vị) từ các phân phối này. Tôi và những người khác đã tranh luận rằng các phân phối dự đoán hữu ích hơn nhiều so với dự đoán điểm , nhưng thành thật mà nói, tôi chưa thấy nhiều công việc về phân phối dự đoán với các mạng lưới thần kinh, mặc dù tôi đã để mắt mở. Bài báo này nghe có vẻ hữu ích. Bạn có thể muốn tìm kiếm một chút, có lẽ cũng sử dụng các từ khóa khác như "phân phối dự báo" hoặc "mật độ dự đoán", v.v.

Điều đó nói rằng, bạn có thể muốn xem xét thuật toán NeuroBayes của Michael Feindt , sử dụng phương pháp Bayes để dự báo mật độ dự đoán.


1
Đây có thể là một bài viết hữu ích khác - một mạng lưới thần kinh học các bản phân phối: google.com/,
Pro Q

@Stephan: Liên kết đã qua đời: (
Matthew Drury

@MatthewDrury: bạn muốn nói đến liên kết nào? Cả ba đều làm việc tốt cho tôi.
S. Kolassa - Tái lập Monica

Bạn có thể dẫn chúng tôi đến một bản demo / ví dụ Ternsorflow đơn giản với Phân phối Dự đoán NN không?
Martin Thøgersen

@ MartinThøgersen: xin lỗi, không, tôi không sử dụng Tensorflow ...
S. Kolassa - Tái lập lại

5

Tôi không chắc bạn có thể tính khoảng tin cậy cho một dự đoán, nhưng bạn thực sự có thể tính khoảng tin cậy cho tỷ lệ lỗi của toàn bộ dữ liệu (bạn có thể khái quát cho chính xác và bất kỳ biện pháp nào khác mà bạn đang đánh giá).

Nếu là tỷ lệ lỗi của bạn trong khi phân loại một số dữ liệu S kích thước n , khoảng tin cậy 95% cho tỷ lệ lỗi của bạn được cho bởi: e ± 1,96 eSn .

e±1.96e(1e)n

(xem cuốn sách "Machine Learning" từ Tom Mitchell, chương 5.)

CHỈNH SỬA

Đoán tôi nên nói rõ một trường hợp tổng quát hơn, đó là: trong đó các lựa chọn phổ biến chozNđược liệt kê trong bảng sau:

e±zNe(1e)n,
zN
confidence level    80%    90%    95%    98%    99%
values of zN       1.28   1.64   1.96   2.33   2.58

1
Điều này sẽ yêu cầu phân phối tiệm cận là bình thường
user2879934

4
Đối với các cỡ mẫu lớn (khá phổ biến trong ML), thông thường, ti an toàn cho rằng. Không cần ti downvote, chỉ cần yêu cầu làm rõ, nhưng tốt.
mp85

4

Khoảng dự đoán (PI) trong các vấn đề hồi quy và phân loại không tham số, chẳng hạn như mạng lưới thần kinh, SVM, rừng ngẫu nhiên, vv rất khó để xây dựng. Tôi muốn nghe ý kiến ​​khác về điều này.

Tuy nhiên, theo như tôi biết, Dự đoán phù hợp (CP) là phương pháp nguyên tắc duy nhất để xây dựng PI hiệu chuẩn để dự đoán trong các vấn đề hồi quy và phân loại không theo quy chuẩn. Để xem hướng dẫn về CP, xem Shfer & Vovk (2008), J. Machine Learning Research 9 , 371-421 [pdf]


3

Tôi không biết bất kỳ phương pháp nào để làm điều đó một cách chính xác.

μσ(xi,yi)logN(yiμ(xi),σ(xi))μ(xi) của bạn cố gắng dự đoán của bạnyiσ(xi)

yiμ(xi)σ(xi)N(0,1)


1
σ+

Có bất kỳ ví dụ cụ thể nào mà mọi người từng thấy về việc sử dụng NN để xuất các tham số của phân phối, được đào tạo về khả năng đăng nhập không?
Hoa hậu Palmer

3

Tôi chưa từng nghe về bất kỳ phương pháp nào đưa ra khoảng tin cậy cho dự đoán mạng thần kinh. Mặc dù thiếu phương pháp chính thức, có vẻ như nó có thể khả thi để xây dựng một phương pháp. Tôi chưa bao giờ thử điều này do sức mạnh tính toán cần thiết và tôi không khẳng định gì về việc này chắc chắn, nhưng một phương pháp có thể hoạt động cho một mạng lưới thần kinh nhỏ bé (hoặc với sức mạnh GPU nhanh, nó có thể hoạt động cho các lưới có kích thước vừa phải ) sẽ lấy mẫu lại tập huấn luyện và xây dựng nhiều mạng tương tự (giả sử 10.000 lần) với cùng các tham số và cài đặt ban đầu, và xây dựng khoảng tin cậy dựa trên dự đoán cho mỗi mạng khởi động của bạn.

Ví dụ, trong 10.000 mạng được đào tạo như đã thảo luận ở trên, người ta có thể nhận được 2.0 (sau khi làm tròn các dự đoán hồi quy mạng thần kinh) 9.000 lần, vì vậy bạn sẽ dự đoán 2.0 với 90% CI. Sau đó, bạn có thể xây dựng một loạt các TCTD cho từng dự đoán được thực hiện và chọn chế độ để báo cáo là CI chính.


2
Tôi tò mò tại sao đề xuất này lại bị bỏ phiếu vì về cơ bản nó là bootstrapping theo một cách hơi khác thường (thành phần làm tròn của vấn đề giúp dễ dàng kiểm tra mức độ tin cậy của mạng lưới thần kinh về dự đoán). Tôi thực sự không quan tâm đến việc bỏ phiếu nếu bất cứ ai bỏ phiếu này có thể giải thích tại sao đây không phải là một giải pháp hợp lệ cho câu hỏi được đề xuất. Tôi đang tự học và sẽ đánh giá cao thông tin phản hồi!
Tony S

1
Tôi đã không bỏ phiếu, nhưng từ những gì tôi hiểu phương pháp được đề xuất sẽ tạo ra các khoảng thời gian nắm bắt các giá trị dự đoán của mô hình, điều này không giống như các khoảng thời gian nắm bắt các giá trị thực.
Hoa hậu Palmer

3

Về mặt trực tiếp xuất ra các khoảng dự đoán, có một bài báo năm 2011 ' Đánh giá toàn diện về các khoảng dự đoán dựa trên mạng thần kinh '

Họ so sánh bốn phương pháp:

1: Phương pháp Delta 2: Phương pháp Bayes 3: Ước tính phương sai trung bình 4: Bootstrap

Các tác giả tương tự đã tiếp tục phát triển Phương pháp ước tính giới hạn trên để xây dựng các khoảng dự đoán dựa trên mạng thần kinh , trực tiếp tạo ra giới hạn dưới và trên từ NN. Thật không may, nó không hoạt động với backprop, nhưng công việc gần đây đã biến điều này thành có thể, Khoảng dự đoán chất lượng cao cho Deep Learning .

Thay thế cho việc xuất trực tiếp các khoảng dự đoán, độ không đảm bảo của mô hình mạng nơ ron Bayes (BNN) trong các tham số của NN và do đó thu được độ không đảm bảo ở đầu ra. Điều này là khó thực hiện, nhưng các phương pháp phổ biến bao gồm chạy MC bỏ học tại thời điểm dự đoán hoặc tập hợp .


1
Thực sự khá dễ dàng để làm điều đó với Bayesian Deep Learning. Xem ví dụ edwardlib.org/tutorials/bayesian-neural-network
DeltaIV

2

Thực tế có nhiều cách để làm điều này bằng cách sử dụng bỏ học. Chạy đánh giá với bỏ học được kích hoạt (thường bị vô hiệu hóa để đánh giá nhưng được bật khi đào tạo) và chạy đánh giá nhiều lần.

Phân phối kết quả từ nhiều lần chạy khác nhau có thể được sử dụng làm khoảng tin cậy.

Xem bài viết " Bỏ học như một xấp xỉ Bayes: Đại diện cho sự không chắc chắn của mô hình trong học tập sâu " Xem bài thuyết trình trên youtube Andrew Rowan - Bayesian Deep Learning với Edward (và một mẹo sử dụng Dropout)


1

Không có cách nào, tất cả các mô hình ML không phải là về sự hiểu biết hiện tượng, đó là phương pháp nội suy với hy vọng "nó hoạt động". Bắt đầu với những câu hỏi như vậy tự tin, mạnh mẽ đến ồn ào không có câu trả lời.

Vì vậy, để có được một cái gì đó xin vui lòng sử dụng khoa học ứng dụng và cơ bản khác nhau:

  • Sử dụng điều khiển (và đưa ra giả định về động lực học)

  • Sử dụng tối ưu hóa lồi (với một số điều kiện bổ sung về chức năng)

  • Sử dụng số liệu thống kê toán học (với các giả định sơ bộ về phân phối)

  • Sử dụng xử lý tín hiệu (với một số giả định rằng tín hiệu bị giới hạn băng tần)

Nhà khoa học sử dụng một số giả định prelimiary (được gọi là tiên đề) để rút ra một cái gì đó.

Không có cách nào để đưa ra bất kỳ sự tự tin nào nếu không có một số giả định sơ bộ, do đó, vấn đề không phải ở DL mehtod, mà là vấn đề trong bất kỳ phương pháp nào cố gắng nội suy mà không có bất kỳ giả định sơ bộ nào - không có cách nào để đưa ra thông qua đại số một cách không liên quan.

NN và các phương thức ML khác nhau được tạo mẫu nhanh để tạo ra "thứ gì đó" có vẻ như hoạt động "đôi khi" được kiểm tra với xác nhận chéo.

Thậm chí sâu hơn nữa là hồi quy phù hợp E [Y | X] hoặc ước tính của nó có thể là vấn đề hoàn toàn không chính xác để giải quyết (có thể pdf ở điểm Y = E [Y | X] có tối thiểu, không tối đa) và có rất nhiều điều tinh tế như vậy nhiều thứ.

Ngoài ra, hãy để tôi nhắc hai vấn đề không thể giải quyết trong AI / ML, có thể vì một số lý do bị lãng quên, đằng sau những khẩu hiệu làm đẹp:

(1) Đó là phương pháp nội suy, không phải ngoại suy - nó không có khả năng xử lý các vấn đề mới

(2) không ai biết bất kỳ mô hình nào sẽ hành xử trên dữ liệu không phải từ cùng một phân phối (người đàn ông mặc trang phục chuối để nội địa hóa cho người đi bộ)


Làm thế nào về việc mô hình hóa lỗi từ tập dữ liệu huấn luyện thành lỗi "dự đoán" cho suy luận?
Jacko

Thậm chí giả sử đó là phụ gia "dự đoán_for_mean" + "dự đoán_for_error". Bạn có thể tưởng tượng bất kỳ lược đồ để dự đoán tín hiệu và lỗi riêng biệt. Nhưng một lần nữa - nếu chúng ta "chỉ nội suy", chúng ta không thể nói điều gì đó một cách tự tin. Chúng tôi dự đoán nhiệt độ trên bề mặt. Có, bạn có thể nói đây là dự đoán của tôi "20" và dự đoán lỗi là "5". Vì vậy, nó nói rằng tôi nghĩ rằng phản ứng thực sự nằm trong [20-5, 20 + 5] nhưng để thực sự hiểu ý nghĩa của nó, chúng ta cần hiểu các hiện tượng thực và mô hình toán học. Và ML không phải là về cả hai. Các lĩnh vực khác làm cho một số giả định sơ bộ.
bruziuz

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.