Video: NGHIÊN CỨU THUẬT TOÁN K-MEANS XÂY DỤNG ỨNG DỤNG PHÂN CỤM SINH VIÊN 2025
K là một đầu vào cho thuật toán để phân tích tiên đoán; nó là viết tắt của số nhóm mà thuật toán phải trích ra từ một tập dữ liệu, được diễn đạt đại số như k . Thuật toán K-means phân chia một tập dữ liệu nhất định thành các cụm k . Thuật toán thực hiện các thao tác sau:
-
Chọn k các mục ngẫu nhiên từ tập dữ liệu và ghi nhãn chúng như các đại diện của cụm.
-
Liên kết mỗi mục còn lại trong tập dữ liệu với đại diện của cụm gần nhất, sử dụng khoảng cách Euclide được tính bằng một chức năng tương tự.
-
Tính lại các đại diện của các cụm mới.
-
Lặp lại các bước 2 và 3 cho đến khi các cụm không thay đổi.
Một đại diện của cụm là trung bình (trung bình) của tất cả các mục thuộc cùng một cụm. Người đại diện này cũng được gọi là cluster centroid . Ví dụ, hãy xem xét ba mục từ bộ dữ liệu trái cây nơi
Loại 1 tương ứng với chuối.
Loại 2 tương ứng với táo.
Màu 2 tương ứng với màu vàng.
Màu 3 tương ứng với màu xanh.
Giả sử rằng các mục này được gán cho cùng một cụm, thì centroid của ba mục này được tính toán.
Item | Tính năng # 1 Loại | Tính năng # 2 Màu | Tính năng # 3 Trọng lượng (Ounces) |
---|---|---|---|
1 | 1 | 2 | 5. 33 |
2 | 2 | 3 | 9. 33 |
3 | 1 | 2 | 2. 1 |
Đây là các tính toán của một cụm đại diện của ba mục thuộc cùng một cụm. Đại diện cụm là một vector của ba thuộc tính. Thuộc tính của nó là trung bình các thuộc tính của các mục trong cụm đang được đề cập.
Item | Tính năng # 1 Loại | Tính năng # 2 Màu | Tính năng # 3 Trọng lượng (Ounces) |
---|---|---|---|
1 | 1 | 2 | 5. 33 |
2 | 2 | 3 | 9. 33 |
3 | 1 | 2 | 2. 1 |
Đại diện Cluster (Centroid Vector) | (1 + 2 + 1) / 3 = 1. 33 | (2 + 3 + 2) / 3 = 2. 33 | (5. 33 + 9. 33 +32.1) / 3 = 3 |
Tập dữ liệu được hiển thị tiếp theo bao gồm bảy xếp hạng của khách hàng về hai sản phẩm, A và B. Xếp hạng này đại diện cho số điểm (giữa 0 và 10) mà mỗi khách hàng đã cho một sản phẩm - càng có nhiều điểm, càng cao sản phẩm được xếp hạng.
Sử dụng thuật toán K-means và giả sử k bằng 2, bộ dữ liệu sẽ được phân chia thành hai nhóm. Phần còn lại của thủ tục sẽ như sau:
-
Chọn hai mục ngẫu nhiên từ tập dữ liệu và gắn nhãn chúng như các đại diện của cụm.
Sau đây cho thấy bước đầu tiên của việc chọn ngẫu nhiên centroids mà từ đó bắt đầu K-means clustering process.Các centroid đầu tiên được chọn ngẫu nhiên từ dữ liệu mà bạn sắp phân tích. Trong trường hợp này, bạn đang tìm kiếm hai cụm, do đó, hai mục dữ liệu được chọn ngẫu nhiên: Khách hàng 1 và 5.
Lúc đầu, quá trình phân cụm xây dựng hai nhóm xung quanh hai đại diện cụm ban đầu (được chọn ngẫu nhiên). Sau đó, các đại diện của cụm được tính lại; tính toán dựa trên các mục trong mỗi cụm.
2 2 2 3 4 3 <Đánh giá khách hàng của sản phẩm 8 8 4 7 10 5 10 14 6 9 10 7 7 9 Kiểm tra mọi mặt hàng khác (khách hàng) và gán nó cho đại diện cụm mà nó tương tự nhất. Sử dụng khoảng cách Euclide để tính toán một mặt hàng tương tự như thế nào với một nhóm các mặt hàng: -
Tính tương tự của mặt hàng I đến Cụm X = sqrt {{{left ({{f_1} - {x_1 }} + {{left ({{f_2} - {x_2}} right)} ^ 2} + cdots + {{left ({{f_n} - {x_n}} quyền) ^ 2} }
Các giá trị {f_1},; {f_2},; ldots,; {f_n} là các giá trị số của các đối tượng mô tả mục được đề cập. Các giá trị {x_1},; {x_2},; ldots,; {x_n} là các tính năng (giá trị trung bình) của đại diện cụm (centroid), giả sử rằng mỗi mục có các tính năng n .
Ví dụ: hãy xem xét mục được gọi là Khách hàng 2 (3, 4): Xếp hạng của khách hàng cho Sản phẩm A là 3 và xếp hạng cho Sản phẩm B là 4. Tính năng đại diện cụm là (2, 2). Sự tương tự của Khách hàng 2 đến Nhóm 1 được tính như sau:
Tính tương tự của Khoản 2 với Cụm 1 = sqrt {{{left ({3 - 2} Phải)} ^ 2} + {{left ({4 - 2 } bên phải)} ^ 2}} = 2. 23 Đây là những gì mà quá trình giống như Cluster 2: Sự tương tự của khoản 2 với Cluster 2 = sqrt {{left ({3 - 10} bên phải) } So sánh các kết quả này, bạn chỉ định Khoản 2 (tức là Khách hàng 2) vào Cluster 1 vì các con số nói Mục 2 tương tự như cụm 1.
Áp dụng phân tích tương tự cho mọi mục khác trong tập dữ liệu.
Mỗi lần một thành viên mới gia nhập một cluster, bạn phải tính toán lại đại diện của cluster.
Điều này mô tả các kết quả của lần lặp đầu tiên của thuật toán K-trung bình. Lưu ý rằng
k
bằng 2, vì vậy bạn đang tìm kiếm hai cụm, phân chia một nhóm khách hàng thành hai nhóm có ý nghĩa. Mỗi khách hàng được phân tích riêng rẽ và được gán cho một trong các nhóm dựa trên sự giống nhau của khách hàng với từng đại diện của cụm hiện tại.
-
Lặp lại tập dữ liệu một lần nữa, đi qua mọi phần; tính sự giống nhau giữa mỗi phần tử và đại diện của cụm hiện tại.
Chú ý rằng khách hàng 3 đã chuyển từ Cluster 1 sang Cluster 2. Điều này là do khoảng cách của Customer 3 với cụm cluster của Cluster 2 gần hơn với cụm cluster của Cluster 1.
Đại diện Cluster (Centroid Vector) Nhóm 1 Nhóm khách hàng 1 <2>
-
Nhóm 2
ID khách hàng số 5 (10, 14)
Iteration # 1 Cụm khách hàng 1 Cụm khách hàng 2 Khách hàng được kiểm tra ID khách hàng thuộc Cluster 1 Đại diện của cụm ID khách hàng thuộc Cluster 1 Đại diện của Cụm 1 (2, 2) > 5 (10, 14) 2 1, 2 (2.4, 3) 5 (10, 14) 3 1, 2, 3 (3,6,4,6) 5 (10, 14) 4 1, 2, 3 (3,6,4,6) 4, 5 (8. 4, 12) 6 1, 2, 3 (3,6,4,6) 4, 5, 6 (8,6, 11,4) 7 1, 2, 3 > 9.500> 9.500> 9.500 (8, 2, 10.8) Đây là lần lặp lại thứ hai thuật toán K-means trên dữ liệu khách hàng. Mỗi khách hàng đang được phân tích lại. Khách hàng 2 đang được chỉ định cho Cluster 1 bởi vì Customer 2 gần với đại diện của Cluster 1 hơn Cluster 2. Kịch bản tương tự áp dụng cho khách hàng 4. Lưu ý rằng một đại diện cụm đang được tính lại mỗi lần một thành viên mới được gán cho một cluster. Nhóm khách hàng 1 Nhóm khách hàng 2 Khách hàng được kiểm tra ID khách hàng thuộc Cluster 1 Đại diện của cụm ID khách hàng thuộc Cluster 2 > Đại diện của Cụm 1
1
(3, 6, 4. 6) | 5 | (8. 2, 10. 8) | ||
---|---|---|---|---|
2 | 1, 2 < 3 | 1, 2 | (5, 2, 3) | 5, 5 5 |
(8.2, 10.8) | 3 | (7. 8, 10. 2) | 4 | 1, 2 |
(5, 2, 3) | 4, 5. 3 | (7,8,10 2 6 | 1, 2 | (5, 2, 3) |
4, 5, 6 3 | (7,8,10,2) | 7 < 5, 6, 7 | (7.8, 10. 2) |