EA ที่สามารถจำแนกตัวเลขที่เขียนด้วยมือได้
ฐานข้อมูล MNIST ประกอบด้วยภาพจำนวน 60,000 ภาพสำหรับการฝึกอบรมและ 10,000 ภาพสำหรับการทดสอบ ซึ่งภาพเหล่านี้ถูกสร้างขึ้นโดยการ "รีมิกซ์" ชุดข้อมูล NIST ดั้งเดิมที่มีขนาด 20x20 พิกเซล ขาว-ดำ ที่ได้มาจากสำนักงานสำรวจประชากรของสหรัฐฯ และเพิ่มตัวอย่างการทดสอบที่ได้จากนักเรียนมัธยมในอเมริกา ตัวอย่างถูกปรับขนาดให้เป็น 28x28 พิกเซล พร้อมการลดความหยาบของภาพ ซึ่งทำให้เกิดระดับสีเทา
โมเดลการจำแนกตัวเลขที่เขียนด้วยมือที่ฝึกอบรมแล้วคือ mnist.onnx ซึ่งสามารถดาวน์โหลดได้จาก Github ที่ Model Zoo (opset 8) สำหรับผู้ที่สนใจสามารถดาวน์โหลดและลองใช้โมเดลอื่น ๆ ยกเว้นโมเดลที่มี opset 1 ซึ่งไม่ถูกสนับสนุนโดย runtime ONNX ล่าสุด อย่างน่าสนใจคือ เวกเตอร์ผลลัพธ์ไม่ได้ถูกประมวลผลด้วยฟังก์ชัน Softmax ตามที่มักจะทำในโมเดลการจำแนกประเภท แต่นี่ไม่ใช่ปัญหาเพราะเราสามารถทำสิ่งนี้ได้เองอย่างง่ายดาย
int PredictNumber(void)
{
static matrixf image(28,28);
static vectorf result(10);
PrepareMatrix(image);
if(!OnnxRun(ExtModel,ONNX_DEFAULT,image,result))
{
Print("OnnxRun error ",GetLastError());
return(-1);
}
result.Activation(result,AF_SOFTMAX);
int predict=int(result.ArgMax());
if(result[predict]< 0.8)
Print(result);
Print("value ",predict," predicted with probability ",result[predict]);
return(predict);
}
คุณสามารถวาดตัวเลขในกริดพิเศษโดยใช้เมาส์ โดยกดปุ่มซ้ายของเมาส์ไว้ จากนั้นเพื่อจำแนกตัวเลขที่วาดขึ้น ให้กดปุ่ม CLASSIFY

หากความน่าจะเป็นที่ได้จากการจำแนกตัวเลขต่ำกว่า 0.8 เวกเตอร์ผลลัพธ์ที่แสดงความน่าจะเป็นสำหรับแต่ละคลาสจะถูกพิมพ์ลงในบันทึก เช่น ลองจำแนกฟิลด์ข้อมูลที่ว่างเปล่า
[0.095331445,0.10048489,0.10673151,0.10274081,0.087865397,0.11471312,0.094342403,0.094900772,0.10847695,0.09441267]น่าสนใจว่า ความแม่นยำในการจำแนกหมายเลข 9 (9) จะต่ำกว่าจำนวนอื่น ๆ โดยเฉพาะตัวเลขที่มีแนวเอียงไปทางซ้ายจะถูกจำแนกได้แม่นยำมากกว่า
value 5 predicted with probability 0.11471312493085861
โพสต์ที่เกี่ยวข้อง
- สร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณซื้อขายจาก Morning/Evening Stars + MFI
- MQL5 Wizard: สร้างสัญญาณเทรดจาก Bullish Harami/Bearish Harami + Stochastic สำหรับ MetaTrader 5
- สร้างสัญญาณการซื้อขายด้วย MQL5 Wizard: เทคนิค Hammer/Hanging Man และ CCI
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- Ilan 1.6 Dynamic HT: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5