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

bài tập lớn tìm hiểu thuật toán k means clustering

19 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 đề Tìm hiểu thuật toán K-Means Clustering
Tác giả Nguyễn Nam Hải, Vi Đăng Quang, Nguyễn Thanh Hải, Hoàng Thế Cường
Người hướng dẫn TS. Trịnh Thành
Trường học Trường Đại Học Phenikaa
Chuyên ngành Khai phá dữ liệu
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 2,81 MB

Nội dung

Danh sách hình ảnh Hình 1 Biểu đồ phân tán dữ ệu trong không gian 2 chiều liHình 2 Đồ ị hàm biến dạng củ thuật toán K-Means tha Hình 3 Phương pháp tính khoảng cách Euclidean Hình 4 Phươn

Trang 1

TRƯỜNG ĐẠI HỌC PHENIKAA

⸎⸎⸎⸎⸎

Đề tài: Tìm hiểu thuật toán K-Means Clustering

Học phần : Khai phá dữ liệu (N0 1)

Giảng viên : TS Trịnh Thành

Sinh viên : Nguyễn Nam Hải - 21012056

Vi Đăng Quang - 21010583

Nguyễn Thanh Hải - 21011491 Hoàng Thế Cường - 21012482

HÀ NỘI, THÁNG 5 NĂM 2023

Trang 2

Mục lục

I Giới thiệu 3

II Nội dung 4

1 Phân cụm 4

2 Giới thiệu thu ật toán xác đị nh s ố cụ - m Elbow 4

2.1 Kh ởi tạ o d ữ liệu 5

2.2 Tìm số cụm 6

3 Thuật toán K-Means 7

3.1 Khái niệm K-Means 7

3.2 Các bư ớc củ a thu ật toán K-Means Clustering 7

3.3 Phân tích toán học 8

3.4 Thực nghiệm trong thu ật toán 10

3 Đánh giá 13

III Tổng kết 17

IV Tài liệu tham khảo 18

Trang 3

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

Nguyễn Nam Hải Code và viết báo cáo thu t toán Kậ -Means,

Tổng h p báo cáoợ

Vi Đăng Quang Code và viết báo cáo xác định số cụm

Elbow Nguyễn Thanh Hải Trình bày mở đầu và t ng ổ kết, tổng h p ợ

báo cáo, làm slide thuyết trình

Hoàng Thế Cường Tìm hiểu về ưu, nhược điểm K-Means

Ứng d ng cụ ủa K-Means trong thực tế

Danh sách hình ảnh

Hình 1 Biểu đồ phân tán dữ ệu trong không gian 2 chiều li

Hình 2 Đồ ị hàm biến dạng củ thuật toán K-Means th a

Hình 3 Phương pháp tính khoảng cách Euclidean

Hình 4 Phương pháp tính khoảng cách Square Euclidean

Hình 5 Phương pháp tính khoảng cách Manhattan

Hình 6 Chọn 3 điểm dữ ệu ngẫu nhiên li

Hình 7 Phân cụm lần 1

Hình 8 Phân cụm lần 2

Hình 9 Phân cụm lần 3

Hình 10 Phân cụm lần 4

Hình 11 Phân cụm lần 5

Hình 12 Image classification by using SVM and K-means

Hình 13 Customer Segmentation using K-means Clustering

Hình 14 Skin Cancer Classification Using K-Means ClusteringCustomer

Segmentation using K-means Clustering

Trang 4

I ới thiệu Gi

Từ những năm đ u cầ ủa thế kỉ XX, dưới s phát tri n bùng nự ể ổ của Internet và cuộc cách mạng công nghi p 4.0 ệ đã thay đổi hoàn toàn cách các doanh nghiệp

vận hành thông qua các công nghệ Khai phá dữ liệu đã tr thành m t khía ở ộ cạnh quan tr ng cọ ủa các doanh nghiệp và ngành công nghi p hi n đệ ệ ại, cho phép các tổ chức đưa ra quyết định sáng suốt dựa trên những hi u biể ết dựa trên dữ liệu

Khai phá dữ liệu (Data mining là quá trình phân lo i, s) ạ ắp x p cácế tập h p dợ ữ liệu l n đ xác đ nh các m u và thiớ ể ị ẫ ế ật lp các mối liên hệ nhằm giải quy t các ế vấn đề nhờ phân tích dữ liệu

Trong nội dung của đề tài này, chúng ta sẽ tập trung nghiên c u các v n đứ ấ ề liên quan đ n thuế ật toán K-Means (một trong những thuật toán phổ biến nhất trong lĩnh vực phân cụm), mang l i r t nhiạ ấ ều hi u quả ệ trong cả nghiên c u lý thuyứ ết

và ng d ng thứ ụ ực tế

Trang 5

II Nội dung

1 Phân cụm

Phân cụm (Clustering) là k thuật phân tích d liệu đỹ ữ ể tập hợp các ph n tầ ử dữ liệu gi ng nhau vào mố ột cụm Các phầ ử n t trong cùng một cụm thường có độ tương đồng cao hơn so với các phần tử ở các cụm khác Clustering là một trong những nhiệm vụ chính trong khai phá d liữ ệu thám hiểm và cũng là một kỹ thuật được sử dụng trong phân tích dữ liệu thống kê

Machine Learning ngày càng tiến bộ và mang đ n nhi u giế ề ải pháp cho bài toán Clustering Trong số đó, có một s mô hình nổi b t như Gaussian Mixture ố ậ Model, Mean Shift, DBSCAN, K-Means, v.v

Trong bài toán phân cụm có 2 vấn đề lớn c n giầ ải quy : ết

- Xác định số cụm

- Xác định đối tượng thuộc về 1 cụm cụ thể

Trong thuật toán K-Means thì chúng ta cần phải xác định trước số cụm Câu hỏi đ t ra là đâu là sặ ố lượng cụm cần phân chia tốt nh t đ i v i m t bấ ố ớ ộ ộ dữ liệu

cụ thể? Phương pháp Elbow là một cách giúp ta lựa chọn được số lượng các cụm phù hợp dựa vào đồ ị th trực quan hoá bằng cách nhìn vào sự suy giảm của hàm bi n d ế ạng và lựa chọn ra điểm khuỷ tay elbow point) Đ tìm hiểu ( ể phương pháp Elbow, bên dưới chúng ta cùng thử nghiệm vẽ biểu đồ hàm bi n ế dạng bằng cách đi u ch nh sề ỉ ố lượng cụm c a thuật toán k-Means.ủ

Trang 6

2.1 Kh ởi tạ o d ữ ệu li

Trong thuật toán K-means, việc khở ại to và làm s ch dữ liệu là mộạ t bước rất quan tr ng Đi u này đưọ ề ợc th c hiự ện b ng cách ch n ng u nhiên mằ ọ ẫ ột số điểm

dữ liệu làm các tâm ban đ u cho các cầ ụm Các đi m dể ữ liệu khác sẽ được phân vào các cụm tương ứng dựa trên khoảng cách đ n các tâm này.ế

Trong trường h p này, chúng tôi đã t o ra 600 điợ ạ ểm ngẫu nhiên trong không gian 2 chi u ề

Hình 1: Biểu đồ phân tán dữ ệu trong không gian 2 chiều li

Trang 7

2.2 Tìm số cụm

Hình 2: Đồ ị hàm biến dạng của thuật toán K-Means th

Điểm khuỷ tay là điểm mà ở đó tốc độ suy giảm của hàm bi n d ế ạng sẽ thay đổi

nhiều nhất Tức là kể từ sau vị trí này thì gia tăng thêm số lượng cụm cũng không giúp hàm bi n dế ạng giảm đáng kể Nếu thuật toán phân chia theo số lượng cụm tại vị trí này sẽ đạt được tính chất phân cụm một cách tổng quát nhất

mà không gặp các hiện tượng vị ớp (kh overfitting) Trong hình trên thì ta thấy

vị trí của điểm khuỷ tay chính là k=3 vì khi số lượng cụm lớn hơn 3 thì tốc độ suy giảm của hàm bi n dế ạng dường như không đáng kể so với trước đó Phương pháp Elbow là một phương pháp thường được sử dụng để lựa chọn số lượng cụm phân chia hợp lý dựa trên biểu đồ, tuy nhiên có một số trường hợp chúng ta sẽ không dễ dàng phát hiện vị trí của Elbow, đặc biệt là đối với những

bộ dữ liệu mà quy luật phân cụm không thực sự dễ dàng được phát hiện Nhưng

Trang 8

nhìn chung thì phương pháp Elbow vẫn là một phương pháp tốt nhất được ứng dụng trong việc tìm kiếm số lượng cụm cần phân chia

-3.1 Khái niệm K-Means

Phân cụm K-Means là một thu t toán Hậ ọc máy không giám sát, thu t toán này ậ nhóm t p dậ ữ liệu chưa được gắn nhãn thành các cụm khác nhau

Học máy không giám sát là quá trình dạy máy tính sử dụng dữ liệu chưa được gắn nhãn, chưa được phân loại và cho phép thu t toán ho t độậ ạ ng trên dữ liệu

đó mà không c n giám sát.ầ Không có bất kỳ đào t o dạ ữ liệu nào trước đó, công việc c a h c máy trong trưủ ọ ờng h p này là s p x p dợ ắ ế ữ liệu chưa được sắp x p ế theo các điểm tương đồng, m u và bi n thẫ ế ể

Trong thuật toán K-means clustering, chúng ta không biết nhãn (label) của từng điểm dữ li u Mệ ục đích là làm thể nào đ phân dể ữ liệu thành các cụm (cluster) khác nhau sao cho dữ liệu trong cùng mộ ụt c m có tính chất giống nhau

3.2 Các bư ớc củ a thu ật toán K-Means Clustering

Trong thuật toán k-Means mỗi cụm dữ liệu được đ c trưng bặ ởi một tâm (centroid) âm là đi T ểm đại diện nhất cho m t cộ ụm và có giá trị bằng trung bình của toàn b các điộ ểm quan sát n m trong c m Chúng ta sằ ụ ẽ dựa vào khoảng cách từ mỗi điểm quan sát tới các tâm để xác đ nh nhãn cho chúng trùng ị thuộc về tâm gần nhất Ban đầu thuật toán sẽ khở ạo ng u nhiên mi t ẫ ột số lượng xác đ nh trưị ớc tâm cụm Sau đó tiến hành xác đ nh nhãn cho t ng điị ừ ểm dữ liệu

và ti p tế ục cập nhậ ạt l i tâm cụm Thuật toán sẽ dừng cho tới khi toàn bộ các điểm dữ li u đưệ ợc phân về đúng cụm hoặc số lượt cập nh t tâm chậ ạm ngưỡng

Trang 9

Đầu vào: Dữ ệu X li và s lượng cluster cần tìm K.ố

Đầu ra: Các center M và label vector cho t ng điừ ểm dữ ệu li Y

1. Chọn K ểđim b t k làm các center ban đấ ỳ ầ u

2 Phân mỗi điểm dữ liệu vào cluster có center g n nó nhầ ất

3. Nếu việc gán dữ liệu vào t ng cluster ừ ở bước 2 không thay đổi so v i ớ vòng l p trưặ ớc nó thì ta dừng thuật toán

4 Cập nhật center cho từng cluster b ng cách l y trung bình c ng cằ ấ ộ ủa tất các các điểm dữ li u đã đượệ c gán vào cluster đó sau bư c 2.ớ

5 Quay lại bước 2

3 3 Phân tích toán h c ọ

Mục đích cuối cùng của thuật toán phân nhóm này là: từ dữ liệu đ u vào và sầ ố lượng nhóm chúng ta mu n tìm, hãy chố ỉ ra tâm của mỗi nhóm và phân các điểm

dữ liệu vào các nhóm tương ng ứ

Trong thuật toán K-means, độ đo kho ng cách đưả ợc sử dụng đ xác đ nh để ị ộ tương đồng giữa các phầ ử n t và nh hư ng đ n hình d ng cả ở ế ạ ủa các c m Độ ụ đo khoảng cách được sử dụng phải đáp ứng được một số yêu c u nhầ ất định Nó

phải là m t hàm sộ ố phi tuy n, không âm và có tính đối xứế ng

Có thể dùng nhi u phương pháp đề ể đo kho ng cách như:ả

- Euclidean: Trường h p phợ ổ biến nhất là xác định kho ng cách giả ữa hai điểm Nếu chúng ta có điểm P và đi m Q, khoể ảng cách euclidean là một đường th ng bình thưẳ ờng Đó là khoảng cách giữa hai điểm trong không gian Euclide

Trang 10

Hình 3: Phương pháp tính khoảng cách Euclidean

- Squared Euclidean: Điều này gi ng vố ới phép đo kho ng cách Euclidean ả

Hình 4: Phương pháp tính khoảng cách Square Euclidean

- Manhattan: Khoảng cách Manhattan là t ng đơn gi n cổ ả ủa các thành phần

vuông góc

Hình 5: Phương pháp tính khoảng cách Manhattan

Tùy thuộc vào độ đo kho ng cách đưả ợc sử dụng, các cụm có thể có hình dạng khác nhau Do đó, lựa chọn đ đo kho ng cách phù h p là rộ ả ợ ất quan trọng trong thuật toán

Trang 11

3.4 Thực nghiệm trong thu ật toán

3.4.1 Chọn K điểm bất k làm các tâm ban đỳ ầu

toán là K = 3 Ba điểm được gán là trọng tâm Lưu ý rằng các điểm có thể ở bất

định

3.4.2 Phân mỗi điểm d liệu vào cữ ụm có tâm gần nó nhất

Sau khi chọn được các tâm cụm, chúng ta tiến hành phân mỗi điểm dữ liệu vào cụm có tâm gần nó nh t ấ

Đầu tiên, ta tính toán khoảng cách giữa các điểm dữ liệu và tâm, sau đó chúng

ta chọn c m có tâm gần nhấ ớụ t v i điểm dữ liệu đ phân loể ại điểm đó vào c m ụ

đó Việc phân lo i này được th c hiạ ự ện b ng cách gán nhãn cho t ng điằ ừ ểm dữ liệu, cho biết nó thuộc vào cụm nào

Hình 6: Chọn 3 điểm dữ ệu ngẫu nhiên li

Trang 12

3.4.3 Cập nhậ ạt l i tâm và thực hiệ ại bước 4.2 n l 3

Hình 7: Phân cụm lần 1

Hình 8: Phân cụm lần 2

Hình 9: Phân cụm lần 3

Trang 13

Khi các tâm của các cụm ổn đ nh, nghĩa là chúng không thay đị ổi so v i lớ ần g n ầ

nhất, có thể ểu là thuhi ật toán đã h i tộ ụ và đạt được một giải pháp t i ưu ố Khi đó, thuật toán sẽ dừng lại và trả về kết qu ả

Hình 10: Phân cụm lần 4

Hình 11: Phân cụm lần 5

Trang 14

3 Đánh giá

Những ưu điểm của thuật toán K-means:

• Tộc độ xử lý nhanh: K-means là một thuật toán phân cụm đơn giản với tốc độ xử lý nhanh hơn so với mốt số thuật toán phân cụm khác như hierarchical clustering, DBSCAN(Density-Based Spatial Clustering of Application with Noise) hay spectral clustering trong một số trường hợp Nó có thể xử lý các tập dự liệu lớn và phân cụm nhanh chóng

• Hiệu quả trong việc phân cụm dữ liệu: K means có thể phân cụm dữ -liệu một cách hiệu quả với một số lượng cụm nhất định Nó có thể xử

lý các tập dữ liệu phực tạp và phân cụm chúng thành các nhóm có tính tương đồng với nhau

• Dễ dàng triển khai: K means là một thuật toán đơn giản và dễ triển -khai Nó có không yêu cầu nhiều thông số đầu vào và có thể được sử dụng trong nhiều ứng dụng khác nhau

• Dễ dàng hiểu và giải thích: Kết quả phân cụm của K means rất dễ -hiểu và giải thích Nó cho phép người dùng dễ dàng phân tích và -hiểu

rõ hơn về dữ liệu mà họ đang làm việc

Tuy nhiên, thuật toán K-means cũng có những hạn chế riêng:

• Tâm của cụm sẽ bị ảnh hư ng bở ởi các điểm khởi tạo tâm cụm ngẫu nhiên

đầu tiên Việc y tâm ng u nhiên slấ ẫ ẽ có th khiếể n các cụm không chính xác

• Phải chỉ ra s lượng cluster trưố ớc khi th c hiự ện phân nhóm

• Không thể xử lý tốt với các cụm có kích thước, mật độ và hình dạng khác nhau

Trang 15

Thuật toán K-means có nhiều ứng dụng trong thực tế, nó có thể áp dụng trong nhiều lĩnh vực khác nhau để tìm ra các nhóm và mẫu dữ liệu đáng chú ý để giúp đưa ra những quyết định trong thực tế:

1 Phân tích hình ảnh, video Image Classification Based on K: -means and SVM

Thuật toán k-means clustering được sử dụng đ phân đo n nh, tể ạ ả ức là chia ảnh thành nhi u vùng khác nhau Mụề c tiêu c a vi c phân đoủ ệ ạ ản nh

là thay đ i cách biổ ểu di n cễ ủa ảnh thành một cái gì đó có ý nghĩa hơn và

dễ phân tích hơn Nó thường đư c sử dụợ ng đ xác đ nh vể ị ị trí của các đối tượng và ranh gi i trong ảnh ớ

Trang 16

2 Phân tích khách hàng: Trong giao dịch ngân hàng, việc phân loại dữ liệu khách hàng là đặc biết quan trọng, thường được dựa vào đó để đưa ra các chính sách chung cho toàn hệ thống hay là có những chính sách chăm sóc đến từng khách hàng Một vài cách phân lọa dựa trên hành vì người dùng như: lịch sử thanh toán, hoạt động trên ứng dụng website hay trên các nền tảng ATM

Hình 23: Customer Segmentation using K-means Clustering

Trang 17

3 Phân tích dữ liệu y tế: Chẩn đoán ung thư

Trong y tế, K-Means có thể được sử dụng đ phân loạ ệnh nhân theo các ể i b tiêu chí khác nhau, ví dụ như phát hiện bệnh tật dựa vào triệu ch ng, kứ ết quả xét nghiệm, v.v Điều này có thể giúp cho việc chẩn đoán, đi u trề ị và phòng ngừa bệnh tật,

Hình 34: Skin Cancer Classification Using K-Means ClusteringCustomer Segmentation using K-means Clustering

Trang 18

III Tổng kết

Qua bài báo cáo, chúng ta đã tìm hiểu rõ hơn về cách th c vứ ận hành, ý nghĩa

và nh ng ng d ng cữ ứ ụ ủa thuật toán K-Means trong lĩnh vực Machine Learning nói chung và bài toán phân cụm (Clustering) nói chung K-Means là một thu t ậ toán hiệu qu và đơn gi n đả ả ể triển khai, nhưng là m t ộ công cụ mạnh mẽ cho các nhà phân tích dữ li u và đưệ ợc sử dụng r ng rãi trong các ộ ứng d ng thụ ực tế

Nó hoạt động tốt v i các tớ ập dữ liệu l n và cho phép phân tích đ nh tính và đ nh ớ ị ị

lượng của dữ ệu Tuy nhiên, nó cũng có mli ột số hạ chế nhất địn nh đòi hỏi người thực hiện phải có kinh nghiệm và kĩ năng để có th triển khai bài toán ể tối ưu nhất

Trang 19

IV Tài liệu tham kh ảo

[1] Prateek Majumder “K-Means clustering with Mall Customer

Segmentation Data” [Published On May 25, 2021]

https://www.analyticsvidhya.com/blog/2021/05

[2] International Journal of Technical Research and Applications e-ISSN: 2320-8163, www.ijtra.com Volume 5, Issue 1[Jan – Feb 2017], PP 62 65

-“Skin Cancer Classification Using K-Means Clustering”

-k-means-clustering.pdf

[3] Jakkrich Laosai and Kosin Chamnongthai “Acute leukemia classification

by using SVM and K-Means clustering”

Date Added to IEEE Xplore: 16 October 2014

https://ieeexplore.ieee.org/abstract/document/6925840

[4] Pham Dinh Khanh, DeepAI KhanhBlog “Các bước trong thuật toán

K-Means Clustering ” [Post on 2021]

Ngày đăng: 25/07/2024, 16:13

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

TÀI LIỆU LIÊN QUAN

w