Quy trình xây dựng hệ thống machine learning

Tiền xử lý—Xử lý dữ liệu

Xử lý dữ liệu là một trong những bước quan trọng khi xây dựng một hệ thống machine learning. Mục đích của việc xử lý dữ liệu là làm sạch dữ liệu (cleaning data), biến đổi (transform) chúng thành các kiểu mà những thuật toán có thể hiểu và thực thi.

Nhiều thuật toán yêu cầu các đặc tính (feature) phải được rút gọn theo tỷ lệ (scale) để tối ưu hiệu suất bằng cách rút gọn các giá trị xuống khoảng [0, 1] hoặc có phân phối chuẩn tắc (hay standard normal distribution, là phân phối chuẩn với giá trị trung bình bằng 0 và phương sai bằng 1—Wikipedia).

Một số đặc tính đôi khi sẽ có mối quan hệ tương quan khá lớn không cần thiết nên có thể cần áp dụng phương pháp hạ bậc không gian để giảm kích thước dữ liệu và khiến thuật toán chạy nhanh hơn.

Để kiểm tra hiệu quả của thuật toán, dữ liệu sẽ được chia thành hai nhóm một cách ngẫu nhiên là dữ liệu đào tạo (training data) và dữ liệu kiểm thử (test data). Dữ liệu đào tạo được dùng để huấn luyện và tối ưu thuật toán, trong khi dữ liệu kiểm thử dùng để kiểm tra độ chính xác và độ khái quát của thuật toán cuối.

Huấn luyện và lựa chọn mô hình

Các thuật toán machine learning được phát triển để giải quyết những vấn đề khác nhau. Dù một số thuật toán có thể giải quyết cùng một vấn đề nhưng chúng có ưu nhược điểm khác nhau. Do đó cần lựa chọn một số thuật toán phù hợp nhất để xây dựng mô hình machine learning và đánh giá hiệu quả giữa chúng.

Một trong những thông số được sử dụng để đánh giá là độ chính xác phân loại (classification accuracy) được tính bằng tỷ lệ của số giá trị được thuật toán phân loại đúng so với tổng số giá trị.

Câu hỏi quan trọng phải được đặt ra khi lựa chọn mô hình là: Làm sao chúng ta biết được mô hình nào hoạt động hiệu quả trên nhóm dữ liệu kiểm thử cuối cùng và dữ liệu thực tế nếu ta không sử dụng dữ liệu này trong việc lựa chọn mô hình, mà dùng nó để đánh giá mô hình cuối cùng? Vì vậy mà phương pháp kiểm tra chéo (cross validation) ra đời. Phương pháp này tiếp tục chia nhỏ nhóm dữ liệu đào tạo thành dữ liệu đào tạo và dữ liệu kiểm tra chéo.

Cuối cùng, không nên tin tưởng hoàn toàn vào các tham số (parameter) mặc định của thuật toán được cung cấp bởi thư viện phần mềm khi tìm kiếm giải pháp. Vì vậy mà ta cần tinh chỉnh các siêu tham số (hyperparameter) để tối ưu mô hình.

Đánh giá mô hình và đưa ra dự đoán

Sau khi lựa chọn các mô hình và huấn luyện chúng bằng nhóm dữ liệu đào tạo, chúng ta sẽ dùng nhóm dữ liệu kiểm thử để đánh giá hiệu quả và độ khái quát của mô hình đối với dữ liệu mới. Nếu thấy hài lòng với kết quả đạt được, chúng ta có thể đưa mô hình vào hoạt động. Ngược lại, chúng ta tiến hành tinh chỉnh cho đến khi tối ưu nhất.

Lưu ý, trong trường hợp áp dụng phương pháp rút gọn theo tỷ lệ hay hạ bậc không gian đối với nhóm dữ liệu đào tạo thì phải áp dụng lại các thông số đó cho nhóm dữ liệu kiểm thử và dữ liệu mới sau này.


Nguồn: