Các phương pháp đánh giá mô hình machine learning & deep learning
Đánh giá các mô hình học máy
Mô hình phân loại (Classification)Mô hình hồi quy (Regression)Xếp hạng (Ranking)
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é.
Bạn đang xem: Áp dụng mô hình học máy để phân loại dữ liệu khách hàng
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 ML | Các trường hợp sử dụng |
Phân loại / hồi quy tuyến tính | Cá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ọa | Phá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ên | Dự đoán kết quả |
Mạng nơ-ron học sâu | Thị 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ưaPositive/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.
PrecisionNhư đã 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.
RecallRecall 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
Metric | Cô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-score | 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 GoogleXế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ụcPairwise 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 Nhiều tổ chức tài chính sử dụng các mô hìnhchấm điểm tín dụngđể giảm rủi ro trong đánh giá tín dụng cũng như trong việc cấp và giám sát tín dụng. Các mô hìnhchấm điểm tín dụngdựa trên các lý thuyết thống kê cổ điển được sử dụng rộng rãi. Tuy nhiên, các mô hình này không dùng được khi có số lượng lớn dữ liệu đầu vào. Điều này ảnh hưởng đến tính chính xác của dự báo dựa trên mô hình. Trong bài này, chúng tôi sẽ giải thích cách học máy (machine learning) có thể được sử dụng trong việcchấm điểm tín dụngđể đạt được độ chính xác cao hơn từ việc phân tích số lượng lớn dữ liệu. Theo nhiều nghiên cứu thực nghiệm, các kỹ thuật học máy cùng với các thuật toán khai thác dữ liệu (data mining) khác dựa trên sự cách tính toán và chuyển đổi kiểu mới hoạt động tốt hơn cho mục đích dự báo. Các thuật toán học máy được thiết kế để học từ một lượng lớn dữ liệu lịch sử và sau đó tính toán ra kết quả dự báo. Lấy điểm tín dụng cho các khoản vay từ các ngân hàng bán lẻ làm ví dụ. Quá trình kinh doanh điển hình cho việc cung cấp dịch vụ cho vay là: nhận các hồ sơ vay vốn, đánh giá rủi ro tín dụng, ra quyết định về việc cho vay và giám sát việc hoàn trả vốn gốc và lãi. Trong quá trình đó, các vấn đề có thể xảy ra, chẳng hạn như làm thế nào để đẩy nhanh tiến trình thẩm định tín dụng và làm thế nào để giám sát quá trình hoàn trả và thực hiện can thiệp kịp thời khi khả năng vỡ nợ xuất hiện. Để giải quyết hai vấn đề nêu trên, chúng ta có thể xây dựng hai mô hình trong hai tiến trình khởi tạo vốn vay và tiến trình giám sát.![]() Đối tượng cần kiểm tra bao gồm tất cả các ứng viên nộp đơn xin vay vốn. Mô hình có thể được sử dụng để phân tích và học thông qua dữ liệu lịch sử của các hồ sơ đăng ký vay vốn, qua đó đánh giá liệu một ứng viên mới có đủ tin cậy để được vay hay không nếu các chỉ tiêu đặc trưng của người nộp đơn được cung cấp, như thu nhập, tình trạng hôn nhân, tuổi, lịch sử tín dụng (chẳng hạn đã từng nợ xấu hay chưa), v.v. Trong quá trình giám sát:Hệ thống kiếm tra dữ liệu của người được duyệt vay vốn. Bằng cách sử dụng dữ liệu lịch sử hồ sơ hoàn trả và trạng thái đặc điểm của khách hàng đã hoàn thành toàn bộ quá trình vay vốn, chúng ta có thể đào tạo mô hình khác để đưa ra dự kiến về việc liệu khách hàng này có xác suất lớn hay không khả năng vỡ nợ; bằng cách quan sát hồ sơ hoàn trả của người nộp đơn cho một vài giai đoạn hoàn vốn đầu tiên và thay đổi các đặc tính, mô hình này sẽ giúp tạo ra các điều chỉnh mới dựa trên thông tin cập nhật. Quy trình tự động này hiệu quả hơn về thời gian xử lý cũng như tính chính xác so với cách làm truyền thống. Tuy nhiên, có rất nhiều thuật toán học máy đang có sẵn, câu hỏi đặt ra là “Thuật toán nào là tốt nhất?”. Không có câu trả lời rõ ràng cho câu hỏi này vì tính hiệu quả của các thuật toán phụ thuộc vào dữ liệu và còn phụ thuộc vào cấu trúc dữ liệu cụ thể. Cách chung để tìm một mô hình thích hợp cho một bộ dữ liệu cụ thể hoặc một loại tập dữ liệu là áp dụng thuật toán đã được sử dụng rộng rãi và đã được kiểm chứng. Trong hai tiến trình được nhắc tới ở trên, cả hai trông giống nhau nhưng có các mô hình khác nhau. Tiến trình giám sát hoàn trả trông tương tự như tiến trình cấp vốn vay, nhưng nó được học và đúc rút ra từ các dữ liệu lịch sử khác nhau, cụ thể là từ khách hàng cũ đã hoàn thành việc trả nợ, bao gồm toàn bộ lịch sử hồ sơ thanh toán và các đặc điểm của khách hàng. Một thuật toán học máy khác có thể được ứng dụng để phù hợp tương ứng với các thay đổi của cấu trúc dữ liệu. Ngày nay, các thuật toán học máy hay được sử dụng nhất có thể được phân loại là phân loại đơn hoặc phân loại toàn bộ. Các đại diện của các thuật toán phân loại đơn là CART, Naïve Bayes, SVM, logistics. Việc sửa đổi các bộ phân loại đơn, nhiều mô hình cùng học để giải quyết cùng một vấn đề, được sử dụng rộng rãi, chẳng hạn như Random Forests, CART-Adaboost, v.v. Về cơ bản, học máy cũng giống như việc dạy kiến thức tài chính cho một học sinh mới dựa trên số liệu lịch sử để thực hiện xác định chất lượng của khoản vay, sau đó anh ta sẽ có kinh nghiệm để tự quyết định. Nói rộng hơn, kỹ thuật học máy có thể được sử dụng trong tất cả các loại vấn đề phân loại. Nếu doanh nghiệp của bạn có vấn đề trong việc phân loại, tại sao bạn không thử áp dụng học máy để cải thiện tình hình? Trong lĩnh vực ngân hàng/bảo hiểm, dựa trên Machine Learning chúng tôi phát triển các ứng dụng, bao gồm |