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

Phương pháp học không có giám sát Các thuật toán học phân cấp nhóm dựa trên sự kết hợp các phần tử. Tìm hiểu phân tích ứng dụng cụ thể thuật toán học không giám sát

27 623 1

Đ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

Định dạng
Số trang 27
Dung lượng 803 KB

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

Nội dung

Rất nhiều thuật toán phân nhóm có thể làmviệc tốt với lượng đối tượngnhỏ, ít hơn 100 đối tượng đối tượng màchưa làm tốt với lượng đối tượng lớn, trong khi đó tập đối tượng lớnchứa hàng t

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

TIỂU LUẬN NHẬN DẠNG

Tên đề tài: Phương pháp học không có giám sát Các thuật toán học phân cấp nhóm dựa trên sự kết hợp các phần tử Tìm hiểu phân tích ứng dụng cụ

-thể thuật toán học không giám sát.

BÙI ANH QUANG PHẠM HOÀNG HÙNG

HàNội - 12/2012

Trang 2

MỤC LỤC

PHÂN CÔNG CÔNG VIỆC 3

PHẦN I BÀI TOÁN PHÂN NHÓM 4

I Khái niệm 4

II Yêu cầu đối với bài toán phân nhóm 4

III Một số khó khăn của bài toán phân nhóm 6

PHẦN II PHÂN NHÓM CÂY PHÂN CẤP 7

I Phương pháp HAC 7

II Một số phương pháp tính khoảng cách nhóm của HAC 8

III Đặc điểm phân nhóm HAC 9

PHẦN III THUẬT TOÁN K – MEANS 10

I Nguyên lý của thuật toán K-means 10

II Phát biểu bài toán 10

1 Phát biểu bài toán: 10

2 Khái quát về thuật toán 10

3 Các bước của thuật toán 12

III Ví dụ minh họa thuật toán K-means 13

IV Đánh giá ưu nhược điểm của K-means 18

V Các biến thể 19

VI Ứng dụng của thuật toán 19

PHẦN IV THUẬT TOÁN ISODATA 20

I Nguyên lý hoạt động 20

II Đánh giá thuật toán 23

PHẦN V LẬP TRÌNH CÀI ĐẶT THUẬT TOÁN K-MEANS 25

TÀI LIỆU THAM KHẢO 27

Trang 3

PHÂN CÔNG CÔNG VIỆC

Bùi Anh Quang Ths Kỹ Thuật

KTMT&TT - 2012B

- Phần I - Bài toán phân nhóm

- Phần II - Phân nhóm cây phân cấp

KTMT&TT - 2012B

- Phần III - Thuật toán K-means

- Phần V - Lập trình ứng dụng K-means Phạm Hoàng Hùng Ths Kỹ Thuật

KTMT&TT - 2012B - Phần IV - Thuật toán ISODATA

Trang 4

PHẦN I BÀI TOÁN PHÂN NHÓM

Ngày nay, khi mà sự phát triển và ứng dụng của Internet cực kỳ phổbiến thì khối lượng đối tượngđã tăng trưởng không ngừng theo cả haiphương diện tạo mới và lưu trữ Sự phát triển vượt bậc của công nghệ khoahọc kỹ thuật và sự mở rộng các đối tượngkhoa học về địa lý, địa chất, khítượng thủy văn… cùng với việc tin học hóa sâu rộng trong hầu hết các lĩnhvực đã tạo ra một khối lượng đối tượngkhổng lồ Tự động phân nhóm là mộtnhiệm vụ rất quan trọng, đặc biệt là trong việc tổ chức cũng như tìm kiếmthông tin trên nguồn tài nguyên lớn này

I Khái niệm

Phân nhóm đối tượnglà một kỹ thuật trong khai phá đối tượng, nhằm đưa ra các nhóm mà các phần tử trong nhóm có độ tưong đồng cao và các phần tử khác nhóm nhau lại có độ tương đồng thấp.

Như vậy, phân nhóm đối tượng là kỹ thuật sử dụng quan sát đốitượng, mục đích để tổ chức một tập các đối tượng cụ thể hoặc trừu tượngvào các nhóm phân biệt Những đối tượng có tương tự nhau sẽ được xếp vàocùng một nhóm và những đối tượng có khác nhau được xếp vào các nhómkhác nhau

Bài toán phân nhóm thường được thực hiện khi chúng ta không biếtđược nội dung thông tin của các thành phần thuộc nhóm để định nghĩa trướccác nhóm Vì lý do này mà công việc phân nhóm thường được nhìn nhận làcác phương pháp học máy không giám sát,

II Yêu cầu đối với bài toán phân nhóm

Sau đây chúng ta sẽ tìm hiểu một số tính chất của đối tượngvà yêu cầucủa một thuật toán phân nhóm Hầu hết các nghiên cứu và phát triển các thuật toán phân nhóm đối tượngnói chung đều nhằm thỏa mãn các yêu cầu

cơ bản sau:

 Có khả năng mở rộng, gia tăng: Thuật toán phân nhóm cần có khảnăng gia tăng, mở rộng Rất nhiều thuật toán phân nhóm có thể làmviệc tốt với lượng đối tượngnhỏ, ít hơn 100 đối tượng đối tượng màchưa làm tốt với lượng đối tượng lớn, trong khi đó tập đối tượng lớnchứa hàng triệu đối tượng vì vậy ta cần mở rộng bộ phân nhóm đó đểbao trùm cả tập đối tượng lớn

Trang 5

 Khả năng thích nghi với các kiểu và thuộc tính đối tượng khác nhau:

có nhiều thuật toán phân nhóm, có những thuật toán phù hợp với đốitượng số, có những thuật toán khi áp dụng cho loại đối tượng nhị phânhay đối tượng ảnh …

 Nhận biết được các nhóm với hình thù bất kỳ: một số thuật toán xácđịnh nhóm dựa vào việc tính khoảng cách Euclidean hay Manhattanvới mục đích nhận biết độ dày và giống nhau của các đối tượng trongnhóm Tuy nhiên, một nhóm có thể có hình dạng bất kỳ vì vậy màviệc phát triển thuật toán có khả năng xác định các nhóm với hình thùbất kỳ là quan trọng và cần thiết

 Tối thiểu miền tri thức cho xác định các tham số đầu vào: miền trithức đầu vào cần thiết cho một thuật toán phân nhóm càng ít, chi phícho việc phân nhóm càng giảm và nó càng khả thi hơn

 Khả năng thích nghi với đối tượng nhiễu: Phần lớn các tập đối tượngthực tế chứa đựng ngoại lệ hoặc thiếu, không xác định hay khôngđúng Các thuật toán nhạy cảm với nhiễu là nguyên nhân dẫn đến việctạo ra một bộ phân nhóm kém chất lượng

 Không nhạy cảm với thứ tự của đói tượng vào: Một số thuật toán phânnhóm không thể sát nhập thêm đối tượng mới vào trong bộ phânnhóm, thêm đối tượng vào nhóm có sẵn hoặc tạo thêm nhóm mới Bêncạnh đó, một thuật toán phân nhóm tốt không tạo ra các bộ phân nhómkhác nhau từ cùng một bộ đối tượng nhưng thứ tự sắp xếp khác nhau.Những thuật toán này gọi là nhạy cảm với thứ tự đối tượng

 Thích nghi với đối tượng đa chiều: Đối tượng thông thường thường có

số chiều ít, từ hai đến ba chiều mà một số thuật toán phân nhóm đưa

ra kết quả rất tốt Bên cạnh đó, đối tượng đa chiều (nhiều hơn bachiều) cũng rất đa dạng và cần thiết được phân nhóm cho nhiều ứngdụng thực tế Với loại đối tượng này, việc phân loại dựa vào kiến thứccon người tỏ ra có hiệu quả, tuy nhiên với khối lượng đối tượng lớnnhư vậy, việc sử dụng kiến thức chuyên gia là tốn kém nên chúng tacần tìm các thuật toán phân nhóm để giải quyết được vấn đề này

 Phân nhóm trên một số ràng buộc: Trong một số ứng dụng, chúng tacần phân nhóm trên tập đối tượng chứa các liên kết bắt buộc giữa haihay nhiều đối tượng Việc phân nhóm cần đảm bảo các đối tượng nàythỏa mãn các ràng buộc đó

Trang 6

 Dễ hiểu, dễ cài đặt và khả thi: một thuật toán càng dễ hiểu và dễ càiđặt và mang tính khả thi cao sẽ được người dung tin cậy và sử dụngrộng rãi.

III Một số khó khăn của bài toán phân nhóm

Xử lý nhiễu: Đối tượng bị nhiễu là đối tượng không chính xác hay làđối tượng khuyết thiếu thông tin về một số thuộc tính Hầu hết các đối tượng

sử dụng để phân nhóm đều bị nhiễu do quá trình thu thập thiếu chính xáchay thiếu đầy đủ Vì vậy cần phải thực hiện bước tiền xử lý đối tượng nhằmkhắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tíchnhóm đối tượng Một trong các kỹ thuật xử lý nhiễu hiện nay là thay thế cácgiá trị các thuộc tính của đối tượng nhiễu bằng các giá trị thuộc tính tươngứng

Dò tìm phần tử ngoại lai Phần tử ngoại lai là một nhóm nhỏ các đốitượng khác thường so với các đối tượng trong tập đối tượng Loại bỏ nhữngđối tượng này để tránh ảnh hưởng đến kết quả phân nhóm

Phân nhóm hiện nay đang là vấn đề mở và khó: Vì phân nhóm đangphải giải quyết một số vấn đề cơ bản: Xây dựng hàm tính độ tương tự, xâydựng các tiêu chuẩn phân nhóm, xây dựng mô hình cho dạng đối tượng, xâydựng các thuật toán phân nhóm và xác lập các điều kiện khởi tạo, xây dựng

các thủ tục biểu diễn và đánh giá kết quả phân nhóm Hiện nay chưa có một

phương pháp phân nhóm tổng quát nào có thể giải quyết trọn vẹn cho tất

cả các dạng đối tượng.

Trang 7

PHẦN II PHÂN NHÓM CÂY PHÂN CẤP

Phương pháp phân nhóm cây phân cấp xây dựng một cấu trúc câyphân cấp cho các đối tượng, và có hai phương pháp chính là xây dựng cây

theo hướng từ trên xuống (top-down) và xây dựng theo hướng từ dưới lên (bottom-up).

Với phương pháp bottom-up, đầu tiên mỗi đối tượng được coi như

một nhóm phân biệt và sau đó tiến hành ghép lần lượt 2 nhóm giống nhaunhiều nhất hay khác nhau ít nhất làm một đến khi tất cả các nhóm được ghépvào một nhóm duy nhất chứa tất cả các đối tượng Phân nhóm phân cấp

bottom-up được gọi là hierachical agglomerative clustering (HAC) Còn

phân nhóm phân cấp top-down lại đòi hỏi một phương pháp để phân chia

nhóm Phương pháp này được thực hiện bằng thuật toán đệ quy, tiến hànhtách đôi các nhóm đến khi từng đối tượng phân biệt được đưa ra

12345 để tạo thành một cây với gốc 12345 và các lá lần lượt là 1, 2, 3, 4, 5

Trang 8

Phân nhóm phân cấp không yêu cầu cố định số nhóm và nếu tất cả cácđối tượng đều thuộc một nhóm thì việc phân nhóm là vô nghĩa Vì thế, trongviệc phân nhóm chúng ta cần bỏ đi một số bước, tức cần dùng một nhát cắt

để đưa ra kết quả phân nhóm của mình

II Một số phương pháp tính khoảng cách nhóm của HAC

Single link hay single-linkage

Với phương pháp này, khoảng cách giữa các nhóm được định nghĩa làkhoảng cách giữa những đối tượng giống nhau nhất giữa 2 nhóm:

D(r,s)= Min d(i,j)Trong đó:

 r, s: hai nhóm

 i, j: hai đối tượng bất kỳ thuộc hai nhómVới 2 nhóm, ta tính tất cả các khoảng cách giữa 2 phần tử bất kỳthuộc 2 nhóm đó và khoảng cách nhỏ nhất tìm được chính là khoảng cáchgiữa 2 nhóm đó Tại mỗi bước, 2 nhóm gần nhau nhất sẽ được chọn để ghéplại với nhau, ví dụ

Complete linkage hay còn gọi là fatherest neighbour – người hàng xóm xa nhất

Phương pháp phân nhóm này đối ngược với single linkage Với 2

nhóm, ta tính tất cả các khoảng cách giữa 2 phần tử bất kỳ thuộc 2 nhóm đó

và lấy khoảng cách lớn nhất giữa các đối tượng làm khoảng cách giữa 2nhóm Khoảng cách giữa các nhóm được định nghĩa:

D(r,s)= Max d(i,j)Trong đó:

Trang 9

 r, s: hai nhóm

 i, j: hai đối tượng bất kỳ thuộc hai nhóm

Và sau đó, hai nhóm có khảng cách nhỏ nhất sẽ được chọn để nhómlàm một nhóm

Group average agglomerative

Phân nhóm bằng các tính khoảng cách giữa các nhóm với Group

Average Agglomerative (GAAC) đánh giá ghép nhóm dựa vào toàn bộ độ

tương tự giữa tất cả các nhóm vì vậy mà nó tránh được những thiếu sót của hai phương pháp single-linkage và complete-linkage – chỉ đánh giá được một phần các nhóm Phương pháp phân nhóm GAAC hay còn được gọi là

average-linkage, tính độ tương tự trung bình sim-ga của tất cả các cặp đối

tượng, bao gồm cả các cặp trong cùng một nhóm, nhưng những độ tương tự

tính trong cùng nhóm này không chứa trong phép tính trung bình

III Đặc điểm phân nhóm HAC

Trang 10

PHẦN III THUẬT TOÁN K – MEANS

Thuật toán K-means được đưa ra năm 1957 bởi Stuart Lloyd như là một kỹ thuật điều mã xung K-means là thuật toán thuộc phương pháp phân cụm phân hoạch

I Nguyên lý của thuật toán K-means

Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Giải thuật xử lý như sau: trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối tượng đại diện cho một trung bình cụm hay tâm cụm Đối vớinhững đối tượng còn lại, một đối tượng được ấn định vào một cụm mà nó giống nhất dựa trên khoảng cách giữa đối tượng và trung bình cụm Sau đó cần tính giá trị trung bình mới cho mỗi cụm Xử lý này được lặp lại cho tới khi hàm tiêu chuẩn hội tụ

Phương pháp này có thể mở rộng có hiệu quả khi xử lý các tập dữ liệulớn bởi độ phức tạp tính toán của giải thuật là O(nkt), với n là số đối tượng,

k là số cụm, t là số lần lặp Thông thường k << n và t << n Phương pháp thường kết thúc tại một điểm tối ưu cục bộ

II Phát biểu bài toán

1 Phát biểu bài toán:

Trang 11

 Thuật toán hoạt động trên 1 tập vectơ d chiều, tập dữ liệu X gồm Nphần tử:

trong đó cj là trọng tâm của cụm Cj

 Hàm trên không âm, giảm khi có 1 sự thay đổi trong 1 trong 2 bước:gán dữ liệu và định lại vị trí tâm

2 1

Trang 12

3 Các bước của thuật toán

Bước 1 - Khởi tạo

Bước 4 – Điều kiện dừng

Lặp lại các bước 2 và 3 cho tới khi không có sự thay đổi trọng tâm của cụm

Giải thuật K-means

Trang 13

III Ví dụ minh họa thuật toán K-means

Cho tập dữ liệu gồm 4 điểm trong không gian 2 chiều

Đối tượng Thuộc tính 1 (X) Thuộc tính 2 (Y)

Trang 14

Bước 1: Khởi tạo

Chọn 2 trọng tâm ban đầu:

Trang 15

Bước 3: Cập nhật lại vị trí trọng tâm

Bước 4-1: Lặp lại bước 2 – Tính toán khoảng cách

d(A, c1 ) = 0 < d(A, c2 ) = 9.89  A thuộc cụm 1 d(B, c1 ) = 1 < d(B, c2 ) = 5.56  B thuộc cụm 1

d(C, c1 ) = 13 > d(C, c2 ) = 0.22  C thuộc cụm 2d(D, c1 ) = 25 > d(D, c2 ) = 3.56  D thuộc cụm 2

Trang 16

Bước 4-2: Lặp lại bước 3-Cập nhật trọng tâm

c1 = (3/2, 1) và c2 = (9/2, 7/2)

Bước 4-3: Lặp lại bước 2 – Tính toán khoảng cách

d(A, c1 ) = 0.25 < d(A, c2 ) = 18.5  A thuộc cụm 1d(B, c1 ) = 0.25 < d(B, c2 ) = 12.5  B thuộc cụm 1

d(C, c1 ) = 10.25 < d(C, c2 ) = 0.5  C thuộc cụm 2d(D, c1 ) = 21.25 > d(D, c2 ) = 0.5  D thuộc cụm 2

Trang 17

Bước 4-4: Lặp lại bước 3 - Cập nhật trọng tâm

c1 = (3/2, 1) và c2 = (9/2, 7/2)

Ta thấy trọng tâm c1 và c2 ở bước 4-3 trùng với bước 4-2  Dừng

Kết luận: Cụm C1 {A,B}, Cụm C2 {C,D}

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

Trang 18

IV Đánh giá ưu nhược điểm của K-means

1.Ưu điểm

 Do k-means đơn giản nên có thể áp dụng đối với tập dữ liệu lớn

 Bảo đảm hội tụ sau 1 số bước lặp hữu hạn

 Luôn có ít nhất 1 điểm dữ liệu trong 1 cụm dữ liệu

 Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau

 Khó để chọn ra được số lượng cụm tối ưu ngay từ đầu, mà phải quanhiều lần thử để tìm ra được số lượng cụm tối ưu

 Không có khả năng tìm ra các cụm không lồi hoặc các cụm có hìnhdạng phức tạp

 Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu

 Không có khả năng tìm ra các cụm không lồi hoặc các cụm có hìnhdạng phức tạp

Trang 19

 Độ hội tụ của thuật toán phụ thuộc vào việc khởi tạo các vectortrung tâm cụmKhông phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1cụm, chỉ phù hợp với đường biên giữa các cụm rõ.

V Các biến thể

1.Thuật toán K-medoid:

 Tương tự thuật toán K-mean

 Mỗi cụm được đại diện bởi một trong các đối tượng của cụm

 Chọn đối tượng ở gần tâm cụm nhất làm đại diện cho cụm đó

 K-medoid khắc phục được nhiễu, nhưng độ phức tạp lớn hơn

2.Thuật toán Fuzzy c-mean (FCM):

 Chung chiến lược phân cụm với K-mean

 Nếu K-mean là phân cụm dữ liệu cứng (1 điểm dữ liệu chỉ thuộc về 1cụm) thì FCM là phân cụm dữ liệu mờ (1 điểm dữ liệu có thể thuộc vềnhiều hơn 1 cụm với 1 xác suất nhất định)

 Thêm yếu tố quan hệ giữa các phần tử và các cụm dữ liệu thông quacác trọng số trong ma trận biểu biễn bậc của các thành viên với 1 cụm

 FCM khắc phục được các cụm dữ liệu chồng nhau trên các tập dữ liệu

có kích thước lớn hơn, nhiều chiều và nhiều nhiễu, song vẫn nhạy cảmvới nhiễu và các phần tử ngoại lai

VI Ứng dụng của thuật toán

 Phân cụm tài liệu web

o Tìm kiếm và trích rút tài liệu

o Tiền xử lý tài liệu: Quá trình tách từ và vecto hóa tài liệu: tìmkiếm và thay thế các từ bới chỉ số của từ đó trong từ điển.Biểudiễn dữ liệu dưới dạng vectơ

o Áp dụng K-Mean

Trang 20

Kết quả trả về là các cụm tài liệu và các trọng tâm tương ứng.

 Phân vùng ảnh

PHẦN IV THUẬT TOÁN ISODATA

I Nguyên lý hoạt động

Thuật toán ISODATA là thuật toán cải tiến của thuật toán K-means,

do đó về cơ bản hai thuật toán này có nhiều điểm tương đồng, tâm Cluster đều được tính bằng trung bình các mẫu Tuy nhiên, ISODATA mô tả bao quát tập các thủ tục phỏng đoán bổ sung được kết hợp chặt chẽ trong sơ đồ

có ảnh hưởng lẫn nhau

Nếu như kết quả của thuật toán K-means phụ thuộc rất nhiều vào số lượng K nhóm đặt ra ban đầu thì ISODATA linh động hơn, các nhóm có thể được tự động tách hoặc ghép trong giới hạn số nhóm K đặt ra ban đầu Ví

dụ, nếu một nhóm quá tản mạn thì tách làm hai nhóm hoặc nếu hai nhóm quá gần nhau thì gộp vào một nhóm Việc quyết định tách nhóm hay phân nhóm cũng được quyết định dựa vào khoảng cách từ tất cả các phần tử tới tất

cả các tâm

Trước khi thực hiện thuật toán, ta cần xác định rõ tập Nc các tâm Cluster {z1, z2,…,zNc} Tập Nc khởi tạo không nhất thiết phải bằng số tâp cluster yêu cầu, sau quá trình phân tách các nhóm ta sẽ thu được kết quả mong muốn

Dưới đây là mô tả các bước thực hiện của thuật toán ISODATA với tập N mẫu {x1, x2,…,xn}

Bước 1: Xác định các tham số

K: Số Cluster mong muốn (hay số tâm Cluster mong muốn)

θN: Tham số giới hạn số mẫu trong một miền Cluster

θS: Tham số độ lệch chuẩn

θC: Tham số kết hợp

L: Số cặp tâm Cluster cực đại có thể kết hợp

I: Số bước lặp lại cho phép

Bước 2: Nhóm các mẫu vào các Cluster hiện tại, với điều kiện ghép nhóm:

x thuộc Sj nếu ||x-zj|| < || x-zi|| với i = 1,2,…,Nc ; i ≠ j

Ngày đăng: 07/11/2014, 14:09

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