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
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
803 KB
Nội dung
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 tốn học phân cấp nhóm dựa kết hợp phần tử Tìm hiểu phân tích ứng dụng cụ thể thuật tốn học khơng giám sát NHĨM HỌC VIÊN THỰC HIỆN: ĐỖ ĐỨC TÙNG BÙI ANH QUANG PHẠM HỒNG HÙNG HàNội - 12/2012 MỤC LỤC PHÂN CƠNG CƠNG VIỆC BÀI TỐN PHÂN NHĨM PHÂN NHÓM CÂY PHÂN CẤP THUẬT TOÁN K – MEANS 10 THUẬT TOÁN ISODATA .20 LẬP TRÌNH CÀI ĐẶT THUẬT TỐN K-MEANS 25 TÀI LIỆU THAM KHẢO 27 27 PHÂN CÔNG CÔNG VIỆC Họ tên Bùi Anh Quang Đỗ Đức Tùng Phạm Hoàng Hùng Lớp Ths Kỹ Thuật KTMT&TT - 2012B Ths Kỹ Thuật KTMT&TT - 2012B Ths Kỹ Thuật KTMT&TT - 2012B - Công việc thực Phần I - Bài tốn phân nhóm Phần II - Phân nhóm phân cấp Phần III - Thuật tốn K-means Phần V - Lập trình ứng dụng K-means - Phần IV - Thuật tốn ISODATA BÀI TỐN PHÂN NHĨM Ngày nay, mà phát triển ứng dụng Internet phổ biến khối lượng đối tượngđã tăng trưởng không ngừng theo hai phương diện tạo lưu trữ Sự phát triển vượt bậc công nghệ khoa học kỹ thuật mở rộng đối tượngkhoa học địa lý, địa chất, khí tượng thủy văn… với việc tin học hóa sâu rộng hầu hết lĩnh vực tạo khối lượng đối tượngkhổng lồ Tự động phân nhóm nhiệm vụ quan trọng, đặc biệt việc tổ chức tìm kiếm thơng tin nguồn tài nguyên lớn I Khái niệm Phân nhóm đối tượnglà kỹ thuật khai phá đối tượng, nhằm đưa nhóm mà phần tử nhóm có độ tưong đồng cao phần tử khác nhóm lại có độ tương đồng thấp Như vậy, phân nhóm đối tượng kỹ thuật sử dụng quan sát đối tượng, mục đích để tổ chức tập đối tượng cụ thể trừu tượng vào nhóm phân biệt Những đối tượng có tương tự xếp vào nhóm đối tượng có khác xếp vào nhóm khác Bài tốn phân nhóm thường thực nội dung thơng tin thành phần thuộc nhóm để định nghĩa trước nhóm Vì lý mà cơng việc phân nhóm thường nhìn nhận phương pháp học máy không giám sát, II Yêu cầu tốn phân nhóm Sau tìm hiểu số tính chất đối tượngvà u cầu thuật tốn phân nhóm Hầu hết nghiên cứu phát triển thuật tốn phân nhóm đối tượngnói chung nhằm thỏa mãn yêu cầu sau: • Có khả mở rộng, gia tăng: Thuật tốn phân nhóm cần có khả gia tăng, mở rộng Rất nhiều thuật tốn phân nhóm làm việc tốt với lượng đối tượngnhỏ, 100 đối tượng đối tượng mà chưa làm tốt với lượng đối tượng lớn, tập đối tượng lớn chứa hàng triệu đối tượng ta cần mở rộng phân nhóm để bao trùm tập đối tượng lớn • Khả thích nghi với kiểu thuộc tính đối tượng khác nhau: có nhiều thuật tốn phân nhóm, có thuật tốn phù hợp với đối tượng số, có thuật tốn áp dụng cho loại đối tượng nhị phân hay đối tượng ảnh … • Nhận biết nhóm với hình thù bất kỳ: số thuật tốn xác định nhóm dựa vào việc tính khoảng cách Euclidean hay Manhattan với mục đích nhận biết độ dày giống đối tượng nhóm Tuy nhiên, nhóm có hình dạng mà việc phát triển thuật tốn có khả xác định nhóm với hình thù quan trọng cần thiết • Tối thiểu miền tri thức cho xác định tham số đầu vào: miền tri thức đầu vào cần thiết cho thuật toán phân nhóm ít, chi phí cho việc phân nhóm giảm khả thi • Khả thích nghi với đối tượng nhiễu: Phần lớn tập đối tượng thực tế chứa đựng ngoại lệ thiếu, khơng xác định hay khơng Các thuật tốn nhạy cảm với nhiễu nguyên nhân dẫn đến việc tạo phân nhóm chất lượng • Khơng nhạy cảm với thứ tự đói tượng vào: Một số thuật tốn phân nhóm khơng thể sát nhập thêm đối tượng vào phân nhóm, thêm đối tượng vào nhóm có sẵn tạo thêm nhóm Bên cạnh đó, thuật tốn phân nhóm tốt khơng tạo phân nhóm khác từ đối tượng thứ tự xếp khác Những thuật toán gọi 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à số thuật tốn phân nhóm đưa kết tốt Bên cạnh đó, đối tượng đa chiều (nhiều ba chiều) đa dạng cần thiết phân nhóm cho nhiều ứng dụ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ức người tỏ có hiệu quả, nhiên với khối lượng đối tượng lớn vậy, việc sử dụng kiến thức chuyên gia tốn nên cần tìm thuật tốn phân nhóm để giải vấn đề • Phân nhóm số ràng buộc: Trong số ứng dụng, cần phân nhóm tập đối tượng chứa liên kết bắt buộc hai hay nhiều đối tượng Việc phân nhóm cần đảm bảo đối tượng thỏa mãn ràng buộc • Dễ hiểu, dễ cài đặt khả thi: thuật toán dễ hiểu dễ cài đặt mang tính khả thi cao người dung tin cậy sử dụng rộng rãi III Một số khó khăn tốn phân nhóm Xử lý nhiễu: Đối tượng bị nhiễu đối tượng không xác đối tượng khuyết thiếu thơng tin số thuộc tính Hầu hết đối tượng sử dụng để phân nhóm bị nhiễu trình thu thập thiếu xác hay thiếu đầy đủ Vì cần phải thực bước tiền xử lý đối tượng nhằm khắc phục loại bỏ nhiễu trước chuyển sang giai đoạn phân tích nhóm đối tượng Một kỹ thuật xử lý nhiễu thay giá trị thuộc tính đối tượng nhiễu giá trị thuộc tính tương ứng Dị tìm phần tử ngoại lai Phần tử ngoại lai nhóm nhỏ đối tượng khác thường so với đối tượng tập đối tượng Loại bỏ đối tượng để tránh ảnh hưởng đến kết phân nhóm Phân nhóm vấn đề mở khó: Vì phân nhóm phải giải số vấn đề bản: Xây dựng hàm tính độ tương tự, xây dựng tiêu chuẩn phân nhóm, xây dựng mơ hình cho dạng đối tượng, xây dựng thuật tốn phân nhóm xác lập điều kiện khởi tạo, xây dựng thủ tục biểu diễn đánh giá kết phân nhóm Hiện chưa có phương pháp phân nhóm tổng quát giải trọn vẹn cho tất dạng đối tượng PHÂN NHÓM CÂY PHÂN CẤP Phương pháp phân nhóm phân cấp xây dựng cấu trúc phân cấp cho đối tượng, có hai phương pháp xây dựng theo hướng từ xuống (top-down) xây dựng theo hướng từ lên (bottom-up) Với phương pháp bottom-up, đối tượng coi nhóm phân biệt sau tiến hành ghép nhóm giống nhiều hay khác làm đến tất nhóm ghép vào nhóm chứa tất đối tượng Phân nhóm phân cấp bottom-up gọi hierachical agglomerative clustering (HAC) Cịn phân nhóm phân cấp top-down lại địi hỏi phương pháp để phân chia nhóm Phương pháp thực thuật toán đệ quy, tiến hành tách đơi nhóm đến đối tượng phân biệt đưa IV Phương pháp HAC HAC dựa theo đặc thù thuật tốn phân nhóm đệ quy coi đối tượng điểm đối tượng khơng gian Euclide Việc tính tốn độ tương tự nhóm dựa vào cách tính khoảng cách không gian Euclide Bằng cách lên từ lớp lên nút đầu, sơ đồ phân cấp cho thấy bước kết hợp đôi nhóm Ví dụ nhìn vào sơ đồ ta thấy nhóm mang nhãn nhóm với nhau, sau nhóm với nhóm mang nhãn trở thành nhóm 123 đưa Nhóm nhóm với tạo thành nhóm 45, cuối hai nhóm 123 45 ghép lại thành nhóm tổng chứa đối tượng 12345 để tạo thành với gốc 12345 1, 2, 3, 4, Phân nhóm phân cấp khơng u cầu cố định số nhóm tất đối tượng thuộc nhóm việc phân nhóm vơ nghĩa Vì thế, việc phân nhóm cần bỏ số bước, tức cần dùng nhát cắt để đưa kết phân nhóm V Một số phương pháp tính khoảng cách nhóm HAC Single link hay single-linkage Với phương pháp này, khoảng cách nhóm định nghĩa khoảng cách đối tượng giống nhóm: D(r,s)= Min d(i,j) Trong đó: • r, s: hai nhóm • i, j: hai đối tượng thuộc hai nhóm Với nhóm, ta tính tất khoảng cách phần tử thuộc nhóm khoảng cách nhỏ tìm khoảng cách nhóm Tại bước, nhóm gần chọn để ghép lại với nhau, ví dụ Complete linkage hay cịn gọi fatherest neighbour – người hàng xóm xa Phương pháp phân nhóm đối ngược với single linkage Với nhóm, ta tính tất khoảng cách phần tử thuộc nhóm lấy khoảng cách lớn đối tượng làm khoảng cách nhóm Khoảng cách nhóm định nghĩa: D(r,s)= Max d(i,j) Trong đó: • r, s: hai nhóm • i, j: hai đối tượng thuộc hai nhóm Và sau đó, hai nhóm có khảng cách nhỏ chọn để nhóm làm nhóm Group average agglomerative Phân nhóm tính khoảng cách nhóm với Group Average Agglomerative (GAAC) đánh giá ghép nhóm dựa vào tồn độ tương tự tất nhóm mà tránh thiếu sót hai phương pháp single-linkage complete-linkage – đánh giá phần nhóm Phương pháp phân nhóm GAAC hay cịn gọi average-linkage, tính độ tương tự trung bình sim-ga tất cặp đối tượng, bao gồm cặp nhóm, độ tương tự tính nhóm khơng chứa phép tính trung bình VI Đặc điểm phân nhóm HAC Ưu điểm: • Khái niệm đơn giản Nhược điểm: • Quyết định trộn tách nhóm vĩnh cửu nên chương trình khơng có tính quay lui, có định sai khơng thể khắc phục lại • Độ phức tạp thuật toán cao, thời gian thực phân nhóm lâu THUẬT TỐN K – MEANS Thuật toán K-means đưa năm 1957 Stuart Lloyd kỹ thuật điều mã xung K-means thuật toán thuộc phương pháp phân cụm phân hoạch VII Nguyên lý thuật toán K-means Thuật toán dựa độ đo khoảng cách đối tượng liệu cụm Giải thuật xử lý sau: trước tiên lựa chọn ngẫu nhiên k đối tượng, đối tượng đại diện cho trung bình cụm hay tâm cụm Đối với đối tượng lại, đối tượng ấn định vào cụm mà giống dựa khoảng cách đối tượng trung bình cụm Sau cần tính giá trị trung bình cho cụm Xử lý lặp lại hàm tiêu chuẩn hội tụ Phương pháp mở rộng có hiệu xử lý tập liệu lớn độ phức tạp tính tốn giải thuật O(nkt), với n số đối tượng, k số cụm, t số lần lặp Thông thường k d(D, c2) D thuộc cụm Bước 3: Cập nhật lại vị trí trọng tâm Trọng tâm cụm c1 ≡ Trọng tâm cụm c2 (x,y) = A (1, 1) ((2+4+5)/3, (1+3+4)/3) = (11/3, 8/3) Bước 4-1: Lặp lại bước – Tính toán khoảng cách d(A, c1 ) = < d(A, c2 ) = 9.89 A thuộc cụm d(B, c1 ) = < d(B, c2 ) = 5.56 B thuộc cụm d(C, c1 ) = 13 > d(C, c2 ) = 0.22 C thuộc cụm d(D, c1 ) = 25 > d(D, c2 ) = 3.56 D thuộc cụm Bước 4-2: Lặp lại bước 3-Cập nhật trọng tâm c1 = (3/2, 1) c2 = (9/2, 7/2) Bước 4-3: Lặp lại bước – Tính tốn khoảng cách d(A, c1 ) = 0.25 < d(A, c2 ) = 18.5 A thuộc cụm d(B, c1 ) = 0.25 < d(B, c2 ) = 12.5 B thuộc cụm d(C, c1 ) = 10.25 < d(C, c2 ) = 0.5 C thuộc cụm d(D, c1 ) = 21.25 > d(D, c2 ) = 0.5 D thuộc cụm Bước 4-4: Lặp lại bước - Cập nhật trọng tâm c1 = (3/2, 1) c2 = (9/2, 7/2) Ta thấy trọng tâm c1 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} X Đánh giá ưu nhược điểm K-means 1.Ưu điểm • Do k-means đơn giản nên áp dụng tập liệu lớn • Bảo đảm hội tụ sau số bước lặp hữu hạn • Ln có điểm liệu cụm liệu • Các cụm khơng phân cấp không bị chồng chéo liệu lên • Độ phức tạp: O(K.N.l) với l: số lần lặp • Có khả mở rộng, dễ dàng sửa đổi với liệu • Ln có K cụm liệu • Mọi thành viên cụm gần với cụm cụm khác 2.Nhược điểm • Chất lượng thuật toán k-means phụ thuộc nhiều vào tham số đầu vào như: số cụm k k trọng tâm khởi tạo ban đầu Trong trường hợp trọng tâm khởi tạo ban đầu mà lệch so với trọng tâm cụm tự nhiên kết phân cụm k-means thấp • Khó để chọn số lượng cụm tối ưu từ đầu, mà phải qua nhiều lần thử để tìm số lượng cụm tối ưu • Khơng có khả tìm cụm khơng lồi cụm có hình dạng phức tạp • Rất nhạy cảm với nhiễu phần tử ngoại lai liệu • Khơng có khả tìm cụm khơng lồi cụm có hình dạng phức tạp • Độ hội tụ thuật toán phụ thuộc vào việc khởi tạo vector trung tâm cụmKhông phải lúc đối tượng thuộc cụm, phù hợp với đường biên cụm rõ XI Các biến thể 1.Thuật tốn K-medoid: • Tương tự thuật tốn K-mean • Mỗi cụm đại diện đối tượng cụm • Chọn đối tượng gần tâm cụm làm đại diện cho cụm • K-medoid khắc phục nhiễu, độ phức tạp lớn 2.Thuật tốn Fuzzy c-mean (FCM): • Chung chiến lược phân cụm với K-mean • Nếu K-mean phân cụm liệu cứng (1 điểm liệu thuộc cụm) FCM phân cụm liệu mờ (1 điểm liệu thuộc nhiều cụm với xác suất định) • Thêm yếu tố quan hệ phần tử cụm liệu thông qua trọng số ma trận biểu biễn bậc thành viên với cụm • FCM khắc phục cụm liệu chồng tập liệu có kích thước lớn hơn, nhiều chiều nhiều nhiễu, song nhạy cảm với nhiễu phần tử ngoại lai XII Ứng dụng thuật tốn • Phân cụm tài liệu web o Tìm kiếm trích rút tài liệu o Tiền xử lý tài liệu: Quá trình tách từ vecto hóa tài liệu: tìm kiếm thay từ bới số từ từ điển.Biểu diễn liệu dạng vectơ o Áp dụng K-Mean Kết trả cụm tài liệu trọng tâm tương ứng • Phân vùng ảnh THUẬT TOÁN ISODATA XIII Nguyên lý hoạt động Thuật toán ISODATA thuật toán cải tiến thuật toán K-means, hai thuật tốn có nhiều điểm tương đồng, tâm Cluster tính trung bình mẫu Tuy nhiên, ISODATA mơ tả bao quát tập thủ tục đoán bổ sung kết hợp chặt chẽ sơ đồ có ảnh hưởng lẫn Nếu kết thuật toán K-means phụ thuộc nhiều vào số lượng K nhóm đặt ban đầu ISODATA linh động hơn, nhóm tự động tách ghép giới hạn số nhóm K đặt ban đầu Ví dụ, nhóm q tản mạn tách làm hai nhóm hai nhóm q gần gộp vào nhóm Việc định tách nhóm hay phân nhóm định dựa vào khoảng cách từ tất phần tử tới tất tâm Trước thực thuật toán, ta cần xác định rõ tập Nc tâm Cluster {z1, z2,…,zNc} Tập Nc khởi tạo không thiết phải số tâp cluster u cầu, sau q trình phân tách nhóm ta thu kết mong muốn Dưới mơ tả bước thực thuật tốn ISODATA với tập N mẫu {x1, x2,…,xn} Bước 1: Xác định 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 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 kết hợp I: Số bước lặp lại cho phép Bước 2: Nhóm mẫu vào Cluster tại, với điều kiện ghép nhóm: x thuộc Sj ||x-zj|| < || x-zi|| với i = 1,2,…,Nc ; i ≠ j Điều kiện áp dụng với x thuộc tập mẫu, Sj tập mẫu tâm zj Bước 3: Loại bỏ tập mẫu có θN phần tử Bước 4: Tính lại tâm Cluster {z1, z2,…,zNc}, giá trị tâm zj trung bình mẫu tập mẫu Sj Bước 5: Tính khoảng cách trung bình Dj mẫu miền cluster Sj từ tâm cluster tương ứng với cơng thức Bước 6: Tính khoảng cách trung bình tồn mẫu từ tâm cluster riêng biệt, sử dụng mối liên hệ Bước 7: Nếu bước lặp cuối cùng, đặt Nc=0 tới bước 11, Nếu Nc < K/2 tới bước 8, Nếu số bước lặp Nc ≥ 2K, tới bước 11, không tiếp tục bước Bước 8: Tìm vector độ lệch chuẩn δj = (δ1j, δ2j, …, δnj,) cho tập mẫu sử dụng liên hệ: Trong n số chiều mẫu, xik thành phần thứ i mẫu thứ k Sj, zij thành phần thứ I zj Nj số mẫu Sj Mỗi thành phần δj độ lệch chuẩn mẫu Sj theo trục tọa độ gốc Bước 9: Tìm thành phần cực đại δj, j=1,2,…,Nc gọi δj max Bước 10: Nếu với δj max, j=1,2,…,Nc có δj max > θS Khi chi zj thành tâm cluster zj+ zj- tăng Nc lên Tâm cluster zj+ lượng γj cộng thêm cho thành phần zi tương ứng với thành phần cực đại δj, zj- lượng zi trừ lượng γj Cách xác định γj cho phần nhỏ δj max tức γj=k δj max (0