Trang chủ Bài viết Tạp chí AI Bài 5: Tối ưu mô hình để có kết quả tốt hơn
Tạp chí AI 20/03/2025 88 lượt xem

Bài 5: Tối ưu mô hình để có kết quả tốt hơn

1. Giới thiệu

Sau khi huấn luyện và đánh giá mô hình, bạn có thể thấy rằng độ chính xác chưa tốt hoặc sai số còn cao. Vậy làm sao để cải thiện mô hình?

Trong bài này, bạn sẽ học:
✅ Các yếu tố ảnh hưởng đến chất lượng mô hình.
✅ Tối ưu dữ liệu đầu vào.
✅ Chọn thuật toán tốt hơn.
✅ Điều chỉnh tham số mô hình (Hyperparameter Tuning).
✅ Kỹ thuật AutoML.NET giúp tối ưu tự động.


2. Các yếu tố ảnh hưởng đến chất lượng mô hình

Một mô hình tốt phụ thuộc vào nhiều yếu tố:

1️⃣ Dữ liệu đầu vào:

- Dữ liệu có bị thiếu hoặc sai không?

- Có quá nhiều cột dư thừa không?

- Có cột nào quan trọng nhưng chưa được dùng không?

2️⃣ Thuật toán học máy (Machine Learning Algorithm):

- Đang dùng thuật toán phù hợp chưa?

- Có thuật toán nào khác tốt hơn không?

3️⃣ Tham số thuật toán (Hyperparameters):

- Cần điều chỉnh tham số nào để cải thiện mô hình?

4️⃣ Số lượng dữ liệu huấn luyện:

- Dữ liệu càng nhiều thì mô hình càng chính xác.

🎯 Mục tiêu: Giảm sai số, tăng độ chính xác để có mô hình tốt nhất!


3. Tối ưu dữ liệu đầu vào

Chất lượng mô hình = Chất lượng dữ liệu!

📌 Một số kỹ thuật cải thiện dữ liệu:

- Loại bỏ dữ liệu trùng lặp hoặc không hợp lệ.

- Xử lý giá trị bị thiếu (có thể dùng giá trị trung bình để thay thế).

- Chuẩn hóa dữ liệu (đưa dữ liệu về cùng một đơn vị).

Tạo thêm đặc trưng quan trọng (Feature Engineering).

📌 Ví dụ:
Nếu đang dự đoán giá xe, cột “Số năm sử dụng” có thể quan trọng hơn cột “Năm sản xuất”.

Thay vì dùng cột "Year", có thể tạo cột mới như sau:

int currentYear = DateTime.Now.Year;
carData.YearsUsed = currentYear - carData.Year;

🔹 Lợi ích: Mô hình có thể hiểu dữ liệu rõ hơn! 🚀


4. Chọn thuật toán tốt hơn

ML.NET có nhiều thuật toán khác nhau. Một số thuật toán tốt cho hồi quy (Regression):

Thuật toán Mô tả Khi nào nên dùng?
FastTree Regression Cây quyết định nhanh Dữ liệu không quá lớn
LightGBM Regression Gradient Boosting mạnh Dữ liệu lớn, nhiều đặc trưng
Sdca Regression Hồi quy tuyến tính tối ưu Khi dữ liệu tuyến tính

📌 Ví dụ: Thay đổi thuật toán từ FastTree sang LightGBM

var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "YearsUsed", "Mileage" })
    .Append(mlContext.Regression.Trainers.LightGbm());

Kết quả: Có thể giảm sai số và tăng độ chính xác!


5. Điều chỉnh tham số mô hình (Hyperparameter Tuning)

Mỗi thuật toán có các tham số có thể điều chỉnh để tối ưu hiệu suất. Ví dụ với FastTree Regression:

📌 Thay đổi số lượng cây quyết định (NumberOfTrees) và độ sâu (MaximumDepth)

var trainer = mlContext.Regression.Trainers.FastTree(
    numberOfTrees: 200, 
    minimumExampleCountPerLeaf: 10,
    maximumDepth: 8
);
var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "YearsUsed", "Mileage" })
    .Append(trainer);

🎯 Lợi ích:

- Số cây cao hơn → Mô hình mạnh hơn nhưng có thể chậm.

- Sâu hơn → Hiểu dữ liệu tốt hơn nhưng có thể bị overfitting.

🔹 Cách tốt nhất để chọn tham số? 👉 AutoML.NET!


6. Dùng AutoML.NET để tối ưu tự động

AutoML.NET giúp tự động thử nghiệm các thuật toán và tham số tốt nhất!

📌 Cài đặt AutoML.NET:

dotnet add package Microsoft.ML.AutoML

📌 Chạy thử nghiệm để tìm mô hình tốt nhất:

using Microsoft.ML.AutoML;

var experimentSettings = new RegressionExperimentSettings
{
    MaxExperimentTimeInSeconds = 600 // Chạy trong 10 phút
};

var experiment = mlContext.Auto().CreateRegressionExperiment(experimentSettings);
var result = experiment.Execute(trainData, labelColumnName: "Price");

Console.WriteLine($"Mô hình tốt nhất: {result.BestRun.TrainerName}");
Console.WriteLine($"Sai số nhỏ nhất: {result.BestRun.ValidationMetrics.MeanAbsoluteError}");

AutoML sẽ chọn thuật toán và tham số tốt nhất cho bạn!


7. Tổng kết

Chất lượng mô hình phụ thuộc vào dữ liệu, thuật toán và tham số.
Dọn dẹp & tối ưu dữ liệu giúp mô hình hoạt động tốt hơn.
Chọn thuật toán phù hợp với bài toán của bạn.
Điều chỉnh tham số mô hình để giảm sai số.
Dùng AutoML.NET để tìm mô hình tối ưu một cách tự động.

Tác giả: TEDU

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Chia sẻ:

Bài viết liên quan