Skip to content

End-to-End Machine Learning Project

End-to-End Machine Learning Project

Tổng quan

  • Machine Learning là một lĩnh vực của trí tuệ nhân tạo. Mục tiêu của machine learning là hiểu được cấu trúc của dữ liệu và điều chỉnh dữ liệu thành các model mà con người có thể áp dụng vào việc dự đoán, đưa ra quyết định từ những thông tin có sẵn.

  • Machine learning được ứng dụng trong nhiều lĩnh vực như nhận dạng chữ viết (OCR), đưa ra dự đoán thời tiết, đưa ra để xuất sản phẩn tiêu dùng, công nghệ nhận diện khuôn mặt …

  • Vì đây là một lĩnh vực không ngừng phát triển, nên bài viết này sẽ giúp người đọc có một cái nhìn tổng quan, hiểu rõ thêm về các bước để tạo lên một chương trình machine learning, và những điều bạn cần lưu ý khi bạn xây dựng một project machine learning.

ML illustration

Nội dung chuyên môn chính

Sau đây là các bước chính để tạo nên một chương trình machine learning. Chúng ta sẽ tìm hiểu rõ hơn từng bước trong phần đọc tiếp theo.

  • Bước 1 : Look at the big picture.

  • Bước 2 : Get the data.

  • Bước 3 : Discover and visualize the data to gain insights.

  • Bước 4 : Prepare the data for Machine Learning algorithms.

  • Bước 5 : Select a model and train it.

  • Bước 6 : Fine-tune your model.

  • Bước 7 : Present your solution.

  • Bước 8 : Launch, monitor, and maintain your system.

1. Look at the big picture (nhìn tổng quang chương trình).

Trước khi làm một chương trình machine learning bạn nên tìm hiểu rõ về những điều bạn định làm, và bạn muốn nó hoàn thành như thế nào. Để giúp bạn định hướng dễ dàng hơn hãy trả lời những câu hỏi sau:

  • Mục đích cuối cùng của chương trình bạn tạo ra là gì ?

  • Các giải pháp mà bạn hiện có, hay những giải pháp bạn định thực hiện là gì, cách thực hiện của bạn như thế nào ?

  • Bạn sẽ sử dụng thuật toán nào ?

  • Hiệu suất mà bạn muốn là bao nhiêu ?

Look at the big picture

2. Get the data (thu thập dữ liệu).

Để có một model tốt trước tiên bạn phải có một tập dữ liệu tốt, và bạn có thể tìm dữ liệu ở một vài nguồn sau đây.

  • UCI Machine Learning Repository

  • Kaggle datasets

  • Amazon’s AWS public datasets

  • dataportals.org

  • opendatamonitor.eu

  • Wikipedia’s list of Machine Learning datasets

  • Datasets subreddit

getData

Dữ liệu rất quan trọng với những chương trình machine learning vì thế khi thu thập data bạn cần phải thu thập dữ liệu một cách có chọn lọc.

3. Discover and visualize the data to gain insights (khám phá và trực quan hoá dữ liệu để có được những cái nhìn chi tiết).

  • Visualizing Geographical Data (trực quan hoá dữ liệu)

  • Looking for Correlations (tìm kiếm mối tương quan)

  • Experimenting with Attribute Combinations (thử nghiệm với việc kết hợp các thuộc tính)

4. Prepare the data for Machine Learning algorithms (Chuẩn bị dữ liệu cho các thuật toán Học máy).

  • Data Cleaning (Làm sạch dữ liệu)

  • Handling Text and Categorical Attributes (Xử lý các thuộc tính văn bản và phân loại)

  • Custom Transformers

  • Feature Scaling

  • Transformation Pipelines

cleanData

5. Select a model and train it (Chọn một mô hình và đào tạo nó).

  • Training and Evaluating on the Training Set (đào tạo và đánh giá)

  • Better Evaluation Using Cross-Validation (đánh giá tốt hơn bằng cách sử dụng xác thực chéo)

6. Fine-tune your model (tinh chỉnh model).

  • Grid Search (tìm kiếm theo lưới)

  • Randomized Search (tìm kiếm ngẫu nhiên)

  • Ensemble Methods (phương pháp dự đoán nhóm)

  • Analyze the Best Models and Their Errors (phân tích những model tốt nhất và những lỗi gặp phải)

  • Evaluate Your System on the Test Set (đánh giá hệ thống trên tập test)

Fine tuneModel

7. Present your solution (trình bày giải pháp của bạn).

  • Document what you have done (ghi lại những gì bạn đã làm) .

  • Create a nice presentation (tạo một bài trình bày đẹp).

  • Explain why your solution achieves the business objective (giải thích tại sao giải pháp của bạn hiểu quả).

  • Don’t forget to present interesting points you noticed along the way (ghi lại những điểm thú vị mà bạn nhận thấy khi làm dự án).

  • Ensure your key findings are communicated through beautiful visualizations or easy-to-remember statements (những kết quả hay những phát hiện của bạn cần được trình bày rõ ràng, dễ hiểu, dễ nhớ).

8. Launch, monitor, and maintain your system (khởi chạy, giám sát và bảo trì hệ thống).

  • Write monitoring code: catch system breakage and performance degradation. (Viết mã giám sát giúp bắt lỗi hệ thống và giám sát hiệu xuất của chương trình)

  • Human evaluation: analyze the system’s output regularly (by experts, workers…) (các kỹ sư, các nhà phát triển cần đánh giá thường xuyên)

  • Monitor system’s input: poor quality input, e.g., blur images from cameras, noisy signals from sensors, can degrade system performance. (dữ liệu đầu vào của các hệ thống giám sát có thể làm giảm hiệu suất của hệ thống dự đoán)

  • Retrain the models on a regular basis using fresh data (đào tạo là một model thường xuyên với dữ liệu mới).

Tham khảo

  • Aurelien Geron (2017) Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems

book

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *