2012-10-30 37 views
5

Tôi tự hỏi nếu tôi đang làm điều gì đó sai hoặc nếu kết quả thực sự là người nghèo. Cho phép giả định các ví dụ đơn giản nhất NN như trong tài liệu hướng dẫn:kết quả nghèo pybrain

>>>net = buildNetwork(2, 3, 1, bias=True) 
>>> ds = SupervisedDataSet(2, 1) 
>>> ds.addSample((0, 0), (0,)) 
>>> ds.addSample((0, 1), (1,)) 
>>> ds.addSample((1, 0), (1,)) 
>>> ds.addSample((1, 1), (0,)) 
>>> trainer = BackpropTrainer(net, ds) 
>>> trainer.trainUntilConvergence() 
>>> print net.activate((0,0)) 
>>> print net.activate((0, 1)) 
>>> print net.activate((1, 0)) 
>>> print net.activate((1, 1)) 

ví dụ

>>> print net.activate((1,0)) 
[ 0.37855891] 
>>> print net.activate((1,1)) 
[ 0.6592548] 

dự kiến ​​là 0. Tôi biết tôi có thể khỏa lấp rõ ràng nhưng tôi vẫn mong chờ mạng để có nhiều chính xác hơn cho ví dụ một ví dụ đơn giản. Nó có thể được gọi là "làm việc" ở đây NHƯNG Tôi nghi ngờ tôi thiếu một cái gì đó quan trọng gây ra điều này là RẤT không sử dụng được ...

Điều là nếu bạn đặt verbose=True cho huấn luyện viên của bạn, bạn có thể thấy lỗi khá nhỏ (như Tổng lỗi: 0,0532936260399)

Tôi giả định lỗi của mạng là 5%, sau đó làm thế nào nó có thể được SO MUCH tắt trong chức năng kích hoạt sau đó?

Tôi sử dụng pybrain cho một điều phức tạp hơn rất nhiều, nhưng tôi có cùng một vấn đề. Tôi nhận được khoảng 50% các mẫu thử nghiệm của tôi sai mặc dù mạng nói lỗi là 0.09 hoặc hơn.

Bất kỳ yêu cầu trợ giúp nào?

+0

thể trùng lặp của đào tạo với PyBrain [Neural Network sẽ không hội tụ ] (http://stackoverflow.com/questions/12050460/neural-network-training-with-pybrain-wont-converge) – PhoneixS

Trả lời

6

Câu hỏi tương tự có thể được tìm thấy here. Từ đó, có vẻ như chức năng đào tạo này không áp dụng ở đây vì không phải tất cả dữ liệu được sử dụng để đào tạo, nhưng một số dữ liệu được sử dụng để xác thực chéo. Thử thêm các điểm dữ liệu vào tập huấn luyện nhiều lần.

Ngoài ra, ví dụ này dường như cần phải có một thuật ngữ động lực để hoạt động. Có một ví dụ cho đào tạo một xor với pybrain, sử dụng một phương pháp đào tạo khác nhau here mà làm việc cho tôi khi tôi thiết lập số lượng các lớp đến 3. Điều này sử dụng một thuật ngữ động lượng 0,99.

tôi sẽ đăng bài này như một bình luận vì nó không trả lời câu hỏi đầy đủ, nhưng tôi không có đủ điểm để bình luận ...

+0

bạn nói đúng, tôi cần phải giảm bớt phần dữ liệu được sử dụng để xác thực – kosta5