1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

Đ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

Thông tin cơ bản

Tiêu đề 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
Người hướng dẫn Giảng viên hướng dẫn
Trường học Học viện Khoa học và Công nghệ
Chuyên ngành Khai phá dữ liệu
Thể loại báo cáo
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 15
Dung lượng 2,07 MB

Nội dung

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ân

loại cho dữ liệu nhiều chiều

Hà Nội, tháng 9, 2022 Giả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 6

1 High dimensional data (Dữ liệu đa chiều) 6 1.1 Tại sao dữ liệu đa chiều lại là một vấn đề? 6 1.2 Cách xử lý dữ liệu nhiều chiều 6

a Chọn ít thuộc tính hơn 6

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

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

2.2 Support Vector Machine 8

2.3 Decision Tree Classifier 11

2.4 Naive Bayes Classifier 14

2.5 K-Nearest Neighbors Classifier 15

Trang 3

2.6 Ensemble Methods 17

III Phương pháp thực hiện 24

1.1 Logistic Regression 24 1.2 Support Vector Machine 26 1.2.1 Ý tưởng của phương pháp 26 1.2.2 Cơ sở lý thuyết 27 1.3 Decision Tree Classifier 28 1.3.1 Hàm số entropy 29 1.3.2 Information Gain 30 1.3.3 Điều kiện dừng 31 1.4 Naive Bayes Classifier 32

1.4.2 Mô hình phân lớp Naive Bayes 33 1.4.3 Một số kiểu mô hình Naive Bayes 34

a Gaussian Naive Bayes 34

b Multinomial Naive Bayes 34

c Bernoulli Naive Bayes 35

1.5 K-Neighbors Classifier 37

Trang 4

1.5.1 Ý tưởng 37 1.5.2 Ưu điểm của K-nearest neighbor 37 1.5.3 Nhược điểm của K-nearest neighbor 38

2 Số đo về thống kê (statistical metrics) 38

2.2 Accuracy (độ chính xác) 41

IV 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ặt của Công nghệ Trí tuệ nhân tạo (Artificial Intelligence) thì Dữ liệu là nền tảng cốt lõi của mỗi mô hình học máy (Machine Learning) (ML) Điều đó cho thấy tầ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ăng củ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 dimensional data) 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 do những tiến bộ vượt bậc trong công nghệ Tính đa chiều cao đặt ra những thá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ống khô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 đa chiề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ến như Support Vector Machine (SVM), Decision Tree Classifier (DT), Naive Bayes 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ối cù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ộc tí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ưng nế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 quan

hệ 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:

a Chọn ít thuộc tính hơn

Cách rõ ràng nhất để tránh xử lý dữ liệu nhiều chiều là chỉ cần đưa ít thuộc tính hơn vào tập dữ liệu

Có một số cách để quyết định loại bỏ các thuộc tính ra khỏi tập dữ liệu, bao gồm:

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 trong tậ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ông mấ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 trong tậ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ính nă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ếu mộ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ính nă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ều cao

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

2.1 Logistic Regression

a Định nghĩa

Phương pháp hồi quy logistic là một mô hình hồi quy nhằm dự đoán giá 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 y tươ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 ta coi đầ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ó con mè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ải quyết cho bài toán phân loại nhị phân tức là y={0, 1} Sau đó ta mở rộng cho trường hợp nhiều nhóm sau

2.2 Support Vector Machine

a Định nghĩa

Support Vector Machine là một thuật toán giám sát, nó có thể sử dụng cho cả việc phân loại hoặc đệ quy Tuy nhiên nó được sử dụng chủ yếu cho việ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ểm trong 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ỗi tí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 đường thẳ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

b Ví dụ

Ta có các điểm dữ liệu như hình dưới đây với mỗi điểm thuộc 1 trong 2 lớp cho trước:

Một đường thẳng phân cách có thể được vẽ như sau:

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ốt nhấ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ạn khô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 đường thẳ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 Classifier

a Định nghĩa

Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dù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 đối tượng có thể thuộc các kiểu dữ liệu khác nhau như Nhị phân (Binary), Định danh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) trong khi đó thuộc tí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ệu thành các quy luật

b Ví dụ

Ta hãy xét một ví dụ 1 kinh điển khác về cây quyết định Giả sử dựa theo thời tiết mà các bạn sẽ quyết định đi đá bóng hay không?

Những đặc điểm ban đầu là:

● Thời tiết

● Độ ẩm

● Gió

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ập luật, từ đó có thể sử dụng để dự báo giá trị đầu ra từ những biến đầu vào Cây quyế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ực

và 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ành mộ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ài toán phân loại và nó giúp người dùng có thể đánh giá chính xác những tham

số (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ại cây trồng, phân loại sinh viên theo điểm, …

2.4 Naive Bayes Classifier

a Đị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ên tá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ững

từ 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 ẩn danh với nội dung: “I love beach sand Additionally the sunset at beach offers wonderful 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à: ” Wonderful Love “ 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 Classifier

a Đị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 Machine Learning Khi training, thuật toán này không học một điều gì từ dữ liệu training, 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ệu mới K-nearest neighbor có thể áp dụng được vào cả hai loại của bài toán Supervised 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ếp

từ 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ểm gần nhất, hoặc nó có thể được suy ra bằng cách đánh trọng số khác nhau cho mỗ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ủa mộ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ệu trong training set gần nó nhất (K-lân cận), không quan tâm đến việc có một và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

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w