Trong các bài toán học máy với dữ liệu chuỗi thời gian, đặc trưng thời gian như hour , day , month có tính chất vòng lặp. Tuy nhiên nếu biểu diễn chúng như các số tuyến tính thông thường, model sẽ hiểu sai về độ gần nhau của các thời điểm. Để máy học hiểu được tính chất vòng lặp này, chúng ta sử dụng toán học ánh xạ thời gian lên một vòng tròn đơn vị (Unit Circle) bằng các hàm lượng giác sin và cos . Nguồn tham khảo chính cho kỹ thuật này được lấy từ bài viết: Cyclical Encoding: An Alternative to One-Hot Encoding for Time Series Features (Haden Pelletier, May 3, 2024). Biểu diễn thời gian bằng Sin & Cos Mỗi thời điểm trong một chu kỳ được tách thành hai feature mới: Sin Component Cos Component Công thức tổng quát: $$ x_{sin} = \sin\left(\frac{2 \pi \times t}{T}\right) $$ $$ x_{cos} = \cos\left(\frac{2 \pi \times t}{T}\right) $$ Trong đó: $t$ : giá trị thời gian hiện tại (ví dụ: giờ trong ngày). $T$ : độ...
Machine Learning (ML) không còn là sân chơi riêng của Python hay các team AI lớn. Với ML.NET , C# developer có thể xây dựng, train và sử dụng model Machine Learning ngay trong hệ sinh thái .NET quen thuộc. Bài viết này hướng tới việc giúp bạn hiểu bản chất ML.NET, không chỉ dừng lại ở việc copy code. 1. Machine Learning là gì? Ở mức đơn giản nhất: Machine Learning = viết chương trình mà logic không nằm trong code, mà nằm trong dữ liệu. Thay vì viết các điều kiện if-else ngày càng phức tạp, ta đưa dữ liệu quá khứ cho model học và tự rút ra quy luật. if (age > 30 && income > 100000) { return "Good Customer"; } Machine Learning không thay thế developer — nó thay thế những rule-based logic quá cứng nhắc và khó mở rộng. 2. ML.NET giúp C# developer như thế nào? ML.NET là framework Machine Learning mã nguồn mở do Microsoft phát triển, cho phép bạn: Viết ML 100% bằng C# Chạy trực tiếp trong .NET runtime Train, evaluat...