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?
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