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

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

Trang 2

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

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 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ươ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 liHì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 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 btiê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”

[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