Blog

Mô hình machine learning là gì? Các bước xây dựng và phương pháp đánh giá mô hình học máy

Mô hình machine learning là gì? Các mô hình machine learning được sử dụng trong từng trường hợp như thế nào? Về bản chất, tất cả đều được dự đoán dựa trên sự hiểu biết về vấn đề kinh doanh và dữ liệu và thuật toán machine learning phải được áp dụng cho vấn đề, dẫn đến mô hình machine learning giải quyết nhu cầu của dự án. Hãy cùng Cole.vn làm rõ hơn trong bài viết này nhé.

Mô hình học máy là gì?

Mô hình học máy là một biểu hiện của một thuật toán quét qua hàng núi dữ liệu để tìm ra các mẫu hình hoặc đưa ra dự đoán. Được cung cấp dữ liệu, các mô hình machine learning là “động cơ” toán học của trí tuệ nhân tạo.

Ví dụ: mô hình machine learning cho thị giác máy tính có thể xác định ô tô và người đi bộ trong video thời gian thực. Một ứng dụng khác là để xử lý ngôn ngữ tự nhiên có thể dịch các từ và câu.

Về cơ bản, một mô hình là một biểu diễn toán học của các đối tượng và mối quan hệ của chúng với nhau. Các đối tượng có thể là bất cứ thứ gì, từ “lượt thích” trên một bài đăng trên mạng xã hội cho đến các phân tử trong một thí nghiệm ở phòng lab.

Phân loại các mô hình machine learning

Loại mô hình MLCác trường hợp sử dụng
Phân loại / hồi quy tuyến tínhCác mẫu trong dữ liệu số, chẳng hạn như bảng tính tài chính
Mô hình đồ họaPhát hiện gian lận hoặc nhận thức tình cảm
Cây quyết định / Rừng ngẫu nhiênDự đoán kết quả
Mạng nơ-ron học sâuThị giác máy tính, xử lý ngôn ngữ tự nhiên và hơn thế nữa

Ví dụ, các mô hình tuyến tính sử dụng đại số để dự đoán mối quan hệ giữa các biến trong các dự báo tài chính. Mô hình đồ thị thể hiện dưới dạng biểu đồ một xác suất, chẳng hạn như liệu người tiêu dùng có chọn mua một sản phẩm hay không. Mượn phép ẩn dụ về các nhánh, một số mô hình ML có dạng cây quyết định hoặc nhóm chúng được gọi là rừng ngẫu nhiên.

Trong đợt bùng nổ của AI vào năm 2012, các nhà nghiên cứu nhận thấy học sâu là một trong những kỹ thuật thành công nhất để tìm ra các mẫu hình và đưa ra dự đoán. Nó sử dụng một loại mô hình học máy được gọi là mạng thần kinh vì nó được lấy cảm hứng từ các mô hình và chức năng của tế bào não.

Các phương pháp đánh giá mô hình machine learning & deep learning

Tại sao phải đánh giá mô hình học máy

Khi bạn đã xây dựng một mô hình machine learning và huấn luyện nó trên một tập dữ liệu, điều tiếp theo bạn nên làm là đánh giá hiệu năng của mô hình trên tập dữ liệu mới. 

Việc đánh giá mô hình giúp chúng ta giải quyết những vấn đề sau:

  • Mô hình đã được huấn luyện thành công hay chưa?
  • Mức độ thành công của mô hình tốt đến đâu?
  • Khi nào nên dừng quá trình huấn luyện?
  • Khi nào nên cập nhật mô hình?

Trả lời được 4 câu hỏi trên, chúng ta có thể quyết định mô hình này có thực sự phù hợp cho bài toán hay không.

Đánh giá một mô hình có tốt hay không thường được thực hiện trên dữ liệu mà mô hình chưa được huấn luyện. Tỷ lệ thường thấy của một tập dữ liệu huấn luyện so với tập dữ liệu thử nghiệm là 70% và 30%. 

Chúng ta sử dụng dữ liệu mới khi đánh giá mô hình nhằm giảm thiểu khả năng quá khớp (overfitting) đối với tập huấn luyện. Đôi khi sẽ hữu ích khi đánh giá mô hình và cùng lúc huấn luyện nó để tìm ra các chỉ số tốt nhất của một mô hình. Tuy nhiên, chúng ta không thể sử dụng bộ thử nghiệm để thực hiện đánh giá này. Hoặc chúng ta sẽ phải chọn các thông số hoạt động tốt nhất trên dữ liệu thử nghiệm, nhưng có thể không phải là các tham số bao quát nhất.

Đánh giá các mô hình học máy

Trong quá trình xây dựng một mô hình Machine Learning, một phần không thể thiếu để xét xem mô hình có chất lượng tốt hay không chính là đánh giá mô hình. Đánh giá mô hình giúp chúng ta chọn lựa được các mô hình phù hợp với bài toán cụ thể. Để có thể áp dụng đúng thước đo đánh giá mô hình phù hợp, chúng ta cần hiểu bản chất, ý nghĩa cũng như các trường hợp sử dụng nó. Cùng phân tích và tìm hiểu các thước đo này nhé!

Để rõ ràng hơn, mình sẽ tập trung phân tích các metric đánh giá đối với: mô hình phân loại (classification), mô hình hồi quy (regression) và xếp hạng (Ranking)

Mô hình phân loại (Classification)

Classification là một bài toán được sử dụng vô cùng rộng rãi trong Machine Learning với các tính ứng dụng đa dạng như nhận diện khuôn mặt, phân loại video Youtube, phân loại văn bản, phân loại giọng nói, …

Có thể kể tới một vài mô hình tiêu biểu như Support Vector Machine (SVM), Logistic Regression, Decision Trees, Random Forest, XGboost, …

Dưới đây là một số metrics để đánh giá mô hình phân loại mà cole.vn sưu tầm được:

Confusion Matrix (Đây không phải là 1 metric, nhưng rất quan trọng)

Chúng ta cùng tìm hiểu một thuật ngữ cơ bản được sử dụng trong các bài toán phân loại – Confusion matrix (AKA error matrix). Nó thể hiện được có bao nhiêu điểm dữ liệu thực sự thuộc vào một class, và được dự đoán là rơi vào một class. Để dễ hiểu hơn, chúng ta cùng làm một ví dụ nhé

Ví dụ một bài toán phân loại ảnh đó là mèo hay không, trong dữ liệu dự đoán có 100 ảnh là mèo, 1000 ảnh không phải là mèo. Ở đây, kết quả dự đoán là như sau

Trong 100 ảnh mèo dự đoán đúng 90 ảnh, còn 10 ảnh được dự đoán là không phải. Nếu ta coi cat là “positive” và non-cat là “negative”, thì 90 ảnh được dự đoán là cat, được gọi là True Positive, còn 10 ảnh được dự đoán non-cat kia được gọi là False Negative. Trong 1000 ảnh non-cat, dự đoán đúng được 940 ảnh là non-cat, được gọi là True Negative, còn 60 ảnh bị dự đoán nhầm sang cat được gọi là False Positive

Có thể tới đây nhiều người sẽ khá là lẫn lộn, “True”, “False” rồi “Positive”, “Negative”. Vậy để có một cách dễ nhớ, có một mánh nhỏ như sau

  • True/False ý chỉ những gì ta đã dự đoán là đúng hay chưa
  • Positive/Negative chỉ những gì ta dự đoán (có hoặc không) Nói cách khách, nếu thấy chữ True tức là dự đoán là đúng (là cat hay non-cat, chỉ cần đúng), còn False thì ngược lại.
Classification Accuracy

Đây là độ đo của bài toán phân loại mà đơn giản nhất, tính toán bằng cách lấy số dự đoán đúng chia cho toàn bộ các dự đoán. Ví dụ với bài toán Cat/Non-cat như trên, độ chính xác sẽ được tính như sau:

Classification Accuracy = (90+940)/(1000+100) = 93.6%

Nhược điểm của cách đánh giá này là chỉ cho ta biết được bao nhiêu phần trăm lượng dữ liệu được phân loại đúng mà không chỉ ra được cụ thể mỗi loại được phân loại như thế nào, lớp nào được phân loại đúng nhiều nhất hay dữ liệu của lớp nào thường bị phân loại nhầm nhất vào các lớp khác.

Precision

Như đã nói phía trên, sẽ có rất nhiều trường hợp thước đo Accuracy không phản ánh đúng hiệu quả của mô hình. Giả sử mô hình dự đoán tất cả 1100 ảnh là Non-cat, thì Accuracy vẫn đạt tới 1000/1100 = 90.9%, khá cao nhưng thực chất mô hình khá là tồi Vì vậy chúng ta cần một metric có thể khắc phục được những yếu điểm này. Precision là một trong những metrics có thể khắc phục được, công thức như sau:

Áp dụng vào bài toán Cat/Non-cat, Precision sẽ được tính như sau:

Precision(cat) = 90/(90+60) = 60% Precision(non-cat) = 940/(940+10) = 98.9%

Có thể thấy việc dự đoán Cat chưa thực sự tốt nhờ phép Precision này. Precision sẽ cho chúng ta biết thực sự có bao nhiêu dự đoán Positive là thật sự True. 

Recall

Recall cũng là một metric quan trọng, nó đo lường tỷ lệ dự báo chính xác các trường hợp positive trên toàn bộ các mẫu thuộc nhóm positive. Công thức của Recall như sau:

Áp dụng vào bài toán Cat/Non-cat, Precision sẽ được tính như sau:

Recall(cat) = 90/(90+10) = 90%

Recall(non-cat) = 940/(940+60) = 94%

Recall cao đồng nghĩa với việc True Positive Rate cao, tức là tỷ lệ bỏ sót các điểm thực sự là positive là thấp.

Ngoài ra còn một số metric như F1-score, Sensitivity – Specificity, AUC

MetricCông thức tính
F1-score: Một metric phổ biến đã kết hợp cả Recall và Precision lại được gọi là F1-scoreMetric F1-score đánh giá mô hình học máy, mô hình machine learning
Sensitivity – Specificity: Sensitivity và Specificity là 2 metrics được sử dụng trong các bài toán phân loại liên quan đến y tế và sinh họcMetric đánh giá mô hình học máy, mô hình machine learning
AUC: AUC (Area Under the Curve) là một phép đo tổng hợp về hiệu suất của phân loại nhị phân trên tất cả các giá trị ngưỡng có thể có.Metric AUC đánh giá mô hình học máy, mô hình machine learning

Mô hình hồi quy (Regression)

Mô hình hồi quy (Regression model) được sử dụng để dự đoán các giá trị mục tiêu là giá tị liên tục. Mô hình này cũng có tính ứng dụng vô cùng rộng, từ bài toán dự đoán giá nhà, hệ thống định giá thương mại điện tử, dự báo thời tiết, dự đoán thị trường chứng khoán, cho đến chuyển hóa độ phân giải hình ảnh siêu cao, tính năng học tập thông qua bộ mã hóa tự động, nén hình ảnh

Một vài mô hình hồi quy phổ biến có thể kể đến như hồi quy tuyến tính (Linear Regression), Random Forest, Convolution neural network (tùy vào bài toán mà CNN sẽ phục vụ, CNN có thể đáp ứng cả bài toán phân loại cũng như hồi quy), …

Các metrics được sử dụng để đánh giá mô hình hồi quy phải có khả năng làm việc với tập các giá trị liên tục, và mình xin giới thiệu một số metrics phổ biến sau:

MSE (Mean Square Error) 

MSE (Mean Square Error) có lẽ là một metric phổ biến nhất trong các bài toán hồi quy. Về cơ bản, nó tính trung bình của bình phương sai số giữa giá trị thực tế và giá trị dự đoán

Giả sử ta có một bài toán mà chắc hẳn ai đọc về Machine Learning cũng từng đọc qua, chính là bài toán dự đoán giá nhà. Coi giá trị thực tế của nhà thứ i là yi, còn giá trị dự đoán của căn nhà đó là yi’. Vậy, MSE có thể được tính như sau:

MAE

MAE (Mean Absolute Error) là 1 metric đánh giá mô hình bằng cách tính trung bình giá trị tuyệt đối sai số giữa giá trị thực tế và giá trị dự đoán. Công thức MAE được định nghĩa như sau:

MAE được biết đến là mạnh mẽ hơn đối với các yếu tố ngoại lai (outliers) so với MSE. Lý do chính bởi vì MSE sử dụng bình phương lỗi, các ngoại lai (những samples mà có lỗi cao hơn hẳn các samples khác) sẽ được chú ý và chiếm ưu thế hơn (do tính bình phương) trong việc đánh giá và điều này tác động đến các thông số của mô hình.

Inlier Ratio Metric

Ngoài ra còn có một metric khác dùng để đánh giá các mô hình hồi quy, được gọi là tỷ lệ Inlier. Metric này mình thấy cũng không có nhiều bài báo khoa học dùng, về cơ bản là tính tỷ lệ phần trăm các điểm dữ liệu được dự đoán có lỗi nhỏ hơn biên. Số liệu này chủ yếu được sử dụng trong mô hình RANSAC4 và các phần mở rộng của nó. 

Xếp hạng (Ranking)

Ranking được coi là một vấn đề cơ bản trong Machine Learning, nó xếp hạng một danh sách các mục dựa vào sự liên quan giữa chúng trong các bài toán cụ thể (ví dụ như xếp hạng các pages trên Google dựa vào sự liên quan với câu truy vấn tìm kiếm). Theo mình tìm hiểu được, Ranking được ứng dụng rộng rãi trong thương mại điện tử (E-commerce) và các công cụ tìm kiếm (search engines), cụ thể:

  • Gợi ý phim ảnh (Netflix, Youtube)
  • Xếp hạng page của Google
  • Xếp hạng sản phẩm thương mại điện tử (Amazon)
  • Tự động hoàn thiện câu truy vấn
  • Tìm kiếm hình ảnh (vimeo)
  • Tìm kiếm nhà nghỉ (Expedia/Booking)

Trong bài toán Ranking, mô hình cố gắng dự đoán thứ hạng (hoặc chỉ số liên quan) của một danh sách các mục đối với task cụ thể. Thuật toán đối với Ranking có thể chia làm các nhóm sau:

  • Point-wise models: Dự đoán một điểm số đối với từng cặp truy vấn-văn bản trong dataset, và sử dụng nó để xếp hạng các mục
  • Pairwise models: Học một phân loại nhị phân mà có thể trả lời rằng văn bản này có liên quan tới truy vấn này hay không?
  • List-wise models: Tối ưu hóa trực tiếp giá trị của một trong các thước đô đánh giá, được tính trung bình trên tất cả các truy vấn.

Trong quá trình đánh giá, dự trên thức tự thực của danh sách các mục cho một số truy vấn, chúng ta muốn biết việc dự đoán các mục đó tốt như thế nào. Có khá nhiều metrics được đề xuất như MRR, Precision@K, DCG&NDCG, MAP, Kendall’s tau, … tuy nhiên chúng ta sẽ tập trung vào 3 metrics sau:

MRR

Mean Reciprocal Rank (MRR) là một trong những metrics đơn giản nhất trong việc đánh giá các ranking models. MRR tính trung bình của các thức hạng tương ứng của mục liên quan đầu tiên đối với tập các truy vấn Q, có thể định nghĩa nó như sau

Metric MRR xếp hạng mô hình học máy, mô hình machine learning

Một trong những hạn chế của MRR là nó chỉ tính đến thứ hạng của một trong các mục (mục có liên quan nhất, như ở query 2, chỉ quan tâm tới dự đoán d đầu tiên) và bỏ qua mục khác.

Precision@K

Precision@k : số tài liệu thật sự liên quan đến truy vấn trong k tài liệu có dự đoán liên quan cao nhất

Ví dụ bạn tìm kiếm từ khóa “Phim Mỹ”, và trong trang đầu tiến, có 8 trên 10 phim gợi ý bạn là phim Mỹ, vậy Precision@10 đối với truy vấn này là 8/10 = 0.8

Khái quát hóa, để tính Precision@k của tập các truy vấn Q, bạn có thể tính bằng cách lấy trung bình của các giá trị Precision@k của các queries trong Q

Hạn chế của Precision@k đó là nó không tốt đối với việc tính đến vị trị các tài liệu liên quan bởi nó chỉ tính số lượng

Metric Precision@K xếp hạng mô hình học máy, mô hình machine learning
DCG – NDCG

Normalized Discounted Cumulative Gain (NDCG) có lẽ là metric được được dung phổ biến nhất trong các bài toán learning to rank. Trái ngược với các metrics trước đó, NDCG xem xét thứ tự và sự liên quan quan trọng của các tài liệu, đồng thời chú trọng việc đưa ra các tài liệu có liên quan cao và danh sách được đề xuất

Cumulative Gain (CG) của một tập các tài liệu được truy xuất là tổng các điểm liên quan (relevance score) của chúng đối với câu truy vấn, được định nghĩa như sau:

Metric CG xếp hạng mô hình học máy, mô hình machine learning

Discounted Cumulative Gain (DCG) là phiên bản có trọng số của CG, sử dụng logarit để giảm relevance score tương ứng với vị trí của các kết quả. Điều này hữu ích với việc muốn ưu tiên cao hơn cho một vài mục tiêu đầu tiến sau khi phân tích hiệu suất của một hệ thống

DCG dựa trên giả định sau:

  • Các tài liệu có liên quan cao sẽ hưu ích hơn nếu xuất hiện sớm hơn trong kết quả tìm kiếm
  • Các tài liệu có liên quan cao sẽ hữu ích hơn các tài liệu có liên quan bên lề tốt hơn các tài liệu không liên quan

Normalized Discounted Cumulative Gain (NDCG) cố gắng nâng cao DCG để phù hợp hơn với các ứng dụng thực tế. Bởi tập hợp các mục được truy xuất có thể khác nhau về kích thước giữa các truy vấn hay hệ thống, NDCG cố gắng so sánh hiệu suất bằng các sử dụng phiên bản chuẩn hóa của DCG. Nói cách khác, nó sắp xếp các tài liệu của 1 danh sách kết quả theo mức độ liên quan, tìm vị trí p có DCG cao nhất, và sử dụng để chuẩn hóa DCG như sau:

Trong đó, IDCG (Ideal Discounted Cumulative Gain), được định nghĩa như sau:

NDCG là một metric khá phổ biến, tuy nhiên cũng có một số hạn chế nhất định. Một trong những hạn chế chính của nó là nó không bắt được các “bad documents” trong kết quả. Nó có thể không phù hợp để đo lường hiệu suất của các truy vấn mà thường có một số kết quả tốt ngang nhau.

>>> Đọc thêm:

KHOÁ HỌC TRUY VẤN VÀ THAO TÁC DỮ LIỆU SQL TỪ CƠ BẢN ĐẾN NÂNG CAO

KHÓA HỌC DATA WAREHOUSE : TỔNG HỢP, CHUẨN HÓA VÀ XÂY DỰNG KHO DỮ LIỆU TRONG DOANH NGHIỆP

KHÓA HỌC DATA MODEL – THIẾT KẾ MÔ HÌNH DỮ LIỆU TRONG DOANH NGHIỆP

LỘ TRÌNH TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU

DATA ENGINEER LÀ GÌ? CÔNG VIỆC CHÍNH CỦA DATA ENGINEER? CÁC KỸ NĂNG CẦN THIẾT

Nguồn: Internet

Leave a Reply

Your email address will not be published. Required fields are marked *