Bài toán phân lớp có 1 lớp dữ liệu năm 2024

  • 1. LIỆU
  • 2. toán phân lớp dữ liệu • Giới thiệu phân lớp dữ liệu • Các dụng phân lớp dữ liệu trong kinh tế  Một số phương pháp phân lớp • Hồi quy Logistic [Logistic Regression] • Cây quyết định [ Decision Tree] • SVM [Support Vector Machine]  Các phương pháp đánh giá mô hình phân lớp • Ma trận nhầm lẫn [Confusion matrix] • Độ chính xác [Accuracy] • ROC, AUC, Precision/Recall • Cross Validation: Holdout và K-fold cross validation  Minh họa bằng công cụ Orange
  • 3. lớp dữ liệu Định nghĩa Là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp [loại] đã cho trước nhờ một mô hình phân lớp. Mô hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó [thuộc về lớp nào]. Quá trình gán nhãn [thuộc lớp nào] cho đối tượng dữ liệu chính là quá trình phân lớp dữ liệu.
  • 4. lớp dữ liệu Thuật toán phân lớp Dữ liệu huấn luyện Mô hình phân lớp Dữ liệu kiểm thử Kết quả phân lớp dùng để đánh giá mô hình Dữ liệu mới Kết quả phân lớp thực tế Quá trình phân lớp dữ liệu
  • 5. lớp dữ liệu Quá trình phân lớp dữ liệu gồm 2 bước chính:  Bước 1: Xây dựng mô hình [hay còn gọi là giai đoạn “học” hoặc “huấn luyện”]  Bước 2: Sử dụng mô hình chia thành 2 bước nhỏ. • Bước 2.1: Đánh giá mô hình [kiểm tra tính đúng đắn của mô hình] • Bước 2.2: Phân lớp dữ liệu mới Quá trình phân lớp dữ liệu
  • 6. lớp dữ liệu Bước 1: Xây dựng mô hình phân lớp  Dữ liệu đầu vào: là dữ liệu mẫu đã được gán nhãn và tiền xử lý.  Các thuật toán phân lớp: cây quyết định, hàm số toán học, tập luật…  Kết quả của bước này là mô hình phân lớp đã được huấn luyện [trình phân lớp]
  • 7. lớp dữ liệu Bước 2.1: Đánh giá mô hình  Dữ liệu đầu vào: là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý. Tuy nhiên lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn.  Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình. Thuộc tính bị “lờ” đi Kết quả phân lớp
  • 8. lớp dữ liệu Bước 2.2: Phân lớp dữ liệu mới Dữ liệu đầu vào: là dữ liệu “khuyết” thuộc tính cần dự đoán lớp [nhãn] Mô hình sẽ tự động phân lớp [gán nhãn] cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1
  • 9. lớp dữ liệu Phân loại bài toán phân lớp Nhiệm vụ của bài toán phân lớp là phân các đối tượng dữ liệu vào n lớp cho trước. Nếu: n = 2: Phân lớp nhị phân. n > 2: Phân lớp đa lớp. Mỗi đối tượng dữ liệu chỉ thuộc vào 1 lớp duy nhất: Phân lớp đơn nhãn. Một đối tượng dữ liệu có thể cùng lúc thuộc về nhiều lớp khác nhau: Phân lớp đa nhãn.
  • 10. phân lớp dữ liệu trong kinh tế  Tài chính ngân hàng  Dự báo giá chứng khoán  Xếp hạng tín dụng cá nhân và tổ chức  Đánh giá rủi ro tài chính  Sales & Marketing  Dự báo doanh thu  Dự báo khách hàng trung thành  Kinh tế học  Dự báo khủng hoảng kinh tế  Dự báo cung cầu
  • 11. pháp phân lớp Logistic Regression
  • 12. pháp phân lớp Hồi quy logistic [Logistic Regression] Định nghĩa: Là một mô hình xác suất dự đoán giá trị đầu ra rời rạc từ một tập các giá trị đầu vào [biểu diễn dưới dạng vector] Mô tả: Đối với bài toán phân lớp: Tập nhãn 𝒚 = 𝑦1, 𝑦2, … , 𝑦𝑛 𝑣ớ𝑖 𝑛 𝑙à 𝑠ố 𝑙ớ𝑝 Một đối tượng dữ liệu 𝒙 = 𝑥1, 𝑥2, … , 𝑥𝑑 𝑣ớ𝑖 𝑑 𝑙à 𝑠ố 𝑡ℎ𝑢ộ𝑐 𝑡í𝑛ℎ 𝑐ủ𝑎 𝑚ỗ𝑖 𝑑ò𝑛𝑔 𝑑ữ 𝑙𝑖ệ𝑢 𝑣à đượ𝑐 𝑏𝑖ể𝑢 𝑑𝑖ế𝑛 𝑑ướ𝑖 𝑑ạ𝑛𝑔 𝑣𝑒𝑐𝑡𝑜𝑟 Hàm logistic 𝑃 𝑦 = 1 = 1 1+𝑒− 𝑤0+𝑤1𝑥1+𝑤2𝑥2+⋯.+𝑤𝑑𝑥𝑑 dự đoán đối tượng xem đối tượng x sở hữu các thuộc tính cụ thể sẽ thuộc vào lớp y nào.
  • 13. pháp phân lớp Hồi quy logistic [Logistic Regression] 𝑷[𝒚] = 𝒔𝒊𝒈𝒎𝒐𝒊𝒅 𝒛 = 𝟏 𝟏+𝒆−𝒛 . . . . x0 x1 x2 xd w0 w1 w2 wd z a 0 1 Trong đó: d là số lượng đặc trưng [thuộc tính] của dữ liệu, w là trọng số, ban đầu sẽ được khởi tạo ngẫu nhiên, sau đó sẽ được điều chỉnh lại cho phù hợp Mô hình phân lớp nhị phân sử dụng phương pháp hồi quy logistic 𝒛 = 𝒅 𝒊=𝟎 𝒘𝒊𝒙𝒊
  • 14. giản  Xét bài toán phân lớp [nhị phân] phân lớp nguy cơ vỡ nợ trong tập khách hàng cá nhân để quyết định trong việc cho vay tiêu dùng:  Biến phân lớp [biến phụ thuộc]: y =1: vỡ nợ ; y = 0: không vỡ nợ.  Biến độc lập 𝑥1, 𝑥2, … , 𝑥𝑑 bao gồm: tuổi, học vấn, thu nhập, tài sản…  Hàm logistic [sigmoid]: 𝑃 𝑦 = 1 = 1 1+𝑒− 𝑤0+𝑤1𝑥1+𝑤2𝑥2+⋯.+𝑤𝑑𝑥𝑑  Một ngưỡng t để phân lớp [nếu 𝑃 𝑦 ≥ 𝑡 thì phân vào lớp có thể vỡ nợ và ngược lại]  Vấn đề: cần tìm bộ hệ số [trọng số]: 𝑤0, 𝑤1, 𝑤2 … 𝑤𝑑 phù hợp để ước lượng  Bộ hệ số này sẽ được tính toán và điều chỉnh trong giai đoạn huấn luyện. Sau đó, sẽ được sử dụng trong quá trình đánh giá mô hình và phân lớp dữ liệu mới.
  • 15. pháp phân lớp Cây quyết định [Decision Tree] Khái niệm: Trong lý thuyết quản trị, cây quyết định là đồ thị các quyết định cùng các kết quả khả dĩ đi kèm nhằm hỗ trợ quá trình ra quyết định. Trong lĩnh vực khai thác dữ liệu, cây quyết định là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập dữ liệu cho trước.
  • 16. pháp phân lớp Cây quyết định [Decision Tree] Thuộc tính phân lớp
  • 17. pháp phân lớp Cây quyết định [Decision Tree]
  • 18. [Decision Tree]
  • 19. [Decision Tree] Ưu khuyết điểm Ưu điểm: Dễ hiểu Không đòi hỏi việc chuẩn hóa dữ liệu Có thể xử lý trên nhiều kiểu dữ liệu khác nhau. Xử lý tốt một lượng dữ liệu lớn trong thời gian ngắn Khuyết điểm: Khó giải quyết trong tình huống dữ liệu phụ thuộc thời gian Chi phí xây dựng mô hình cao
  • 20. Machine] Giới thiệu:  SVM là một thuật toán có giám sát, SVM nhận dữ liệu vào, xem chúng như những các vector trong không gian và phân loại chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu.  Để tối ưu kết quả phân lớp thì phải xác định siêu phẳng [hyperplane] có khoảng cách đến các điểm dữ liệu [margin] của tất cả các lớp xa nhất có thể.  SVM có nhiều biến thể phù hợp với các bài toán phân loại khác nhau.
  • 21. Machine] Một số khái niệm:  Margin: là khoảng cách giữa siêu phẳng [trong trường hợp không gian 2 chiều là đường thẳng] đến 2 điểm dữ liệu gần nhất tương ứng với 2 phân lớp. SVM cố gắng tối ưu bằng cách tối đa hóa giá trị margin này, từ đó tìm ra siêu phẳng đẹp nhất để phân 2 lớp dữ liệu. Nhờ vậy, SVM có thể giảm thiểu việc phân lớp sai [misclassification] đối với điểm dữ liệu mới đưa vào.
  • 22. Machine]  Support Vectors: Bài toán của chúng ta trở thành tìm ra 2 đường biên của 2 lớp dữ liệu sao cho khoảng cách giữa 2 đường này là lớn nhất. Siêu phẳng cách đều 2 biên đó chính là siêu phẳng cần tìm. Các điểm xanh, đỏ nằm trên 2 đường biên [màu xanh lá] được gọi là các support vector, vì chúng có nhiệm vụ hỗ trợ để tìm ra siêu phẳng [màu cam]
  • 23. Machine] VÍ DỤ: Bài toán trong không gian hai chiều  𝑦𝑖: là các lớp chứa các điểm dữ liệu 𝑥𝑖. Ở ví dụ này y mang giá trị 1 và -1 [có 2 lớp]  𝑥𝑖 : là một vector thực nhiều chiều đại diện cho một đối tượng dữ liệu cụ thể.  Giả sử 2 đường thẳng song song đi qua các support vector của 2 lớp dữ liệu lần lượt là: 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑏 = 1 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑏 = −1 Viết gọn lại là: 𝑤𝑥 − 𝑏 = 1 và 𝑤𝑥 − 𝑏 = −1. Trong đó: • w: là một vector pháp tuyến • Khoảng cách giữa hai đường thẳng chính là margin =2 𝑤1 2 + 𝑤2 2 • Khi đó đường thẳng phân cách cần tìm là: 𝑤1𝑥1 + 𝑤2𝑥2 + 𝑏 = 0 hay 𝑤𝑥 − 𝑏 = 0
  • 24. Machine] Tổng quát hóa trong không gian nhiều chiều  Số chiều của không gian bài toán [còn gọi là không gian đặc trưng] tương ứng với số lương thuộc tính [đặc trưng] của một đối tượng dữ liệu.  Phương trình biểu diễn siêu phẳng cần tìm [hyperlane] trong không gian đa chiều là: 𝑤𝑇 𝑥 + 𝑏 = 0 và giá trị margin = 2 𝑤𝑇𝑥+𝑏 𝑤 = 2 𝑤  Mục tiêu của SVM là cần tìm giá trị margin cực đại đồng nghĩa với việc 𝑤 đạt cực tiểu với điều kiện:  Hàm mục tiêu cần tối ưu là một norm nên là một hàm lồi => bài toán quy hoạch toàn phương [Quadratic Programing]
  • 25. Machine] Các biến thể của SVM Các biến thể của SVM  Ưu điểm: • Tiết kiệm bộ nhớ [do quá trình test chỉ cần so điểm dữ liệu mới với mặt siêu phẳng tìm được mà không cần tính toán lại] • Linh hoạt: vừa có thể phân lớp tuyến tính và phi tuyến [sử dụng các kernel khác nhau] • Xử lý được trong không gian nhiều chiều  Khuyết điểm: • Trong trường hợp số chiều dữ liệu lớn hơn số dòng dữ liệu thì SVM cho kết quả không tốt. • Chưa thể hiện tính xác suất trong phân lớp.
  • 26. đánh giá mô hình phân lớp Khái niệm: Là các phương pháp nhằm kiểm tra tính hiệu quả của mô hình phân lớp trên dữ liệu có đặc thù cụ thể, từ đó quyết định có sử dụng mô hình đó hay không. Một mô hình lý tưởng là một mô hình không quá đơn giản, không quá phức tạp và không quá nhạy cảm với nhiễu [tránh underfitting và overfitting].
  • 27. đánh giá mô hình phân lớp Underfitting [chưa khớp]: Mô hình được coi là chưa khớp nếu nó chưa được chưa phù hợp với tập dữ liệu huấn luyện và cả các mẫu mới khi dự đoán. Nguyên nhân có thể là do mô hình chưa đủ độ phức tạp cần thiết để bao quát được tập dữ liệu. Tồn tại nhiều điểm dữ liệu mà mô mình không phân loại được đúng dẫn đến độ chính xác mô hình thấp.
  • 28. đánh giá mô hình phân lớp Overfitting [quá khớp]: Overfitting là hiện tượng mô hình tìm được quá khớp với dữ liệu huấn luyện. Điều này dẫn đến việc dự đoán cả nhiễu nên mô hình không còn tốt khi phân lớp trên dữ liệu mới. Quá khớp xảy ra khi lượng dữ liệu huấn luyện quá nhỏ trong khi độ phức tạp của mô hình quá cao nên mặc dù độ chính xác cao nhưng không thể mô tả được xu hướng tổng quát của dữ liệu mới [còn được gọi là High Variance].
  • 29. đánh giá mô hình phân lớp Good fitting: Là trường hợp mô hình cho ra kết quả hợp lý với cả tập dữ liệu huấn luyện và các giá trị mới, tức mang tính tổng quát. Ngoài thực tế mô hình tốt là mô hình cho kết quả hợp lý một cách chấp nhận được trên dữ liệu mẫu lẫn dữ liệu mới. Trong tất cả các giả thiết có thể giải thích được một hiện tượng, ta nên chọn giả thiết đơn giản nhất [Occam's razor] => Do đó, trong tất cả các model "đúng", chọn model đơn giản nhất.
  • 30. lẫn [Confusion Matrix]  Ma trận nhầm lẫn: là ma trận chỉ ra có bao nhiêu điểm dữ liệu thực sự thuộc vào một lớp cụ thể, và được dự đoán là rơi vào lớp nào.  Confusion matrix là có kích thước k x k với k là số lượng lớp của dữ liệu. VD: Ở bộ dữ liệu Iris có 3 nhãn dữ liệu là: Sentosa, versicolor và virginica và có ma trận nhầm lẫn được vẽ bằng python như hình bên dưới. Giá trị tại ô [i;j] cho biết số lượng mẫu i bị phân vào lớp j.
  • 31. ma trận nhầm lẫn  Bài toán chuẩn đoán ung thư ta có 2 lớp: lớp bị ung thư được chuẩn đoán Positive và lớp không bị ung thư được chuẩn đoán là Negative:  TP [True Positive]: Số lượng dự đoán chính xác. Là khi mô hình dự đoán đúng một người bị ung thư.  TN [True Negative]: Số lương dự đoán chính xác một cách gián tiếp. Là khi mô hình dự đoán đúng một người không bị ung thư, tức là việc không chọn trường hợp bị ung thư là chính xác.  FP [False Positive - Type 1 Error]: Số lượng các dự đoán sai lệch. Là khi mô hình dự đoán một người bị ung thư và người đó hoàn toàn khỏe mạnh.  FN [False Negative - Type 2 Error]: Số lượng các dự đoán sai lệch một cách gián tiếp. Là khi mô hình dự đoán một người không bị ung thư nhưng người đó bị ung thư, tức là việc không chọn trường hợp bị ung thư là sai.
  • 32. xác]  Là tỷ lệ số mẫu được phân lớp đúng trong toàn bộ tập dữ liệu. 𝑎𝑐𝑐 = 𝑇𝑃+𝑇𝑁 𝑛 => 𝐸𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 = 1 − 𝑎𝑐𝑐 là độ lỗi của mô hình  Accuracy chỉ cho chúng ta biết được tỷ lệ 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, và dữ liệu thuộc lớp nào thường bị phân loại nhầm vào lớp khác.
  • 33. score  Precision [độ chính xác]: cho biết trong số m mẫu được phân vào lớp i thì có tỷ lệ bao nhiêu mẫu có đúng [tránh nhầm lẫn với tính chính xác accuracy] 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 [𝑇𝑃 + 𝐹𝑃]  Recall [độ phủ] còn gọi là độ phủ hay độ nhạy [sensitivity] hay TPR [True Positive Rate] 𝑟𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 [𝑇𝑃 + 𝐹𝑁]  F1-score: giá trị trung bình điều hòa [harmonic mean] của hai độ đo Precision và Recall. 𝐹1 = 2 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙 F1 có giá trị gần với giá trị nào nhỏ hơn giữa 2 giá trị Precision và Recall. F1 sẽ có giá trị lớn nếu cả 2 giá trị Precision và Recall đều lớn.
  • 34. ROC [Receiver Operating Characteristic] Là một đồ thị được sử dụng khá phổ biến trong đánh giá các mô hình phân loại nhị phân. Đường cong này được tạo ra bằng cách biểu diễn tỷ lệ dự báo true positive rate [TPR] dựa trên tỷ lệ dự báo false positive rate [FPR] tại các ngưỡng khác nhau. Một mô hình hiệu quả khi có FPR thấp và TPR cao, hay ROC càng tiệm cận với điểm [0;1] trong đồ thị thì mô hình càng hiệu quả.
  • 35. AUC [Area Under the Curve] Là diện tích nằm dưới đường cong ROC. Giá trị này là một số dương nhỏ hơn hoặc bằng 1. Giá trị này càng lớn thì mô hình càng tốt.
  • 36. chia dữ liệu Hold-out  Phương pháp Hold-out phân chia tập dữ liệu ban đầu thành 2 tập độc lập theo 1 tỷ lệ nhất định. Ví dụ, tập huấn luyện [training set] chiếm 70%, tập thử nghiệm [testing set] chiếm 30%.  Phương pháp này thích hợp cho các tập dữ liệu nhỏ. Tuy nhiên, các mẫu có thể không đại diện cho toàn bộ dữ liệu [thiếu lớp trong tập thử nghiệm].  Có thể cải tiến bằng cách dùng phương pháp lấy mẫu sao cho mỗi lớp được phân bố đều trong cả 2 tập dữ liệu huấn luyện và đánh giá. Hoặc lấy mẫu ngẫu nhiên : thực hiện holdout k lần và độ chính xác acc[M] = trung bình cộng k giá trị chính xác.
  • 37. Phương pháp này phân chia dữ liệu thành k tập con có cùng kích thước [gọi là các fold].  Một trong các fold được sử dụng làm tập dữ liệu đánh giá và phần còn lại được sử dụng làm tập huấn luyện.  Quá trình lặp lại cho đến khi tất cả các fold đều đã được dùng làm tập dữ liệu đánh giá.  Xét ví dụ: 5-fold cross validation
  • 38. cross validation  Phương pháp K-fold thường được sử dụng nhiều hơn do mô hình sẽ được huấn luyện và đánh giá trên nhiều phần dữ liệu khác nhau. Từ đó tang độ tin cậy cho các độ đo đánh giá của mô hình.  Phương pháp Hold-out thường cho hiệu quả tốt trên các tập dữ liệu lớn. Tuy nhiên, ở các tập dữ liệu nhỏ hoặc vừa phải, hiệu quả của mô hình sử dụng phương pháp này phụ thuộc nhiều vào cách chia cũng như tỷ lệ chia dữ liệu.
  • 39. cụ Orange  Cho tập dữ liệu bán hàng [Sales_Data.xlsx]
  • 40. cụ Orange  Bài toán: cần dự báo phân loại khách hàng [Forecast_Data.xlsx]
  • 41. cụ Orange  Chọn nguồn dữ liệu và xác định mô hình dự báo Biến phụ thuộc Biến không tham gia vào mô hình
  • 42. cụ Orange  Dự báo bằng 1 thuật toán cụ thể [VD: LR] Kết quả
  • 43. cụ Orange  So sánh các thuật toán, rồi dùng thuật toán tốt nhất để dự báo
  • 44. cụ Orange  Kết quả huấn luyện với 3 thuật toán K-fold với k=5 AUC: Area Under the Curve CA: Accuracy F1, Precision, Recall
  • 45. cụ Orange  Xem kết quả Ma trận nhầm lẫn
  • 46. cụ Orange  Kết quả dự báo bằng phương pháp SVM
  • 47. khảo  [1] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery Handbook”, Second Edition, Springer Science + Business Media, LLC 2005, 2010  [2] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and Vipin Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC, 2009  [3] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006  [4] Daniel T. Larose, “Data mining methods and models”, John Wiley & Sons, Inc, 2006.

Chủ Đề