1. Trang chủ
  2. » Tất cả

Một số phương pháp phân lớp nâng cao

25 3 0

Đ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 số phương pháp phân lớp nâng cao
Người hướng dẫn Lê Chí Ngọc
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Khoa học Máy tính
Thể loại Nghiên cứu khoa học
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 216,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Đề tài MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP NÂNG CAO Giảng viên hướng dẫn LÊ CHÍ NGỌC MỤC LỤC LỜI NÓI ĐẦU 2 CHƯƠNG I[.]

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU

Giảng viên hướng dẫn: LÊ CHÍ NGỌC

MỤC LỤC

LỜI NÓI ĐẦU 2

Trang 2

CHƯƠNG I MẠNG NIỀM TIN BAYES 3

1.1 Khái niệm và cơ chế hoạt động 3

1.2 Luyện mạng niềm tin Bayes 5

CHƯƠNG II SUPPORT VECTOR MACHINES 8

2.1 Trường hợp dữ liệu được phân tách tuyến tính 8

2.1 Trường hợp dữ liệu không thể phân tách tuyến tính 11

CHƯƠNG III PHÂN LỚP SỬ DỤNG MẪU PHỔ BIẾN 13

3.1 Phân lớp liên kết 13

3.1 Phân lớp dựa trên mô hình phân biệt phổ biến 17

CHƯƠNG IV LAZY LEANERS 19

4.1 Bộ phân lớp k-Nearest-Neighbor 19

4.2 Phân lớp lập luận theo trường hợp 21

TỔNG KẾT 23

Trang 3

LỜI NĨI ĐẦU

Trong thời đại bùng nổ thơng tin, việc tạo mới và thu thập dữ liệu đã dễdàng và thuận hơn đáng kể từ rất nhiều nguồn khác nhau Một lượng dữ liệukhổng lồ đã tràn ngập trong mọi khía cạnh của cuộc sống Sự tăng trưởng độtbiến này tạo ra một nhu cầu cấp thiết cho các kỹ thuật và cơng cụ hỗ trợ mớigiúp việc phân tích và trích xuất thơng tin hữu ích từ dữ liệu một cách hiệu quả.Điều này tạo ra một thế hệ mới đầy hứa hẹn trong ngành khoa luyện máy tínhđược gọi là khai phá dữ liệu

Trong báo cáo này, em sẽ trình bày một số kỹ thuật nâng cao để phân lớp

dữ liệu Các nội dung được trình bày bao gồm: mạng niềm tin Bayes (khơng giảđịnh điều kiện độc lập như nạve Bayes); SVM (support vector machine); phânlớp sử dụng mẫu phổ biến (frequent patterns) và một vài thuật tốn lazy learnernhư KNN (k nearest-neighbor) và CBR (case-based reasoning)

Trang 4

CHƯƠNG I MẠNG NIỀM TIN BAYES

1.1 Khái niệm và cơ chế hoạt động

Bộ phân lớp naive Bayes cần giả định về sự độc lập có điều kiện của các lớp, nghĩa là, đưa các nhãn thành một tập hợp, các giá trị của các thuộc tính được giả

sử là có điều kiện độc lập với nhau Điều này giúp đơn giản hóa tính toán Khi

mà giả định là đúng, thì phân lớp naive Bayes sẽ là bộ phân lớp chính xác nhất

so với tất cả các bộ phân lớp khác Tuy nhiên, trong thực tế, sự phụ thuộc có thể tồn tại giữa các biến Mạng niềm tin Bayes chỉ định phân phối xác suất có điều kiện chung Nó cho phép các lớp độc lập được xác định giữa các tập hợp con củacác biến Mạng niềm tin Bayes sau khi được train có thể được sử dụng để phân lớp Mạng niềm tin Bayes còn được gọi là mạng niềm tin, mạng Bayes và mạng xác suất Trong nội dung báo cáo này, em sẽ gọi chung là mạng niềm tin

Một mạng niềm tin được xác định bởi hai thành phần, một đồ thị chu kỳ có hướng và một bộ bảng xác suất có điều kiện (Hình 1.1) Mỗi nút trong biểu đồ chu kỳ có hướng đại diện cho một biến ngẫu nhiên Các biến có thể có giá trị rời rạc hoặc có giá trị liên tục Mỗi đườnng nối đại diện cho một sự phụ thuộc xác suất Nếu một đường nối được vẽ từ một nút Y đến một nút Z, khi đó Y là nút cha hoặc nút tiền thân trực tiếp của Z và Z là nút con của Y Mỗi biến sẽ độc lập

có điều kiện với nút mà không phải nút con của nó trong đồ thị

Trang 5

Hình 1.1: Mạng niềm tin Bayes đơn giản

Một mạng niềm tin có một bảng xác suất có điều kiện (conditional probabilitytable) cho mỗi biến Bảng xác suất có điều kiện cho biến Y chỉ định phân phối cóđiều kiện P (Y | Parents(Y)), trong đó Parents (Y) là các nút cha của Y Hình 1.1 (b) hiển thị bảng xác suất có điều kiện cho biến LungCancer Xác suất có điều kiện cho từng giá trị đã biết của LungCancer được đưa ra cho mỗi kết hợp có thể

có của các giá trị của nút cha của nó Chẳng hạn, từ phía trên bên trái và mục dưới cùng bên phải, tương ứng, ta có:

P (LungCancer = có | FamilyHistory = có, Người hút thuốc = có) = 0.8

P (LungCancer = không | FamilyHistory = không, Người hút thuốc = không) = 0.9.

Đặt X = (x1, , xn) là một bộ dữ liệu được mô tả bởi các biến hoặc thuộc tínhtương ứng Y1, , Yn Nhớ lại rằng mỗi biến là độc lập có điều kiện với các nút

mà không phải nút con của nó trong đồ thị, được cung cấp bởi các nút cha của

nó Điều này cho phép mạng cung cấp một đại diện đầy đủ của phân phối xác suất chung hiện có với phương trình sau:

Trang 6

Hình 1.2

Trong đó P (x1, , xn) là xác suất của sự kết hợp cụ thể các giá trị của X và các giá trị cho P (xi | Parents(Yi)) tương ứng với các mục trong bảng xác suất có điều kiện cho Yi Một nút trong mạng có thể được chọn làm một nút đầu ra đại diện cho một lớp thuộc tính nhãn Có thể có nhiều hơn một nút đầu ra Các thuật toán khác nhau để suy luận và luyện có thể được áp dụng cho mạng Thay vì trả lại một nhãn duy nhất, quá trình phân lớp sẽ trả về một phân phối xác suất đưa raxác suất của mỗi lớp Mạng tin tưởng có thể được sử dụng để đưa ra xác suất chocác truy vấn bằng chứng (ví dụ: xác suất mà một cá nhân sẽ có LungCancer là bao nhiêu, biết rằng họ bị cả positiveXRay và Dyspnea) và hầu hết các truy vấn giải thích có thể xảy ra (ví dụ: nhóm dân cư nào có nhiều khả năng bị cả

positiveXRay và Dyspnea)

1.2 Luyện mạng niềm tin Bayes

Đặt D là tập huấn luyện các bộ dữ liệu, X1, X2, , X | D | Luyện mạng niềm tin có nghĩa là ta phải luyện được các giá trị của các mục trong bảng xác suất có điều kiện Đặt wijk là một khởi tạo bảng xác suất có điều kiện cho biến

Yi = yij có các nút cha Ui = uik, trong đó wijk P (Yi = yij | Ui = uik) Ví dụ, nếu wijk là đầu vào của bảng xác suất có điều kiện ngoài cùng bên trái của Hình 1.1 (b), thì Yi là LungCancer; yij là giá trị của nó, Ui liệt kê các nút cha của Yi, cụ thể là {FamilyHistory, Smoker}; và uik liệt kê các giá trị của các nút cha, cụ thể

là, {yes, yes} Các wijk được xem như các trọng số của mô hình Tập hợp các trọng số được gọi chung là W Ban đầu các trọng số được khởi tạo thành các giá

Trang 7

trị xác suất ngẫu nhiên Thuật toán gradient descent (gradient hướng giảm) thể hiện một như một thuật toán leo đồi tham lam Tại mỗi lần lặp, các trọng số đượccập nhật và cuối cùng sẽ hội tụ đến điểm tối ưu cục bộ Gradient descent được sửdụng để tìm kiếm các giá trị wijk tốt nhất theo dữ liệu, dựa trên giả định rằng mỗi bộ có thể có của wijk đều có khả năng tương tự nhau Để bắt đầu, các trọng

số được khởi tạo thành các giá trị xác suất ngẫu nhiên Phương pháp Gradient descent thực hiện phương pháp leo đồi tham lam, trong đó sẽ lặp lại các bước, thuật toán di chuyển về phía được xem như là giải pháp tốt nhất tại thời điểm hiện tại, mà không cần quay lui Các trọng số được cập nhật ở mỗi bước lặp và cuối cùng, nó sẽ hội tụ đến điểm tối ưu cục bộ Trong bài toán này, ta cần tối đa hàm Điều này có thể được thực hiện bằng đi theo gradient của lnPw (S), để cho vấn đề đơn giản hơn, đưa ra mạng cấu trúc liên kết và khởi tạo wijk, thuật toán được tiến hành như sau:

1 Tính toán gradient:

Với mỗi i, j, k ta tính

2 Cập nhập bộ trọng số theo hướng của gradient

Trong đó l là learning rate cho mỗi bước lặp Learning rate thường được

để là một hằng số nhỏ

3 Chuẩn hoá bộ trọng số

Trang 8

Vì các trọng số wijk là giá trị xác suất, chúng phải có giá trị từ 0 đến 1 và tổng các wijk phải bằng 1 Những điều kiện trên thu được sau khi chuẩn hoá bộ trọng số sau khi chúng được cập nhật bởi thuật toán.

Trang 9

CHƯƠNG II SUPPORT VECTOR MACHINES

Trong phần này sẽ nghiên cứu các support vector machines (SVM), một phương pháp để phân lớp cả dữ liệu tuyến tính và phi tuyến SVM là một thuật toán hoạt động như sau: Nó sử dụng ánh xạ phi tuyến để biến đổi dữ liệu huấn luyện ban đầu vào một chiều cao hơn Trong kích thước mới này, nó tìm kiếm siêu phẳng phân tách tuyến tối ưu Với ánh xạ phi tuyến thích hợp đến kích thước đủ cao, dữliệu từ hai lớp luôn có thể được phân tách bằng một siêu phẳng SVM tìm thấy siêu phẳng này sử dụng các vectơ hỗ trợ và các lề (được xác định bởi các vectơ

hỗ trợ) Mặc dù thời gian luyện dù nhanh nhất của SVM có thể cực kỳ chậm, chúng có độ chính xác khá cao, nhờ khả năng mô hình hóa các ranh giới quyết định phi tuyến phức tạp Các vectơ hỗ trợ được tìm thấy cũng cung cấp một mô

tả nhỏ gọn về những gì đã luyện mô hình Các SVM có thể được sử dụng để dự đoán số cũng như trong bài toán phân lớp Nó có thể được áp dụng cho một số lĩnh vực, bao gồm: nhận dạng chữ số viết tay, đối tượng nhận dạng và nhận dạngngười nói, cũng như dự đoán chuỗi thời gian

2.1 Trường hợp dữ liệu được phân tách tuyến tính

Đặt tập dữ liệu D là (X1, y1), (X2, y2), , (X | D |, y | D |), trong đó Xi là tập hợp các bộ dữ liệu luyện liên kết với nhãn yi Mỗi yi có thể lấy một trong hai giá trị, tương ứng +1 hoặc −1 (tức là, yi ∈ {+1, - 1}), tương ứng với các lớp mua máy tính = có và mua máy tính = không Để hỗ trợ trực quan hóa, hãy xét một ví

dụ dựa trên hai thuộc tính đầu vào là A1 và A2, như trong Hình 2.1 Từ đồ thị, tathấy rằng dữ liệu 2 chiều có thể phân tách tuyến tính (hoặc viết tắt là tuyến tính,

Trang 10

viết tắt là), bởi vì một đường thẳng có thể được vẽ để tách tất cả các bộ dữ liệu của lớp +1 từ tất cả các bộ dữ liệu của lớp −1.

Hình 2.1: Ví dụ về SVM

Có vô số dòng phân cách có thể được tìm ra Ta sẽ muốn tìm dòng tốt nhất, điều mà ta hi vọng sẽ có ít lỗi trong phân lớp nhất trên bộ dữ liệu mới Vậy làm thế nào để có thể tìm thấy dòng tốt nhất này? Lưu ý rằng nếu dữ liệu ở đây

là 3-D (tức là, với ba thuộc tính), ta muốn tìm mặt phẳng phân tách tốt nhất Tổng quát hóa đến n kích thước, ta muốn tìm siêu phẳng tốt nhất Vì vậy, nói một cách tổng quát, làm thế nào ta có thể tìm thấy siêu phẳng tốt nhất?

SVM tiếp cận vấn đề này bằng cách tìm kiếm siêu phẳng cận biên tối đa Xét hình 2.2, cho thấy hai siêu phẳng khả thi và lề (margins) của chúng Ta thấy

cả hai siêu phẳng có thể phân lớp chính xác tất cả các bộ dữ liệu đã cho Tuy nhiên, theo trực giác, ta hy vọng siêu phẳng có lề lớn hơn sẽ mang lại độ chính

Trang 11

xác cao hơn tại phân lớp các bộ dữ liệu trong tương lai so với siêu phẳng với lề nhỏ hơn Đây là lí do tại sao (trong giai đoạn luyện mô hình), SVM sẽ tìm siêu phẳng với lề lớn nhất, nghĩa là siêu phẳng biên tối đa (MMH) Liên kết lề cho sự phân tách lớn nhất giữa các lớp.

Hình 2.2

Một siêu phẳng phân tách có thể được viết dưới dạng:

W.X + b = 0, (2.3)

Trong đó W là một vectơ trọng số, cụ thể là, W = {w1, w2, , wn}; n là

số lượng thuộc tính; và b là một vô hướng, thường được gọi là một hệ số tự do

Để hỗ trợ trực quan hóa, hãy để Hãy xem xét hai đầu vào các thuộc tính, A1 vàA2, như trong Hình 2.2 (b) Các bộ dữ liệu luyện là 2-D (ví dụ: X = (x1, x2)),trong đó x1 và x2 lần lượt là các giá trị của các thuộc tính A1 và A2 cho X Nếu

ta nghĩ về b là trọng lượng bổ sung, w0, chúng ta có thể viết lại phương trình nhưsau:

Trang 12

yi (w0 + w1x1 + w2x2) ≥ 1, với mọi i (2.9)

2.1 Trường hợp dữ liệu không thể phân tách tuyến tính

Trong phần trước, ta đã tìm hiểu về SVM tuyến tính để phân lớp dữ liệu

có thể phân tách tuyến tính, nhưng điều gì xảy ra nếu dữ liệu không thể phân tách tuyến tính, như trong Hình 2.10? Trong trường hợp như vậy, không đường thẳng nào có thể được tách các lớp Các SVM tuyến tính mà ta đã nghiên cứu sẽ không thể tìm thấy một giải pháp khả thi ở đây Tin tốt là cách tiếp cận được mô

tả cho các SVM tuyến tính có thể được mở rộng đến tạo các SVM phi tuyến để phân lớp dữ liệu tuyến tính không thể tách rời (còn gọi là dữ liệu tách rời phi tuyến hoặc viết tắt là dữ liệu phi tuyến) Những SVM như vậy có khả năng tìm

Trang 13

kiếm ranh giới quyết định phi tuyến (tức là, siêu phẳng phi tuyến) trong không gian đầu vào Vì vậy, bạn có thể hỏi, về cách thức mà ta có thể mở rộng cách tiếpcận tuyến tính? SVM bằng cách mở rộng cách tiếp cận cho các SVM tuyến tính như sau Có hai bước chính, trong bước đầu tiên, ta chuyển đổi dữ liệu đầu vào ban đầu sang không gian nhiều chiều hơn sử dụng ánh xạ phi tuyến Một số ánh

xạ phi tuyến phổ biến có thể được sử dụng trong này bước, như ta sẽ mô tả thêm tiếp theo Khi dữ liệu đã được chuyển đổi thành không gian mới cao hơn, bước thứ hai tìm kiếm một siêu phẳng tách tuyến tính trong mới không gian Ta lại kếtthúc với một vấn đề tối ưu hóa bậc hai có thể được giải quyết bằng cách sử dụng công thức SVM tuyến tính Siêu phẳng cận biên tối đa được tìm thấy trong

không gian mới tương ứng với một siêu mặt phân cách phi tuyến trong không gian ban đầu

Hình 2.10

Trang 14

CHƯƠNG III PHÂN LỚP SỬ DỤNG MẪU PHỔ BIẾN

Các mẫu phổ biến biểu thị các mối quan hệ thú vị giữa các cặp giá trị thuộc tính xảy ra phổ biến trong một tập dữ liệu nhất định Ví dụ: ta có thể thấy rằng giá trị thuộc tính cặp tuổi = tuổi trẻ và tín dụng = OK xảy ra trong 20% bộ

dữ liệu mô tả khách hàng AllElectronics mua máy tính Chúng ta có thể nghĩ mỗicặp giá trị thuộc tính là một mục, vì vậy việc tìm kiếm các mẫu phổ biến này được gọi là khai thác mẫu phổ biến hoặc phổ biến khai thác vật phẩm Phân tích mẫu phổ biến rất hữu ích trong nhiều quyết định các quy trình như tìm vị trí sản phẩm lý tưởng, thiết kế danh mục và tiếp thị chéo

3.1 Phân lớp liên kết

Trong phần này, ta sẽ tìm hiểu về phân lớp liên kết Các phương pháp được thảo luận là CBA, CMAR và CPAR Tuy nhiên, trước khi bắt đầu, ta hãy xem xét việc khai thác luật kết hợp nói chung Các luật kết hợp được khai thác trong quy trình hai bước bao gồm khai thác các mục phổ biến theo luật sản sinh Bước đầu tiên tìm kiếm các mẫu của cặp giá trị thuộc tính xảy ra lặp lại nhiều lần trong một tập dữ liệu, trong đó mỗi cặp giá trị thuộc tính được coi là một mục Các kết quả các cặp giá trị thuộc tính hình thành các tập phổ biến (còn được gọi là các mẫu phổ biến) Bước thứ hai phân tích các mục phổ biến để tạo luật kết hợp Tất

cả luật kết hợp phải đáp ứng các tiêu chí nhất định liên quan đến độ chính xác (hoặc độ tin cậy) và tỷ lệ của tập dữ liệu mà chúng thực sự đại diện (gọi là hỗ trợ) Ví dụ: dưới đây là luật kết hợp được khai thác từ tập dữ liệu, D, được hiển thị với độ tin cậy và hỗ trợ của nó:

age = youth ∧ credit = OK ⇒ buys computer

Trang 15

Với ∧ ại diện cho phép toán “AND” đại diện cho phép toán “AND”.

Gọi D là tập dữ liệu của các điểm dữ liệu, mỗi điểm dữ liệu trong D được mô tả bởi n các thuộc tính, A1, A2, , An và thuộc tính nhãn lớp, Aclass Tất cả các thuộc tính liên tục là rời rạc và được coi là thuộc tính phân lớp (hoặc danh

nghĩa) Một vật phẩm p là một thuộc tính cặp giá trị của mẫu (Ai, v), trong đó Ai

là một thuộc tính lấy một giá trị, v Một điểm dữ liệu X = (x1, x2, , xn) thỏa mãn một mục, p = (Ai, v), khi và chỉ khi xi = v, trong đó xi là giá trị của thuộc tính thứ i của X Luật kết hợp có thể có bất kỳ số lượng mục nào trong luật tiền

đề (bên trái) và bất kỳ số lượng các mục trong hệ quả luật (bên phải) Tuy nhiên, khi khai thác luật kết hợp để sử dụng trong phân lớp, ta chỉ quan tâm trong luật kết hợp có dạng p1 p2 pl ⇒ Aclass = C, trong đó luật tiền đề là sự kết hợp củacác mục, p1, p2, , pl (l ≤ n), được liên kết với nhãn lớp, C Cho a luật đã cho,

R, tỷ lệ phần trăm của bộ dữ liệu trong D thỏa mãn luật tiền đề cũng có nhãn lớp

C được gọi là độ tin cậy của R

Từ quan điểm của phân lớp, đây là giống như luật chính xác Ví dụ: độ tin cậy 93% cho luật (3.1) có nghĩa là 93% khách hàng ở D còn trẻ và có xếp hạng tín dụng OK thuộc về lớp mua máy tính = có Tỷ lệ bộ dữ liệu trong D thỏa mãn luật tiền đề và có nhãn lớp C được gọi là hỗ trợ của R Hỗ trợ 20% luật (3.1) có nghĩa là 20% khách hàng ở D còn trẻ, có xếp hạng tín dụng OK và thuộc lớp mua máy tính = có

Một cách tổng quát, phân lớp kết hợp bao gồm các bước sau:

1 Khai thác dữ liệu cho tập phổ biến, hay còn gọi là tìm các cặp thuộc tính

có giá trị xuất hiện thường xuyên trong tập dữ liệu

Ngày đăng: 26/02/2023, 18:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w