2012-06-25 51 views
5

Tôi đã thực hiện một số nghiên cứu với mạng thần kinh và khái niệm và lý thuyết nói chung có ý nghĩa với tôi. Mặc dù một câu hỏi mà tôi không thể tìm ra câu trả lời, là có bao nhiêu tế bào thần kinh nên được sử dụng trong một mạng thần kinh. để đạt được kết quả phù hợp/hiệu quả. Bao gồm các lớp ẩn, nơ-ron trên mỗi lớp ẩn, v.v. Có phải nhiều nơ-ron nhất thiết phải có kết quả chính xác hơn (trong khi đang đánh thuế nhiều hơn trên hệ thống) hay ít tế bào thần kinh vẫn đủ? Có một số loại quy tắc quản lý để giúp xác định những con số đó không? Liệu nó có phụ thuộc vào loại thuật toán đào tạo/học tập đang được triển khai vào mạng neural hay không. Liệu nó phụ thuộc vào loại dữ liệu/đầu vào đang được trình bày cho mạng?Xác định số lượng Neuron thích hợp cho Mạng Lưới thần kinh

Nếu làm cho việc trả lời câu hỏi dễ dàng hơn, tôi rất có thể sẽ sử dụng feedforwarding và backpropogation làm phương pháp chính để đào tạo và dự đoán.

Lưu ý phụ, có thuật toán dự đoán/quy tắc kích hoạt hoặc thuật toán học thường được coi là "tốt nhất/thực tế nhất" hay cũng phụ thuộc vào loại dữ liệu được trình bày cho mạng?

Nhờ bất kỳ ai có bất kỳ đầu vào nào, nó luôn được đánh giá cao!

EDIT: Về thẻ C#, đó là ngôn ngữ mà tôi sẽ đặt cùng mạng nơron của tôi. Nếu thông tin đó giúp ích gì cả.

+0

* Nếu bạn có thể tưởng tượng toàn bộ một cuốn sách trả lời câu hỏi của bạn, bạn đang hỏi quá nhiều. * Http://stackoverflow.com/faq#dontask Ngoài ra, tôi không thấy điều này có gì để làm với C#. –

+2

Xem http://stats.stackexchange.com/questions/181/how-to-choose-the-number-of-hidden-layers-and-nodes-in-a-feedforward-neural-netw –

+0

@ 0xA3, tuyệt vời liên kết. Câu hỏi này có thể không đủ cụ thể cho SO, nhưng chỉ một vài suy nghĩ: kích thước mạng thần kinh được quyết định bởi độ phức tạp của hàm hoặc phân loại mà chúng đại diện. Ngoài ra, có, nó có thể có quá nhiều tế bào thần kinh: trong phân loại nó có thể dẫn đến overfitting và mất một mô hình tổng quát. – nicholas

Trả lời

2

Tôi chuyên về AI/NN ở trường đại học và có một số kinh nghiệm làm việc trên trò chơi, và đây là những gì tôi tìm thấy làm hướng dẫn để bắt đầu. Tuy nhiên, nhận ra rằng mỗi NN sẽ thực hiện một số tinh chỉnh để hoạt động tốt nhất trong môi trường bạn đã chọn. (Một giải pháp tiềm năng là đưa chương trình của bạn lên 1000s NN khác nhau, thiết lập một tiêu chuẩn có thể kiểm thử để thực hiện và sau đó sử dụng thuật toán di truyền để truyền các NN hữu ích hơn và tiêu diệt ít NN hữu ích hơn - nhưng đó là một bài viết rất lớn khác ...)

tôi thấy - nói chung

  • Input Layer - Một AN cho mỗi vector đầu vào + 1 Bias (luôn 1)
  • Nội Lớp - Double Layer Input
  • Output Layer - Một AN cho mỗi hành động hoặc quả

Ví dụ: nhận dạng chữ viết

  • Nếu bạn đang kiểm tra lưới 10x10 để nhận dạng ký tự;
  • bắt đầu với 101 Input AN (một cho mỗi pixel, cộng với một thiên vị)
  • 202 Inner AN
  • và 26 Output AN (một cho mỗi chữ cái của bảng chữ cái)

Ví dụ: Blackjack

  • Nếu bạn đang xây dựng một NN để "giành chiến thắng tại blackjack";
  • bắt đầu với 16 Input AN (13 đếm từng xuất hiện của một thẻ, 1 cho giá trị tay máy nghe nhạc, 1 cho đại lý "up-thẻ", và 1 thiên vị)
  • 32 Inner AN
  • và 6 đầu ra AN (một cho "Hit" "Stay" "Split" "đúp" "Surrender" và "Bảo hiểm")
+0

Tôi đã rất hạn chế tiếp xúc với NN cho đến nay, vì vậy xin lỗi nếu câu hỏi này rất cơ bản; nhưng những gì bạn có nghĩa là bởi một lớp bên trong Bias? Một lớp ẩn chứa một số sai lệch? Và 'giá trị' nào là lớp Bias được đặt thành? Tôi cũng đúng trong giả định lớp bên trong = lớp ẩn? – RaiderNation

+1

Xin lỗi vì nhầm lẫn, bằng "Bias", tôi có nghĩa là một AN, trong Lớp đầu vào luôn được đặt thành 1. Không cần Bias trên các lớp Nội bộ hoặc Đầu ra. (SO định dạng bài viết của tôi khác với những gì tôi đã làm, do đó, các dòng chạy với nhau khi họ không nên có = p) Vì vậy, các Bias Artificual Neuron luôn luôn cung cấp một "1" cho lớp bên trong, như thể nó là một AN bình thường đó là "bị mắc kẹt trên." – EtherDragon

+0

Vì vậy, thiết lập các nơron đầu vào thiên vị là '1' nói chung sẽ được thuận lợi, bất kể loại đầu vào được đưa vào lớp đầu vào? Ví dụ, không phải là loại đầu vào cho nhận dạng ký tự và BlackJack khác nhau? Cảm ơn một lần nữa! – RaiderNation

0

một số quy tắc chung như sau dựa trên bài viết này: 'Tạo xấp xỉ số tế bào thần kinh lớp Hidden trong kiến ​​trúc BPNN nhiều lớp ẩn lớp 'của Saurabh Karsoliya.

  • Số lượng tế bào thần kinh lớp ẩn là 2/3 (hoặc 70% đến 90%) kích thước của lớp đầu vào. Nếu đây là không đủ thì số lượng tế bào thần kinh lớp đầu ra có thể được thêm vào sau này.
  • Số lượng tế bào thần kinh lớp ẩn phải ít hơn gấp hai lần số lượng tế bào thần kinh trong lớp đầu vào.
  • Kích thước của các nơron lớp ẩn nằm giữa kích thước lớp đầu vào và kích thước lớp đầu ra.
Các vấn đề liên quan