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

Phân lớp dữ liệu với thuật toán Kmeans

11 606 2

Đ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 11
Dung lượng 711,73 KB

Nội dung

TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Nhóm 7 – Lớp KHMT Khóa 2011 – 2013 Trang 3 ĐẶT VẤN ĐỀ Trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ. Các tập dữ liệu được tích lũy có kích thước ngày càng lớn và có thể chứa nhiều thông tin ẩn dạng những quy luật chưa được khám phá. Chính vì vậy, một nhu cầu đặt ra là cần tìm cách trích rút từ tập dữ liệu đó các luật về phân lớp dữ liệu hay dự đoán những xu hướng dữ liệu tương lai. Những quy tắc nghiệp vụ thông minh được tạo ra sẽ phục vụ đắc lực cho các hoạt động thực tiễn, cũng như phục vụ đắc lực cho quá trình nghiên cứu khoa học. Công nghệ phân lớp và dự đoán dữ liệu ra đời để đáp ứng mong muốn đó. Công nghệ phân lớp dữ liệu đã, đang và sẽ phát triển mạnh mẽ trước những khao khát tri thức của con người. Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy (machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ này cũng ứng dụng trong nhiều lĩnh vực thực tế như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục Nhiều kỹ thuật phân lớp đã được đề xuất như: Phân lớp cây quyết định (Decision tree classification), phân lớp Bayesian (Bayesian classifier), phân lớp K- hàng xóm gần nhất (K-nearest neighbor classifier), mạng nơron, phân tích thống kê,… Mỗi thuật toán có những ưu, nhược điểm riêng. Trong quá trình học môn Khai phá dữ liệu và qua quá trình tìm hiểu các tài liệu về khai phá dữ liệu, nhóm chúng em xin trình bày tiểu luận với đề tài: Phân lớp dữ liệu với thuật toán K-means. PHÂN LỚP DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS Nhóm HV thực hiện: Chiến – Cự - Hoàng – Hưng - Vinh Trang 4 Tiểu luận của chúng em gồm có các phần sau: I. Giới thiệu về phân lớp dữ liệu. II. Phân lớp dữ liệu thuật toán K – Means III. Ví dụ và chương trình mô phỏng phân lớp dữ liệu bằng thuật toán K – Means. Xin cám ơn TS Hoàng Thị Lan Giao đã hướng dẫn và truyền đạt kiến thức cho chúng em. Tuy đã rất cố gắng song bài viết không tránh khỏi những thiếu sót, chúng em rất mong nhận được sự đóng góp ý kiến của các thầy cô giáo và các anh chị học viên lớp cao học Khoa học máy tính để bài viết được hoàn thiện hơn. Chúng em xin chân thành cảm ơn! TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Nhóm 7 – Lớp KHMT Khóa 2011 – 2013 Trang 5 NỘI DUNG I. Tổng quan về phân lớp (cụm) dữ liệu trong Data mining. 1. Phân lớp dữ liệu: Phân lớp (cụm) là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp Unsupervised Learning (học không giám sát) trong Machine Learning. Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau. Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh giá hiệu qủa của phân tích phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction, “natural clusters”, “useful” clusters. PHÂN LỚP DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS Nhóm HV thực hiện: Chiến – Cự - Hoàng – Hưng - Vinh Trang 6 2. Quá trình phân lớp dữ liệu: Quá trình phân lớp dữ liệu gồm 2 bước:  Bước 1: Xây dựng mô hình:  Mô tả các lớp xác định trước.  Tập huấn luyện: các mẫu/bộ dành cho xây dựng mô hình.  Mỗi mẫu/bộ thuộc một lớp định nghĩa trước.  Tìm luật phân lớp, cây quyết định hoặc công thức toán mô tả lớp.  Bước 2: Sử dụng mô hình:  Phân lớp cá đối tượng chưa biết.  Xác định độ chính xác của mô hình, sử dụng tập dữ liệu kiểm tra độc lập.  Độ chính xác chấp nhận được -> áp dụng mô hình để phân lớp các mẫu/bộ chưa xác định được nhãn lớp. TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Nhóm 7 – Lớp KHMT Khóa 2011 – 2013 Trang 7 Ví dụ: Quá trình phân lớp dữ liệu:  Bước 1: Xây dựng mô hình: Hình a: Xây dựng mô hình phân lớp  Bước 2: Sử dụng mô hình: Hình b: Sử dụng mô hình phân lớp PHÂN LỚP DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS Nhóm HV thực hiện: Chiến – Cự - Hoàng – Hưng - Vinh Trang 8 II. Thuật toán K-MEANS: 1. Giới thiệu về thuật toán K-means: Phương pháp K-means phân hoạch các đối tượng vào các cụm dựa trên khoảng cách của các đối tượng đó đến trọng tâm của các cụm. Một đối tượng được phân vào một cụm nếu khoảng cách từ đối tượng đó đến cụm đang xét là nhỏ nhất. Sau đó các trọng tâm được cập nhật. Quá trình lặp đi lặp lại cho đến khi không có sự thay đổi về trọng tâm. 2. Phát biểu bài toán:  Input:  Tập các đối tượng X = {x i | i = 1, 2, …, N}, x i  R d  Số cụm: K  Output:  Các cụm C i ( i = 1 ÷ K) tách rời và hàm tiêu chuẩn E đạt giá trị tối thiểu. TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Nhóm 7 – Lớp KHMT Khóa 2011 – 2013 Trang 9 3. Khái quát về thuật toán K-Means: a. Ý tưởng:  Thuật toán hoạt động trên 1 tập vectơ d chiều, tập dữ liệu X gồm N phần tử: X = {x i | i = 1, 2, …, N}  K–Mean lặp lại nhiều lần quá trình: + Gán dữ liệu. + Cập nhật lại vị trí trọng tâm.  Quá trình lặp dừng lại khi trọng tâm hội tụ và mỗi đối tượng là 1 bộ phận của 1 cụm. b. Hàm số độ đo trong phân lớp:  Hàm đo độ tương tự sử dụng khoảng cách Euclidean      ji Cx ji N i cxE 2 1 |||| trong đó c j là trọng tâm của cụm C j  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. PHÂN LỚP DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS Nhóm HV thực hiện: Chiến – Cự - Hoàng – Hưng - Vinh Trang 10 c. Thuật toán K-Means:  Bước 1: Khởi tạo: Chọn K trọng tâm {c i } (i = 1÷K).  Bước 2: Tính toán khoảng cách ||||||:||{ )()( )( * t i j t ijj t i cxcxx S  for all }, ,1 * ki   Bước 3: Cập nhật lại trọng tâm    )( || 1 )( t ij Sx j t i t i x S c  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. Thuật toán K – Means được mô tả như sau: Bắt đầu Số cụm K Trọng tâm Khoảng cách các đối tượng đến các trọng tâm Nhóm các đối tượng vào các cụm Không có đối tượng chuyển nhóm Kết thúc + - 4. Ưu và nhược điểm của thuật toán K - Means: a. Ưu điểm:  Tương đối nhanh. Độ phức tạp của thuật toán là O(tkn), trong đó:  n: Số đối tượng trong không gian dữ liệu.  k: Số cụm cần phân hoạch.  t: Số lần lặp ( t thường khá nhỏ so với n). TIỂU LUẬN MÔN KHAI PHÁ DỮ LIỆU Nhóm 7 – Lớp KHMT Khóa 2011 – 2013 Trang 11  Thường kết thúc ở điểm tối ưu cục bộ  K–Means phù hợp với các cụm có dạng hình cầu. PHÂN LỚP DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS Nhóm HV thực hiện: Chiến – Cự - Hoàng – Hưng - Vinh Trang 12 b. Khuyết điểm:  Không đảm bảo đạt được độ tối ưu toàn cục và kết quả đầu ra phụ thuộc nhiều vào việc chọn k điểm khởi đầu. Do đó phải chạy thuật toán với nhiều bộ khởi đầu khác nhau để có được kết quả đủ tốt.  Cần phải xác định trước số cụm.  Khó xác định số cụm thực sự mà không gian dữ liệu có. Do đó có thể phải thử với các giá trị k khác nhau.  Khó phát hiện các loại cụm có hình dạng phức tạp khác nhau và nhất là các dạng cụm không lồi.  Không thể xử lý nhiễu và mẫu cá biệt.  Chỉ có thể áp dụng khi tính được trọng tâm. 5. Ví dụ minh họa: Trên tập số thực R, cho tập A={-10, -8, -5, -1, 0, 1, 3, 7, 9} Dùng thuật toán K-mean chia các phần tử của tập A thành 3 nhóm với các phần tử trung tâm ban đầu: -10, -5, 1 Dựa vào 3 phần tử trung tâm ban đầu, ta chia tập A thành 3 nhóm như sau: C1={-10, -8} => 1c = -9 C2={-5} => 2c = -5 C3={-1, 1, 0, 3, 7, 9} => 3c = 19/6  3.16 [...]... MÔN KHAI PHÁ DỮ LIỆU * Có sự thay đổi trọng tâm nên ta phân nhóm lại như sau: C1={-10, -8} => c1 = -9 C2={-5, -1} => c 2 = -3 C3={1, 0, 3, 7, 9} => c3 = 4 * Có sự thay đổi trọng tâm, phân lại các nhóm C1={-10, -8} => c1 = -9 C2={-5, -1, 0} => c 2 = -3 C3={1, 3, 7, 9} => c3 = 5 * Phân lại nhóm C1={-10, -8} C2={-5, -1, 0, 1} => c1 = -9 => c 2 = -5/4  -1.25 C3={3, 7, 9} => c3 = 19/3  6.2 * Phân lại nhóm:... Phân lại nhóm: C1={-10, -8} C2={-5, -1, 0, 1} => c1 = -9 => c 2 = -5/4  -1.25 C3={3, 7, 9} => c3 = 19/3  6.2 Không có sự thay đổi trọng tâm Như vậy sau khi áp dụng thuật toán K-mean, tập A được phân thành 3 nhóm C1, C2, C3 như trên Nhóm 7 – Lớp KHMT Khóa 2011 – 2013 Trang 13 . các phần sau: I. Giới thiệu về phân lớp dữ liệu. II. Phân lớp dữ liệu thuật toán K – Means III. Ví dụ và chương trình mô phỏng phân lớp dữ liệu bằng thuật toán K – Means. Xin cám ơn TS Hoàng. khai phá dữ liệu, nhóm chúng em xin trình bày tiểu luận với đề tài: Phân lớp dữ liệu với thuật toán K-means. PHÂN LỚP DỮ LIỆU BẰNG THUẬT TOÁN K-MEANS Nhóm HV thực hiện: Chiến – Cự - Hoàng –. NỘI DUNG I. Tổng quan về phân lớp (cụm) dữ liệu trong Data mining. 1. Phân lớp dữ liệu: Phân lớp (cụm) là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp Unsupervised

Ngày đăng: 02/06/2015, 17:41

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w