Checklist: 8 bước chuẩn bị cho một dự án Machine Learning

Tôi nhận thấy việc hệ thống hóa và so sánh các cách giải thích khác nhau về một quy trình cụ thể nhằm mục đích củng cố cách giải thích của chính mình về quy trình nói trên là một việc đáng làm. Trước đây tôi đã làm như vậy với các cách giải thích khác về cái mà chúng ta có thể gọi là quy trình học máyMachine Learning process (và có thể được liên kết chặt chẽ một cách hợp lý với khoa học dữ liệu hoặc quy trình khai thác dữ liệu, ít nhất là ở mức độ nào đó).

Các bài đăng trước đây đã xem xét mô hình CRISP-DM cổ điển, quy trình KDD, mô hình 4 bước của Francois Chollet (nhắm vào Keras, nhưng có thể khái quát hóa), 7 bước để học máy của Yufeng Guo và thậm chí cả các sửa đổi nhằm mục đích cụ thể đến các lĩnh vực hẹp hơn, chẳng hạn như bộ khung tác vụ khoa học dữ liệu dựa trên văn bản. Trong nỗ lực cải tiến hơn nữa các mô hình nội bộ của chúng tôi, bài đăng này sẽ trình bày tổng quan về bảng checklist dự án học máy của Aurélien Géron, như đã thấy trong cuốn sách bestseller của ông, “Hands-On Machine Learning with Scikit-Learn & TensorFlow”. Đó là một cách tiếp cận tương tự như quy trình 7 bước của Guo, nhưng ở cấp độ cao hơn một chút; nó được trình bày dưới dạng checklist cho các dự án đang tiếp cận và do đó, nó có cảm giác ít mang tính quy định hơn và mang tính mô tả nhiều hơn.

Và dưới đây là mô tả tổng quan, ngắn gọn về checklist của Géron. Tôi có một gợi ý nhỏ là những ai chưa đọc cuốn sách của Géron hãy xem qua nó để có thêm các thông tin hữu ích dành cho người mới bắt đầu cũng như những người đang thực hành ML.

Giải pháp hạ tầng Deep Learning, Trí tuệ Nhân tạo - AI

1. Định hình vấn đề

Bước đầu tiên này là nơi mục tiêu được xác định. Géron đề cập đến các mục tiêu theo thuật ngữ kinh doanh, nhưng điều này không thực sự cần thiết. Tuy nhiên, sự hiểu biết về cách mà giải pháp của hệ thống học máy được khai thác là rất quan trọng. Bước này cũng là nơi thảo luận về các kịch bản có thể so sánh và cách giải quyết hiện tại đối với một vấn đề nhất định, cũng như các giả định được dự tính và mức độ cần thiết về chuyên môn của con người được xác định. Các mục kỹ thuật quan trọng khác cần đưa ra trong bước này bao gồm xác định loại vấn đề học máy nào (được giám sát, không giám sát, v.v.) được áp dụng, và sử dụng các số liệu hiệu suất phù hợp.

2. Lấy dữ liệu

Bước này tập trung vào dữ liệu: xác định lượng dữ liệu cần thiết, loại dữ liệu cần thiết, lấy dữ liệu ở đâu, đánh giá các nghĩa vụ pháp lý xung quanh việc thu thập dữ liệu… và tiến hành lấy dữ liệu. Khi bạn có dữ liệu trong tay, hãy đảm bảo dữ liệu được ẩn danh một cách thích hợp, đảm bảo bạn biết loại dữ liệu thực sự là gì (chuỗi thời gian, quan sát, hình ảnh, v.v.), chuyển đổi dữ liệu sang định dạng bạn yêu cầu và tạo nội dung đào tạo, xác nhận, và các bộ thử nghiệm như đã được đảm bảo.

 3. Khám phá dữ liệu

Bước này trong danh sách kiểm tra tương tự như bước thường được gọi là Phân tích dữ liệu thăm dò (Exploratory Data Analysis, EDA). Mục đích là để thử và hiểu rõ hơn về dữ liệu trước khi lập mô hình. Hãy nhớ lại rằng ở bước đầu tiên, các giả định về dữ liệu phải được xác định và khám phá; đây là thời điểm tốt để điều tra sâu hơn những giả định này. Các chuyên gia có thể được sử dụng cụ thể trong bước này, trả lời các câu hỏi về mối tương quan mà người thực hành học máy có thể không rõ ràng. Việc nghiên cứu các tính chất và đặc điểm của chúng được thực hiện ở đây, cũng như trực quan hóa chung về các đặc điểm và giá trị của chúng (ví dụ, hãy nghĩ xem việc nhanh chóng xác định các ngoại lệ bằng sơ đồ khối dễ dàng hơn nhiều so với việc thẩm vấn bằng số). Việc ghi lại những phát hiện trong quá trình khám phá của bạn để sử dụng sau này là một cách làm tốt.

 4. Chuẩn bị dữ liệu

Đã đến lúc áp dụng các chuyển đổi dữ liệu mà bạn đã xác định là xứng đáng ở bước trước. Bước này cũng bao gồm mọi hoạt động làm sạch dữ liệu mà bạn sẽ thực hiện, cũng như cả việc lựa chọn tính năng (feature) và kỹ thuật. Bất kỳ quy mô tính năng nào để chuẩn hóa và/hoặc bình thường hóa giá trị cũng sẽ diễn ra ở đây.

 5. Lập mô hình dữ liệu

Đã đến lúc lập mô hình dữ liệu và giảm bớt nhóm mô hình ban đầu xuống thành nhóm có vẻ hứa hẹn nhất. (Điều này tương tự như bước lập mô hình đầu tiên trong quy trình của Chollet: mô hình tốt → mô hình “quá tốt”, bạn có thể đọc thêm tại đây) Những nỗ lực như vậy có thể liên quan đến việc sử dụng các mẫu của tập dữ liệu đầy đủ để tạo điều kiện thuận lợi về thời gian đào tạo cho các mô hình sơ bộ, các mô hình nên bao gồm nhiều loại (cây, mạng lưới thần kinh, tuyến tính, v.v.). Các mô hình phải được xây dựng, đo lường và so sánh với nhau, đồng thời phải nghiên cứu các loại lỗi gây ra cho từng mô hình cũng như các tính năng quan trọng nhất cho từng thuật toán được sử dụng. Các mô hình hoạt động tốt nhất sẽ được đưa vào ‘danh sách rút gọn’ (shortlist), sau đó có thể được tinh chỉnh.

 6. Tinh chỉnh mô hình

Các mô hình được đưa vào danh sách rút gọn hiện đã được tinh chỉnh các siêu tham số (hyperparameter) và các phương pháp tổng hợp cần được nghiên cứu ở giai đoạn này. Nên sử dụng bộ dữ liệu đầy đủ trong bước này nếu các mẫu dữ liệu đã được sử dụng trong giai đoạn lập mô hình trước đó; không có mô hình đã tinh chỉnh nào được chọn là “chiến thắng” mà không tiếp xúc với tất cả dữ liệu huấn luyện hoặc đã so sánh với các mô hình khác cũng đã tiếp xúc với tất cả dữ liệu huấn luyện. Ngoài ra, cần xem liệu nó có ‘overfit’ (thuật ngữ ML ám chỉ về việc chỉ hiệu quả với dữ liệu cũ và thất bại với dữ liệu mới) không?

 7. Trình bày giải pháp

Giờ là lúc trình bày, hy vọng kỹ năng phác thảo của bạn (hoặc của ai đó trong nhóm) đã đạt đến trình độ tương ứng! Đây là một bước ít mang tính kỹ thuật hơn nhiều, mặc dù việc đảm bảo tài liệu phù hợp về các khía cạnh kỹ thuật của hệ thống tại thời điểm này cũng rất quan trọng. Trả lời câu hỏi cho các bên quan tâm: Các bên quan tâm có hiểu được bức tranh toàn cảnh không? Giải pháp có đạt được mục tiêu không? Bạn đã truyền đạt những giả định và hạn chế chưa? Đây thực chất là một “trò chơi bán hàng”, vì vậy hãy đảm bảo rằng điều nhận được là sự tin tưởng vào hệ thống. Tại sao tất cả những điều này lại có tác dụng nếu kết quả không được hiểu và chấp nhận?

 8. Khởi chạy hệ thống ML

Chuẩn bị sẵn sàng hệ thống học máy cho giai đoạn sản xuất; nó sẽ cần phải được kết nối với một số hệ thống hoặc chiến lược production rộng hơn. Là một giải pháp phần mềm, nó sẽ được thực hiện unit test trước và cần được giám sát đầy đủ sau khi thiết lập và chạy. Đào tạo lại các mô hình trên dữ liệu mới hoặc cập nhật là một phần của quá trình này và cần được tính đến ở đây, ngay cả khi điều này đã được nghĩ đến ở bước trước đó.

Nguồn Matthew Mayo – KDnuggets

____
Bài viết liên quan

Góp ý / Liên hệ tác giả