Trong Machine Learning cổ điển, khi muốn kiểm tra độ ổn định của mô hình, chúng ta thường dùng K-Fold Cross-Validation . Chúng ta xáo trộn dữ liệu, chia làm K phần và huấn luyện. Tuy nhiên, nếu bạn áp dụng cách này cho dữ liệu chuỗi thời gian (Time Series) như dự báo thời tiết, lượng điện tiêu thụ hay lưu lượng server, bạn đang mắc một sai lầm nghiêm trọng: Data Leakage (Rò rỉ dữ liệu). Lý do đơn giản: Bạn không thể dùng dữ liệu của "ngày mai" để dạy cho mô hình dự đoán "hôm nay". Hôm nay, chúng ta sẽ tìm hiểu về Walk-Forward Validation (WFV) và Walk-Forward Optimization (WFO) – tiêu chuẩn vàng để kiểm thử các mô hình phụ thuộc thời gian, đi kèm ví dụ thực tế sử dụng .NET 10 và ML.NET . 1. Walk-Forward Validation (WFV) là gì? Hãy tưởng tượng bạn đang đứng trên dòng thời gian. Bạn chỉ biết quá khứ và muốn dự đoán tương lai gần. WFV mô phỏng chính xác quá trình này. Thay vì xáo trộn dữ liệu ngẫu nhiên, WFV sử dụng một "cửa sổ trượt" (sliding...
Lúc mới học log, mình thấy nó khá khó chịu. Không phải vì công thức, mà vì câu hỏi này: “Tại sao logarithm (log) lại tồn tại?” Nếu chỉ học kiểu: $$ \log_4(16) = 2,\quad \log_4\left(\frac{1}{16}\right) = -2 $$ thì rất dễ quên. Vì não mình không biết tại sao mình cần nó . Bài này mình viết để trả lời đúng câu hỏi đó: log ra đời để làm gì, và vì sao ln được dùng nhiều nhất . 1. Log không sinh ra vì toán học đẹp Log ra đời vì con người… mệt. Trước khi có máy tính, người ta phải nhân và chia những con số rất lớn: tính lãi suất, hàng hải, thiên văn, thương mại. Nhân tay là cực hình. Ý tưởng thiên tài lúc đó là: “Có cách nào biến phép nhân thành phép cộng không?” Nếu một số được viết dưới dạng lũy thừa: $$ a^m \times a^n = a^{m+n} $$ thì phép nhân biến thành phép cộng. Log chính là cách để ghi lại số mũ đó. 2. Log thực sự đo cái gì? Log chỉ trả lời một câu hỏi duy nhất: “Cần nhân cơ số bao nhiêu lần để ra con số này?” Ví dụ: $$ \lo...