←  Linh Tinh

Tử Vi Lý Số :: Diễn đàn học thuật của người Việt

»

Machine learning (ML) có thể dùng trong Tử...

Ordinary's Photo Ordinary 08/07/2022

Chào tất cả các bạn,

Đế trả lời câu hỏi này, chúng ta cần biết sơ qua về ML. ML được dùng để tiên đoán một kết quả (output) khi các yếu tố ảnh hưởng đến kết quả đó được cung cấp (inputs). Trước khi có thể tiên đoán một kết quả mới, machine (software) cần phải được huấn luyện (trained) để học (learn) sự liên hệ giữa các data (inputs và output). Data này là những dữ kiện cũ, đã có trước đây về sự việc đang tìm. Data càng nhiều thì kết quả của sự tiên đoán càng chính xác. Chẳng hạn trong một sự việc, ta thấy mỗi lần:

A = 2, B = 4 thì ta có kết quả C = 11
A = 3, B = 2 thì ta có kết quả C = 12
A = 1.2, B = 6 thì ta có kết quả C = 11

Sau khi đã dùng những bộ (sets) data trên để train cái máy này, ta có thể dùng nó để tiên đoán kết quả C mới cho một bộ inputs A, B mới, chẳng hạn khi:

A = 2, B =1.5 => C sẽ tiên đoán là 6

Trong thí dụ trên, ta chỉ cần train cái máy MỘT lần bằng 3 bộ data mà từ đó trở về sau ta có thể tiên đoán rất chính xác cả hằng TRĂM NGÀN inputs mới. Cái máy này đã được trained để tiên đoán kết quả cho phương trình C = 5A + 2B -7 mà không cần biết cái kết quả mà nó đang tiên đoán thực sự được tính bằng phương trình đó.

Để huấn luyện cái máy “Tử Vi”, ta phải cung cấp cho nó 5 inputs (năm, tháng, ngày, giờ và giới tính) và cái output (lời tiên đoán về số mệnh) tương ứng cho inputs đó. Đến đây ta đã thấy có vấn đề vì ta không bao giờ có một output ĐÚNG tương ứng với một bộ inputs. Có người sẽ nói là không sao, ta không cần đúng đến 100%, 80% là được rồi chẳng hạn. Vấn đề không phải đơn giản như vậy. Khi output mà có độ sai bất định (không phải lúc nào cũng khoảng 70%, 80% mà có thể thay đổi từ 30% cho đến 90% chẳng hạn, do ở outputs dùng cho training sai) thì cái kết quả đó không được ổn định (unstable), không được nhất quán (unique): nó tùy thuộc vào từng bộ inputs/output dùng trong huấn luyện. Nếu ta dùng một số training sets khác thì output lại khác hoàn toàn thay vì không khác nhau mấy (chỉ khác chút ít về độ chính xác mà thôi) cho các áp dụng khác (như thời tiết chẳng hạn). Vì mỗi một sao có vài nghĩa nên ta sẽ không có một kết quả nhất quán. Ta sẽ không tìm C = 5A + 2B -7 mà là C1 = 5A1 + 2B1 -7, C2 = 5A1 + 2B2 -7, C3 = 5A1 + 2B3 -7, C4 = 5A2 + 2B1 -7, …… Không những thế phải có sự liên quan giữa inputs và output (qua một phương trình chẳng hạn C = 5A + 2B -7). Trong Tử Vi ta không có sự liên hệ đó, mỗi một dữ kiện có liên hệ rất ít, hoặc hoàn toàn độc lập, với một dữ kiện khác (khi ta dùng 110 sao là 110 inputs).

Ngoài ra mọi người thường nói là ta có khoảng 512640 lá số nhưng vì mỗi một sao còn có vài nghĩa nên mặc dù ta chỉ có 512640 lá số nhưng kết quả tiên đoán về số mệnh có gấp ngàn lần số đó. Nếu ta cần thu thập cả mấy triệu lời giải lá số làm training data thì ta không cần ML nữa vì lúc này cái máy “Tử Vi” của ta trở thành một máy chứa lời giải, một Excel spreadsheet. Mục đích dùng ML là để dùng một số ít training data mà có thể tiên đoán được rất nhiều kết quả mới. Còn nếu phải dùng một triệu training data để tiên đoán được hai triệu kết quả mới thì đó không phải là mục đích của ML. Không đáng dù có làm được.

Tóm lại, câu trả lời cho “Machine learning (ML) có thể dùng trong Tử Vi được không?” theo tôi là không!

Ordinary
Trích dẫn

lytamhoan's Photo lytamhoan 08/07/2022

ML thực là do con người điều chỉnh các threshold dựa vào các kết quả training. Bài toán giải tử vi khác. Dựa hoàn toàn vào cách cục, âm dương ngũ hành,... Nên ứng dụng xem tử vi tự động là bài toàn giải phương trình nhiều biến thì đúng hơn là ML
Trích dẫn

hanhtrinhkhampha's Photo hanhtrinhkhampha 09/07/2022

Vui lòng Đăng nhập hoặc Đăng ký hội viên để đọc nội dung đã ẩn

Ordinary, on 08/07/2022 - 13:57, said:

Chào tất cả các bạn,

Đế trả lời câu hỏi này, chúng ta cần biết sơ qua về ML. ML được dùng để tiên đoán một kết quả (output) khi các yếu tố ảnh hưởng đến kết quả đó được cung cấp (inputs). Trước khi có thể tiên đoán một kết quả mới, machine (software) cần phải được huấn luyện (trained) để học (learn) sự liên hệ giữa các data (inputs và output). Data này là những dữ kiện cũ, đã có trước đây về sự việc đang tìm. Data càng nhiều thì kết quả của sự tiên đoán càng chính xác. Chẳng hạn trong một sự việc, ta thấy mỗi lần:

A = 2, B = 4 thì ta có kết quả C = 11
A = 3, B = 2 thì ta có kết quả C = 12
A = 1.2, B = 6 thì ta có kết quả C = 11

Sau khi đã dùng những bộ (sets) data trên để train cái máy này, ta có thể dùng nó để tiên đoán kết quả C mới cho một bộ inputs A, B mới, chẳng hạn khi:

A = 2, B =1.5 => C sẽ tiên đoán là 6

Trong thí dụ trên, ta chỉ cần train cái máy MỘT lần bằng 3 bộ data mà từ đó trở về sau ta có thể tiên đoán rất chính xác cả hằng TRĂM NGÀN inputs mới. Cái máy này đã được trained để tiên đoán kết quả cho phương trình C = 5A + 2B -7 mà không cần biết cái kết quả mà nó đang tiên đoán thực sự được tính bằng phương trình đó.

Để huấn luyện cái máy “Tử Vi”, ta phải cung cấp cho nó 5 inputs (năm, tháng, ngày, giờ và giới tính) và cái output (lời tiên đoán về số mệnh) tương ứng cho inputs đó. Đến đây ta đã thấy có vấn đề vì ta không bao giờ có một output ĐÚNG tương ứng với một bộ inputs. Có người sẽ nói là không sao, ta không cần đúng đến 100%, 80% là được rồi chẳng hạn. Vấn đề không phải đơn giản như vậy. Khi output mà có độ sai bất định (không phải lúc nào cũng khoảng 70%, 80% mà có thể thay đổi từ 30% cho đến 90% chẳng hạn, do ở outputs dùng cho training sai) thì cái kết quả đó không được ổn định (unstable), không được nhất quán (unique): nó tùy thuộc vào từng bộ inputs/output dùng trong huấn luyện. Nếu ta dùng một số training sets khác thì output lại khác hoàn toàn thay vì không khác nhau mấy (chỉ khác chút ít về độ chính xác mà thôi) cho các áp dụng khác (như thời tiết chẳng hạn). Vì mỗi một sao có vài nghĩa nên ta sẽ không có một kết quả nhất quán. Ta sẽ không tìm C = 5A + 2B -7 mà là C1 = 5A1 + 2B1 -7, C2 = 5A1 + 2B2 -7, C3 = 5A1 + 2B3 -7, C4 = 5A2 + 2B1 -7, …… Không những thế phải có sự liên quan giữa inputs và output (qua một phương trình chẳng hạn C = 5A + 2B -7). Trong Tử Vi ta không có sự liên hệ đó, mỗi một dữ kiện có liên hệ rất ít, hoặc hoàn toàn độc lập, với một dữ kiện khác (khi ta dùng 110 sao là 110 inputs).

Ngoài ra mọi người thường nói là ta có khoảng 512640 lá số nhưng vì mỗi một sao còn có vài nghĩa nên mặc dù ta chỉ có 512640 lá số nhưng kết quả tiên đoán về số mệnh có gấp ngàn lần số đó. Nếu ta cần thu thập cả mấy triệu lời giải lá số làm training data thì ta không cần ML nữa vì lúc này cái máy “Tử Vi” của ta trở thành một máy chứa lời giải, một Excel spreadsheet. Mục đích dùng ML là để dùng một số ít training data mà có thể tiên đoán được rất nhiều kết quả mới. Còn nếu phải dùng một triệu training data để tiên đoán được hai triệu kết quả mới thì đó không phải là mục đích của ML. Không đáng dù có làm được.

Tóm lại, câu trả lời cho “Machine learning (ML) có thể dùng trong Tử Vi được không?” theo tôi là không!

Ordinary

Quan điểm cá nhân của tôi như sau:
1. Nên giải một (vài) bài toán dự đoán cụ thể thay vì chỉ nhìn vào bài toán lớn
Đa số mọi người khi lập luận đều nhìn ở output vô cùng cao siêu và phức tạp. Thực tế, khi bắt đầu một thứ nào đó, nên thực nghiệm có output đơn giản rồi mới tăng dần độ khó, và tổng quát hoá nếu có thể. Hãy nhìn dưới đất cho kĩ rồi nhìn lên trời.

2. Đầu vào là năm, tháng, ngày, giờ và giới tính
Chưa đủ! Tuỳ theo phương pháp xem hạn thì lá số sẽ được tạo lập và có cách xem hoàn toàn khác nhau.

3. Từ lá số, cần feature extraction (trích chọn đặc trưng) để chọn những sao cần xem
Ta không phải cứ tống vô khoảng 100 sao vào để xem, mà phải chọn những sao liên quan đến bài toán đang cần dự đoán (để giảm nhiễu). Điều này là quan trọng để tăng độ chính xác mô hình dự đoán.
Trích dẫn