Làm thế nào để có được đầu ra liên tục có giá trị thực từ Mạng thần kinh?


13

Trong hầu hết các ví dụ tôi đã thấy cho đến nay của các mạng thần kinh, mạng được sử dụng để phân loại và các nút được chuyển đổi với chức năng sigmoid. Tuy nhiên, tôi muốn sử dụng mạng thần kinh để tạo ra giá trị thực liên tục (thực tế đầu ra thường sẽ nằm trong phạm vi từ -5 đến +5).

Câu hỏi của tôi là:

1. Should I still scale the input features using feature scaling? What range?
2. What transformation function should I use in place of the sigmoid?

Tôi đang tìm cách ban đầu triển khai nó PyBrain mô tả các loại lớp này .

Vì vậy, tôi nghĩ rằng tôi nên có 3 lớp để bắt đầu (một lớp đầu vào, ẩn và đầu ra) là tất cả các lớp tuyến tính? Đó có phải là một cách hợp lý? Hoặc ngoài ra, tôi có thể "kéo dài" chức năng sigmoid trong phạm vi -5 đến 5 không?


1
Chắc chắn bạn có thể sử dụng sigmoid . Ví dụ: bắt đầu từ hàm logistic, nhân với 10, trừ 5 ...[-,][-5,5]
cbeleites hỗ trợ Monica

Có một lý do cụ thể mà bạn đang tránh sử dụng hai lớp ẩn? Đó dường như là cách dễ nhất để thực hiện nhận đầu ra liên tục có giá trị thực từ mạng lưới thần kinh. "Bất kỳ chức năng nào cũng có thể được xấp xỉ với độ chính xác tùy ý bởi một mạng có hai lớp ẩn" (được đề cập trong ghi chú từ slide văn bản học máy 26: cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/ www / mlbook / ch4.pdf )
Chris Simokat

@ChrisSimokat: Không, nhưng hầu hết những gì tôi đã đọc cho đến nay đều gợi ý một lớp ẩn duy nhất là điểm khởi đầu hợp lý. Một mạng lớp ẩn duy nhất không thể xấp xỉ bất kỳ chức năng nào?
Người dùng

1
@ChrisSimokat: Có thể tôi đang thiếu một cái gì đó nhưng tôi nghĩ rằng lớp ẩn đơn không bằng "perceptionron một lớp", phải không?
Người dùng

1
Không có bạn không thiếu bất cứ điều gì tôi chỉ rõ ràng là không đọc đủ xin lỗi về điều đó.
Chris Simokat

Câu trả lời:


11

1 . Tôi có nên mở rộng các tính năng đầu vào bằng cách sử dụng tính năng chia tỷ lệ không? Phạm vi nào?

Thu nhỏ không làm cho bất cứ điều gì tồi tệ hơn. Đọc câu trả lời này từ mạng thần kinh của Sarle Câu hỏi thường gặp: Chủ đề: Tôi có nên bình thường hóa / chuẩn hóa / bán lại dữ liệu không? .

2 . Tôi nên sử dụng chức năng biến đổi nào thay cho sigmoid?

[0,1][-1,1][-5,5]


Cách chính xác để chia tỷ lệ đầu ra của mạng thần kinh đến phạm vi [-5,5] là gì?
Người dùng

3
e[một,b][c,d]e-mộtb-một(d-c)+c

2
Nhưng vì sigmoid là phi tuyến tính, với việc lấy mẫu phân phối đồng đều, giá trị của sigmoid có thể sẽ có giá trị gần bằng 1 hoặc gần bằng 0. Điều đó có nghĩa là chúng ta phải tìm hiểu mạng của mình để chọn giá trị ở giữa cẩn thận hơn. Có phải sigmoid + scaling thực sự là một lựa chọn tốt để đi?
Smarty77
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.