Hướng dẫn sử dụng phần mềm dự đoán bóng đá Football Predictions từ căn bản: Hiểu máy học

Bài toán dự đoán bóng đá là một bài toán kinh điển trong giáo trình đại học ngành IT thuộc mảng Trí tuệ nhân tạo. Về bản chất, chương trình dự đoán bóng đá sử dụng máy học để học từ tập mẫu thu thập được từ những diễn biến của các trận đấu trước đây. Máy học trợ giúp chúng ta thiết lập một ánh xạ vô cùng phức tạp mà con người không thể thực hiện được và cũng không tiên liệu được. Một khi có ánh xạ, nó sẽ giải và cho kết quả đối với các dữ liệu đầu vào trước một trận đấu mới.

Bài này có thể lặp lại một số nội dung của loạt bài trong trang Football Predictions. Tuy nhiên tôi đang viết trong thời điểm hiện tại nhìn theo góc độ ứng dụng.

Phần mềm Football Predictions không chỉ để dự đoán bóng đá, nó còn phục vụ các lớp bài toán như dự báo thời tiết, dự đoán động thái của thị trường chứng khoán, chẩn đoán bệnh, vv.

Mục tiêu của Football Predictions là gì?

Football Predictions đã gia nhập cộng đồng bằng sáng chế OIN vào năm 2015. Football Predictions ra đời với các mục tiêu dưới đây:

  • Cụ thể hóa lý thuyết của giáo trình đại học. Xây dựng giải pháp tiên tiến là mạng Nơron thay cho thuật giải ID3 trong giáo trình.

  • Ứng dụng Trí tuệ nhân tạo vào các hoạt động vui chơi giải trí, dự báo thời tiết để phòng chống thiên tai, chẩn đoán bệnh phục vụ sức khỏe con người, dự báo thị trường tài chính, vv.

  • Đóng góp một bằng sáng chế tới cộng đồng thế giới như một đóng góp của người Việt.

Như chúng ta hay nói về thời kỳ công nghiệp 4.0, Football Predictions là một nhánh ngọn trên nền tảng trí tuệ nhân tạo chung. Vì thế chưa có một tài liệu phổ cập ngay cả về mặt phương pháp đối với sản phẩm này. Để dễ hiểu cho người đọc và phù hợp với mục đích của bài viết, tôi sẽ cố gắng che lấp kỹ thuật phức tạp bên dưới và chỉ trình bày giao diện phía trên, từ đó chúng ta dễ dàng ứng dụng sản phẩm vào đời sống. Chỉ tập trung vào thiết kế bài toán và quên đi nó là một chương trình trí tuệ nhân tạo.

Cho máy học từng bước

Dữ liệu mẫu được đặt trong tệp fppdata.txt. Chi tiết về cấu trúc tệp nằm trong bài Football Predictions Program – version 0.9.4, phiên bản tổng quát giải bài toán vạn năng. Chúng ta quan sát một tệp mẫu

-----BEGIN DATA DEFINITION-----
HOME TEAM HEALTH: Good Normal Bad
LOCATION: Home Away
WEATHER: Hot Normal Cold Rain
HOME TEAM ACHIEVEMENT: Good Normal Bad
OPPONENT TEAM ACHIEVEMENT: Good Normal Bad
HOME TEAM RESULTS: Won Lost
-----END DATA DEFINITION-----

Football predictions data

Match   Home team   Location   Weather   Home team   Opponent team   Home team 
        health                           achievement achievement     results
1       Good        Home       Hot       Good        Good            Won
2       Normal      Home       Rain      Good        Normal          Won
3       Normal      Away       Normal    Good        Normal          Lost
4       Normal      Away       Hot       Good        Bad             Won
5       Good        Home       Cold      Good        Good            Lost
6       Good        Away       Hot       Normal      Normal          Lost
7       Bad         Home       Normal    Normal      Good            Lost
8       Bad         Away       Cold      Bad         Normal          Won
9       Normal      Home       Hot       Bad         Bad             Won
10      Normal      Home       Normal    Good        Normal          Won
11      Good        Away       Cold      Good        Good            Won
12      Good        Home       Hot       Good        Normal          Lost
13      Normal      Home       Normal    Good        Normal          Won
14      Normal      Away       Cold      Good        Normal          Lost
15      Bad         Home       Cold      Normal      Good            Lost
16      Normal      Away       Normal    Bad         Bad             Lost

This data is made on ...

Bạn không cần quan tâm đến chi tiết dữ liệu tại thời điểm này. Chúng ta sẽ phân tích bên dưới.

Dữ liệu đầu vào gồm 5 yếu tố, kết quả có hai giá trị thắng hoặc thua. Bài viết này dành cho tất cả mọi người, biết tiếng Anh hoặc không. Để tránh rào cản ngôn ngữ, chúng ta giải nghĩa các cụm từ tiếng Anh như những khái niệm:

  • Home team health : Sức khỏe đội nhà. Yếu tố này có 3 giá trị: Good (Tốt), Normal (Bình thường), Bad (Kém).
  • Location : Ví trí thi đấu. Giá trị là Home (Sân nhà) hoặc Away (Sân khách).
  • Weather : Thời tiết. Các giá trị là: Hot (Nóng), Normal (Bình thường), Cold (Lạnh), Rain (Mưa).
  • Home team achievement : Thành tích đội nhà. Các giá trị là: Good (Tốt), Normal (Bình thường), Bad (Kém).
  • Opponent team achievement : Thành tích đội bạn. Các giá trị là giống như Thành tích đội nhà.
  • Home team results : Kết quả đội nhà. Giá trị là Won (Thắng) hoặc Lost (Thua).

Đó chỉ là tập mẫu ví dụ. Khi áp dụng thực tế, bạn cần soạn tệp mẫu có cấu trúc và dữ liệu phù hợp với bài toán của mình.

Để xem máy học thế nào, chúng ta cố định 3 yếu tố đầu và chỉ biểu diễn tác động của thành tích hai đội. Chúng ta dùng chỉ 4 mẫu như sau:

-----BEGIN DATA DEFINITION-----
HOME TEAM HEALTH: Good Normal Bad
LOCATION: Home Away
WEATHER: Hot Normal Cold Rain
HOME TEAM ACHIEVEMENT: Good Normal Bad
OPPONENT TEAM ACHIEVEMENT: Good Normal Bad
HOME TEAM RESULTS: Won Lost
-----END DATA DEFINITION-----

Football predictions data

Match   Home team   Location   Weather   Home team   Opponent team   Home team 
        health                           achievement achievement     results
1       Good        Home       Hot       Good        Normal          Won
2       Good        Home       Hot       Normal      Bad             Won
3       Good        Home       Hot       Normal      Good            Lost
4       Good        Home       Hot       Bad         Normal          Lost

This data is made on ...

Các mẫu thể hiện rằng đội nào có thành tích cao hơn sẽ thắng, và kém hơn sẽ thua.

Điều thú vị là máy học rất thông minh. Nó không học theo cách sao chụp từ các mẫu, mà tổng hợp dữ liệu để thành một quy luật: Đội mạnh sẽ thắng.

Bây giờ chúng ta thử nhập Thành tích đội nhàGoodThành tích đội bạnBad. Tình huống này không có trong mẫu và có thể coi như chúng ta dự đoán cho trận sắp tới.

Dễ dàng nhẩm đoán rằng đội nhà sẽ thắng. Máy cũng hiểu như vậy:

Trong hình trên, NS là số mẫu, có 4 mẫu.

Chúng ta bổ sung tác động của yếu tố thời tiết. Giả sử đội nhà không quen lạnh. Nếu thành tích hai đội như nhau và trời lạnh thì đội nhà sẽ thua. Thêm mẫu thứ 5 vào tệp mẫu

-----BEGIN DATA DEFINITION-----
HOME TEAM HEALTH: Good Normal Bad
LOCATION: Home Away
WEATHER: Hot Normal Cold Rain
HOME TEAM ACHIEVEMENT: Good Normal Bad
OPPONENT TEAM ACHIEVEMENT: Good Normal Bad
HOME TEAM RESULTS: Won Lost
-----END DATA DEFINITION-----

Football predictions data

Match   Home team   Location   Weather   Home team   Opponent team   Home team 
        health                           achievement achievement     results
1       Good        Home       Hot       Good        Normal          Won
2       Good        Home       Hot       Normal      Bad             Won
3       Good        Home       Hot       Normal      Good            Lost
4       Good        Home       Hot       Bad         Normal          Lost
5       Good        Home       Cold      Normal      Normal          Lost

This data is made on ...

Trong mẫu thứ 5, thành tích cả hai đội đều là Normal và kết quả là đội nhà thua. Rồi chúng ta nhập vào thành tích cả hai đội đều Good, đội nhà cũng thua

Như vậy máy đã học được quy luật: Đội nhà không quen lạnh.

Chúng ta chỉ có thể nhẩm đoán cho vài ba yếu tố với một ít mẫu. Với bài toán chẳng hạn dự đoán động thái của thị trường chứng khoán có 20 yếu tố hoặc hơn, hay bài toán có hàng nghìn mẫu, thậm chí có những mẫu với kết quả trái ngược nhau thì chỉ có chương trình mới có thể thực hiện được. Khi đó chương trình sẽ trở thành một công cụ tuyệt vời.

Xem thêm Football Predictions 1.0 – Phiên bản kết hợp mạng Nơron với Thuật giải di truyền.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.