- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
我正在制作一个使用 encog 预测足球比赛结果的程序。我创建了一个神经网络,使用弹性传播训练方法使用 90 场比赛的数据对其进行训练。我将比赛结果标记为 1 表示主场获胜,0 表示平局,-1 表示客场获胜。
问题出在预测上。有时我的成功率为 50%,而其他时候我的成功率低至 33%。这就像使用随机函数。我注意到的是,几乎总是最预测的结果是 1(大约 70%)。我试过改变隐藏层的数量、训练的数量,但没有运气,它仍在振荡。如果我做错了什么,任何人都可以帮助我或将我引导到正确的方向。
这是神经网络的代码。我正在从数据库中获取训练数据和预测数据。
Predictor(NeuralDataSet trainingData){
trainingSet = trainingData;
network = new BasicNetwork();
network.addLayer(new BasicLayer(16));
network.addLayer(new BasicLayer(3));
network.addLayer(new BasicLayer(1));
network.getStructure().finalizeStructure();
network.reset();
}
训练
public void train(int epoch){
int tôi =0;
final Train train =new ResilientPropagation(network,trainingSet);
while(i<=epoch){
train.iteration();
i++;
}
}
预测
public void successRate(NeuralDataSet trainingData){
bộ đếm int = 0;
int correct = 0;
int home=0;
int away=0;
int draw=0;
for(MLDataPair pair: trainingData ) {
final MLData output = network.compute(pair.getInput());
if(pair.getIdeal().getData(0)==Math.round(output.getData(0)))
correct++;
bộ đếm++;
}
System.out.println((double)correct/(double)counter);
}
1.) 我正在将数据提供给神经网络 1000。由于情况变得更好,目前正在测试更多/更少。
2,3.) 我有 16 个输入参数。它们包括:主队积分、主队主场胜、平、负、主队总胜、负、平和状态(最近5场比赛的积分增益)。相同的数据仅适用于客队,而不适用于主队主场胜、平、负客场球队客场胜,平,负使用。我将尝试使用不同的训练数据。
câu trả lời hay nhất
Thật khó để biết điều gì sai dựa trên thông tin, có thể có nhiều lý do. Nhưng đây là một số giải pháp tiềm năng.
1) Bạn cung cấp dữ liệu huấn luyện vào mạng nơ-ron bao nhiêu lần? Thông thường, bạn cần truyền dữ liệu huấn luyện nhiều lần để mạng hội tụ. Một lần là không đủ, đặc biệt khi bạn chỉ có 90 dữ liệu huấn luyện.
2) Có bao nhiêu tham số đầu vào trong dữ liệu huấn luyện (chúng là gì)? Thông thường bạn cần điều chỉnh số lượng nút lớp ẩn theo số lượng tham số đầu vào. Không có quy tắc cứng nhắc và nhanh chóng nào cho việc này, nhưng tôi thường bắt đầu với số lượng nút lớp ẩn ít nhất gấp đôi làm tham số đầu vào.
3) Bạn đã thử chọn dữ liệu thử nghiệm khác chưa? Tôi cho rằng dữ liệu đào tạo và kiểm tra của bạn là khác nhau. Có thể có điều gì đó không đúng với dữ liệu thử nghiệm bạn đã chọn vì chúng hoàn toàn không khớp với dữ liệu huấn luyện. Cũng có khả năng là bạn sẽ không thể nhận được bất kỳ ước tính đáng tin cậy nào từ phương pháp của mình. Các thông số đầu vào của bạn có thể hoàn toàn không đủ để dự đoán ai sẽ thắng bất kỳ trò chơi nào. Đó là rác vào, rác ra, khái niệm.
Về java - chương trình dự đoán bóng đá encog: Dự đoán không nhất quán, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11979073/
Tôi chưa quen với Encog và khi tôi đọc Lập trình mạng thần kinh với Encog 2 trong Java, tôi không thể tìm thấy các lớp như ContextLayer trong Encog 3 và encog 3 có vẻ khá quan trọng với encog
Tôi đang sử dụng Encog trong một trong các dự án của mình và tôi gặp sự cố khi giải mã lớp One-Of. Một trong những hành động chuẩn hóa cho trường này là NormalizationAction.OneOf, có ba đầu ra. Khi tôi đánh giá, tôi muốn giải mã giá trị dự đoán. giống
Có thể lưu mạng đã được đào tạo vào một tệp và sau đó sử dụng lại (tải tệp) không? Bạn có thể đưa ra một ví dụ đơn giản? Hiện tại tôi nên chạy mọi khóa đào tạo: EncogUtility.trainConsole(network, TrainingSet, T
Tôi đang tạo một hệ thống nhận dạng hình ảnh bằng khung Encog và Java. Tuy nhiên, khi tôi đặt chiều rộng và chiều cao được lấy mẫu xuống cao hơn 100, tôi nhận được java.lang.NegativeArraySizeException
Tôi đang sử dụng (thư viện encog 3.3.0) để xây dựng mạng lưới thần kinh để nhận dạng hình ảnh. Tôi đã chuyển đổi hình ảnh sang thang độ xám 50x50 để tránh nhầm lẫn với mạng thần kinh, vì về cơ bản tôi muốn trích xuất một số đặc điểm không phụ thuộc vào màu sắc từ hình ảnh. Tôi có hai lớp đầu ra. Đầu vào của tôi:
Tôi có một tập dữ liệu rất nhỏ, chỉ có 200 hàng. Tôi chỉ có 3 cột; hai cột đầu tiên là số (âm và dương) và cột cuối cùng là chữ cái. Tôi đang cố gắng phân loại cột cuối cùng dựa trên hai cột số đầu tiên. Dữ liệu được phân tách bằng dấu phẩy của tôi trông tương tự như thế này (trước khi chuẩn hóa): H
Encog có hỗ trợ đa luồng. Nhưng theo như tôi biết thì việc song song hóa 8 lõi trên một bộ xử lý là điều tốt. Nếu tôi mua bo mạch chủ thì nó có hoạt động nhanh hơn không? Có 4 socket và 4 Intel Xeon được cài đặt
Đối tượng NeuralDataSet mà tôi thấy không có gì khác ngoài XOR, nó chỉ là hai mảng dữ liệu nhỏ... Tôi không thể tìm thấy bất cứ điều gì từ tài liệu về MLDataSet. Có vẻ như mọi thứ phải được tải cùng một lúc. Tuy nhiên tôi muốn theo
Khi tôi thấy lỗi được tính toán từ bộ xác thực bắt đầu tăng lên, tôi muốn ngừng đào tạo mạng. Tôi đang sử dụng BasicNetwork với RPROP làm thuật toán đào tạo và tôi có các lần lặp đào tạo sau: void trainCrossValidat
Tôi mới làm quen với machine learning và Encog, nhưng tôi hy vọng Encog ít nhất sẽ đưa ra kết quả nhất quán từ các ví dụ để giúp tôi hiểu Encog dễ dàng hơn. Đối với tôi, Encoge đưa ra các kết quả định hướng khác nhau mỗi lần tôi chạy nó. Ai có thể giúp tôi địa lý tốt hơn
Tôi đã triển khai mạng thần kinh bằng thư viện mã hóa như hiển thị bên dưới, MLDataSet TrainingSet = new BasicMLDataSet(XOR_INPUT, XOR_IDEAL);
Các ví dụ về khung Encog mà tôi đã xem mô tả cách phân loại dữ liệu số thành dữ liệu văn bản. Ví dụ: sau đây là dữ liệu cho tập dữ liệu Iris cổ điển: "sepal_l","sepal_w","petal_l","petal_w","sp
Tôi mới tham gia vào lĩnh vực mạng lưới thần kinh (thành thật mà nói tôi mới bắt đầu cách đây vài ngày). Tôi muốn sử dụng mạng thần kinh trong ứng dụng OCR của mình để nhận dạng văn bản viết tay. Điều tôi muốn biết là liệu có thể đào tạo mạng sau lần đào tạo ban đầu hay không. Nói cách khác, lúc đầu tôi muốn đào tạo một vài nhân vật, nhưng sau đó tôi lại muốn đào tạo
Học máy - Tuyệt vời! Tôi có một dự án nhỏ mà tôi muốn sử dụng để xác định những điểm bất thường trong dữ liệu chưa được gắn nhãn. Do đó, phân cụm không giám sát. Tuy nhiên, thứ tự của dữ liệu cũng rất quan trọng, vì một bản ghi có thể không thú vị nhưng thứ tự của các bản ghi trước nó có thể khiến nó trở nên bất thường. vậy là tôi
Tôi cần phân loại hình ảnh từ máy ảnh, các tính năng chính cần xem xét là: Hình dạng đối tượng (các hình cơ bản như hình tam giác, hình vuông, v.v.) Màu sắc đối tượng ít bị biến dạng Tôi đang sử dụng opencv để nhận dạng hình dạng, theo dõi Real Time Trac này
Tôi đang tìm ví dụ về cách sử dụng Encog Framework để tạo một ứng dụng lọc/phân loại hoặc phân cụm thư rác đơn giản. Tôi không thể tìm thấy bất cứ điều gì trên Google. Tôi cũng đã mua cuốn sách Lập trình của Jeff Heaton
Tôi đang cố gắng huấn luyện một SVM để phân loại hai dữ liệu xoắn ốc. Đầu vào của tôi là tệp CSV 3 cột, hai cột đầu tiên là tọa độ (x, y) của một điểm trên hình xoắn ốc (không được chuẩn hóa) và cột thứ ba là (lớp) hình xoắn ốc mà điểm đó thuộc về. CS
Tôi đang sử dụng ví dụ phân loại này từ jeff heaton: https://github.com/encog/encog-java-examples/blob/master/src/main/java/or
Tôi nghĩ tôi đang làm gì đó sai với Encog. Trong tất cả các ví dụ tôi đã thấy, chúng chỉ huấn luyện cho đến khi đạt đến một lỗi huấn luyện nhất định rồi in kết quả. Khi nào độ dốc được tính toán và trọng số của các lớp ẩn được cập nhật? Tất cả đều có trong Training.iteration()
Tôi đang sử dụng encog cho một số bài tập ở trường đại học và tôi muốn xuất danh sách tất cả các kết nối trong mạng và trọng số liên quan của chúng. Tôi thấy hàm dumpWeights() là một phần của lớp BasicMLNetwork (tôi sử dụng Java) nhưng
Tôi là một lập trình viên xuất sắc, rất giỏi!