báo cáo btl môn khai phá dữ liệu đề tài một nghiên cứu so sánh các phương pháp phân loại cho dữ liệu nhiều chiều

15 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo btl môn khai phá dữ liệu đề tài một nghiên cứu so sánh các phương pháp phân loại cho dữ liệu nhiều chiều

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Cụ thể trong bài báo cáo này, chúng ta sẽ cùng thảo luận vềmột loại dữ liệu khá là phổ biến, đó là dữ liệu đa chiều High dimensionaldata với các phương pháp phân loại Classification Metho

Trang 1

VIỆN HÀN LÂM KHOA HỌC VÀCÔNG NGHỆ VN

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ

Báo cáo BTL môn Khai phá dữ liệu

Đề tài: Một nghiên cứu so sánh các phương pháp phânloại cho dữ liệu nhiều chiều

Hà Nội, tháng 9, 2022Giảng viên hướng dẫn:

Sinh viên thực hiện:

Trang 2

Mục Lục

II Một số nghiên cứu liên quan 61 High dimensional data (Dữ liệu đa chiều) 61.1 Tại sao dữ liệu đa chiều lại là một vấn đề? 61.2 Cách xử lý dữ liệu nhiều chiều 6a Chọn ít thuộc tính hơn 6b Sử dụng phương pháp chính quy hóa 72 Các mô hình học máy về phân lớp hiện nay 72.1 Logistic Regression 7

Trang 3

1.4.2 Mô hình phân lớp Naive Bayes 331.4.3 Một số kiểu mô hình Naive Bayes 34a Gaussian Naive Bayes 34b Multinomial Naive Bayes 34c Bernoulli Naive Bayes 35

Trang 4

1.5.1 Ý tưởng 371.5.2 Ưu điểm của K-nearest neighbor 371.5.3 Nhược điểm của K-nearest neighbor 382 Số đo về thống kê (statistical metrics) 38

2.2 Accuracy (độ chính xác) 41IV Thực nghiệm và phân tích 43

2 Kết quả và thảo luận 44

Trang 5

I Giới thiệu

Trong thời buổi cách mạng Công nghiệp 4.0 với sự phát triển chóng mặtcủa Công nghệ Trí tuệ nhân tạo (Artificial Intelligence) thì Dữ liệu là nền tảngcốt lõi của mỗi mô hình học máy (Machine Learning) (ML) Điều đó cho thấytầm quan trọng của dữ liệu và việc xử lý (Data Processing) và khai thác dữliệu (Data Mining) Có rất nhiều loại dữ liệu khác nhau, vậy phải làm sao đểcó thể biết được với mô hình học máy nào sẽ có thể khai thác hết tiềm năngcủa dữ liệu đó Cụ thể trong bài báo cáo này, chúng ta sẽ cùng thảo luận vềmột loại dữ liệu khá là phổ biến, đó là dữ liệu đa chiều (High dimensionaldata) với các phương pháp phân loại (Classification Methods).

Hiện nay, các vấn đề về phân loại dữ liệu đa chiều trở nên phổ biến donhững tiến bộ vượt bậc trong công nghệ Tính đa chiều cao đặt ra nhữngthách thức lớn về thống kê và khiến nhiều thuật toán phân loại truyền thốngkhông đạt được kết quả tốt để có thể sử dụng Trong bài báo cáo này, tôi sẽtrình bày tổng quan về các thuật toán học máy dùng để phân loại dữ liệu đachiều Tôi sẽ đi lần lượt và bắt đầu với các phương pháp học máy phổ biếnnhư Support Vector Machine (SVM), Decision Tree Classifier (DT), NaiveBayes Classifier (NB), Logistic Regression (LR), K-Neighbors Classifier (KNN).Sau đó chúng ta sẽ cùng thảo luận về các phương pháp học máy phân loại gầnđây hơn như các phương pháp Ensemble Classifier (Boosting Classifier,Random Forest Classifier, Bagging Classifier, Stacking Classifier) Và cuốicùng chúng ta sẽ cùng xem kết quả để có thể chọn ra được các thuật toán tốiưu nhất với mỗi bộ dữ liệu đa chiều khác nhau.

Trang 6

II Một số nghiên cứu liên quan

1 High dimensional data (Dữ liệu đa chiều)

High dimensional data dùng để chỉ một bộ dữ liệu trong đó số thuộctính p lớn hơn so với số lượng quan sát được N, thường được viết như p >> N.Ví dụ: một tập dữ liệu có p = 6 thuộc tính và chỉ N = 3 quan sát được sẽđược coi là dữ liệu đa chiều vì số lượng thuộc tính lớn hơn số lượng quan sát.

Một sai lầm phổ biến mà mọi người mắc phải là giả định rằng "dữ liệuđa chiều" chỉ đơn giản là một tập dữ liệu có rất nhiều thuộc tính Tuy nhiên,điều đó không chính xác Một tập dữ liệu có thể có 10.000 thuộc tính, nhưngnếu nó có 100.000 quan sát thì nó không phải là dữ liệu đa chiều.

1.1 Tại sao dữ liệu đa chiều lại là một vấn đề?

Khi số lượng thuộc tính trong tập dữ liệu vượt quá số lượng quan sát,chúng ta sẽ không bao giờ có câu trả lời xác định.

Nói cách khác, không thể tìm thấy một mô hình có thể mô tả mối quanhệ giữa các biến dự đoán và biến phản hồi vì chúng ta không có đủ quan sátđể đào tạo mô hình.

1.2 Cách xử lý dữ liệu nhiều chiều

Có hai cách phổ biến để xử lý dữ liệu nhiều chiều:

Trang 7

Bỏ các thuộc tính có nhiều giá trị bị thiếu: Nếu một cột nhất định trongtập dữ liệu có nhiều giá trị bị thiếu, bạn có thể loại bỏ hoàn toàn mà khôngmất nhiều thông tin.

Loại bỏ các thuộc tính có phương sai thấp: Nếu một cột nhất định trongtập dữ liệu có các giá trị thay đổi rất ít, bạn có thể loại bỏ nó vì nó không cókhả năng cung cấp nhiều thông tin hữu ích về biến phản hồi so với các tínhnăng khác.

Bỏ các thuộc tính có mức độ tương quan thấp với biến số phản hồi: Nếumột tính năng nhất định không có mối tương quan cao với biến số phản hồiđược quan tâm, bạn có thể loại bỏ nó khỏi tập dữ liệu vì nó không có khảnăng là một tính năng hữu ích trong một mô hình.

b Sử dụng phương pháp chính quy hóa.

Một cách khác để xử lý dữ liệu chiều cao mà không làm mất các tínhnăng khỏi tập dữ liệu là sử dụng kỹ thuật chính quy hóa như:

● Phân tích thành phần chính● Hồi quy các thành phần chính● Hồi quy Ridge

● Hồi quy Lasso

Mỗi kỹ thuật này có thể được sử dụng để xử lý hiệu quả dữ liệu chiềucao.

2 Các mô hình học máy về phân lớp hiện nay

2.1 Logistic Regressiona Định nghĩa

Phương pháp hồi quy logistic là một mô hình hồi quy nhằm dự đoángiá trị đầu ra rời rạc (discrete target variable) y ứng với một vectơ đầu vào x.Việc này tương đương với chuyện phân loại các đầu vào x vào các nhóm ytương ứng.

Trang 8

b Ví dụ

Ví dụ, xem một bức ảnh có chứa một con mèo hay không Thì ở đây tacoi đầu ra y=1 nếu bức ảnh có một con mèo và y=0 nếu bức ảnh không có conmèo nào Đầu vào x ở đây sẽ là các pixel một bức ảnh đầu vào.

Để đơn giản, trước tiên ta sẽ cùng đi tìm hiểu mô hình và cách giảiquyết cho bài toán phân loại nhị phân tức là y={0, 1} Sau đó ta mở rộng chotrường hợp nhiều nhóm sau.

2.2 Support Vector Machinea Định nghĩa

Support Vector Machine là một thuật toán giám sát, nó có thể sử dụngcho cả việc phân loại hoặc đệ quy Tuy nhiên nó được sử dụng chủ yếu choviệc phân loại Trong thuật toán này, chúng ta vẽ đồi thị dữ liệu là các điểmtrong n chiều (ở đây n là số lượng các tính năng bạn có) với giá trị của mỗitính năng sẽ là một phần liên kết Sau đó chúng ta thực hiện tìm "đường bay"(hyperplane) phân chia các lớp.Hyperplane nó chỉ hiểu đơn giản là 1 đườngthẳng có thể phân chia các lớp ra thành hai phần riêng biệt.

Trang 9

Support Vectors hiểu một cách đơn giản là các đối tượng trên đồ thị tọađộ quan sát, Support Vector Machine là một biên giới để chia hai lớp tốt nhất.

Trang 10

Đường thẳng này chia cách khá tốt 2 lớp trên mặt phẳng Tất cả nhữngđiểm dữ liệu nằm bên trái đường thẳng đều thuộc về lớp hình tròn và nhữngđiểm nằm ở bên phải thuộc về lớp hình vuông Nhiệm vụ của SVM chính làtìm ra đường thẳng / siêu phẳng phân cách cách sao cho phân loại dữ liệu tốtnhất có thể.

Tuy nhiên, công việc chưa dừng lại ở đó Giả sử rằng dữ liệu của bạnkhông ổn định và các điểm dữ liệu không phân cách nhau một cách rõ ràng,thâm chí còn chồng chéo lên nhau Xét ví dụ dưới đây:

Với dữ liệu như thế này, việc phân cách các lớp chỉ bằng một đườngthẳng là không khả thị Cùng xét 2 cách phân chia dưới đây:

Trang 11

Vẫn sử dụng 1 đường thẳng phân cách nhưng không thể phân loạiđúng được tất cả các điểm dữ liệu

Các điểm dữ liệu đã được phân loại đúng nhưng phải sử dụng tới 3đường thẳng phân cách.

2.3 Decision Tree Classifiera Định nghĩa

Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc đượcdùng để phân lớp các đối tượng dựa vào dãy các luật Các thuộc tính của đốitượng có thể thuộc các kiểu dữ liệu khác nhau như Nhị phân (Binary), Địnhdanh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) trong khi đó thuộctính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal.

Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp(classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các dữliệu chưa biết.

Trang 12

● Một node thể hiện một đặc trưng (thuộc tính, tính chất của dữ liệu)● Một nhánh mô tả một quy luật của dữ liệu

● Mỗi lá biểu diễn một kết quả phân lớp.

● Tại mỗi node, thuộc tính (đặc trưng) được chọn dùng để chia dữ liệuthành các quy luật.

Dựa vào những thông tin trên, bạn có thể xây dựng được mô hình nhưsau:

Trang 13

Dựa theo mô hình trên, ta thấy:

Nếu trời nắng, độ ẩm bình thường thì khả năng các bạn đi chơi bóng sẽcao Còn nếu trời nắng, độ ẩm cao thì khả năng các bạn sẽ không đi chơi bóng.Mục đích của việc xây dựng một cây quyết định là khám phá ra một tậpluật, từ đó có thể sử dụng để dự báo giá trị đầu ra từ những biến đầu vào Câyquyết định có hai loại: cây hồi quy ước lượng các hàm giá có giá trị là số thựcvà cây phân loại, nếu đầu ra là một biến phân loại như kết quả của một trậnđấu (thắng hay thua) Cây quyết định giúp biểu diễn dữ liệu phức tạp thànhmột cấu trúc đơn giản hơn Cây quyết định gần như có thể giải quyết mọi bàitoán phân loại và nó giúp người dùng có thể đánh giá chính xác những thamsố (features) nào ảnh hưởng (tiêu/tích cực) đến kết quả và rất dễ sử dụng.

VD: các bài toán về đánh giá độ thích hợp của đất đai để xác định loạicây trồng, phân loại sinh viên theo điểm, …

2.4 Naive Bayes Classifiera Định nghĩa

Naive Bayes Classifier là một giải thuật thuộc lớp giải thuật thống kê,nó có thể dự đoán xác suất của một phần tử dữ liệu thuộc vào một lớp là bao

Trang 14

nhiêu Phân lớp Bayes được dựa trên định lý Bayes (định lý được đặt theo têntác giả của nó là Thomas Bayes)

b Ví dụ

Hãy tưởng tượng chúng ta có hai người bạn là Alice và Bob Và ta cónhững thông tin sau Alice là người thường xuyên sử dụng những từnhư:”love, great, wonderful” và Bob là người thường xuyên sử dụng nhữngtừ gồm: “dog, ball wonderful”.

Vào một ngày đẹp trời nào đó, bạn đột nhiên nhận được một email ẩndanh với nội dung: “I love beach sand Additionally the sunset at beach offerswonderful view” Khả năng là một trong hai người là Alice và Bob gửi email.Bạn có thể đoán được là ai với thông tin trên không?

Chính xác là Alice Ta dựa theo những từ như “Love”, ” wonderful”được sử dụng.

Một trường hợp khác, ta nhận được mail với nội dung là: ” WonderfulLove “ Bạn sẽ đoán là ai?

Đó chính là Bob Nhưng nếu bạn không đoán ra được là ai, thì đừng

Trang 15

Một vài ứng dụng khác của Naive Bayes có thể kể đến như: lọc thư rác,phân loại văn bản, dự đoán sắc thái văn bản,

2.5 K-Nearest Neighbors Classifiera Định nghĩa

K-nearest neighbor là một trong những thuật toán supervised-learningđơn giản nhất (mà hiệu quả trong một vài trường hợp) trong MachineLearning Khi training, thuật toán này không học một điều gì từ dữ liệutraining, mọi tính toán được thực hiện khi nó cần dự đoán kết quả của dữ liệumới K-nearest neighbor có thể áp dụng được vào cả hai loại của bài toánSupervised learning là Classification và Regression.

Với K-nearest neighbor, trong bài toán Classification, label của mộtđiểm dữ liệu mới (hay kết quả của câu hỏi trong bài thi) được suy ra trực tiếptừ K điểm dữ liệu gần nhất trong training set Label của một test data có thểđược quyết định bằng major voting (bầu chọn theo số phiếu) giữa các điểmgần nhất, hoặc nó có thể được suy ra bằng cách đánh trọng số khác nhau chomỗi trong các điểm gần nhất đó rồi suy ra label.

Một cách ngắn gọn, K-nearest neighbor là thuật toán đi tìm đầu ra củamột điểm dữ liệu mới bằng cách chỉ dựa trên thông tin của K điểm dữ liệutrong training set gần nó nhất (K-lân cận), không quan tâm đến việc có mộtvài điểm dữ liệu trong những điểm gần nhất này là nhiễu Hình dưới đây làmột ví dụ về KNN trong classification với K = 1.

Ngày đăng: 29/05/2024, 17:54