Thuật toán phân cụm K-means

Một phần của tài liệu Một số phương pháp nâng cao độ chính xác dự báo trong mô hình chuỗi thời gian mờ (Trang 39 - 40)

Phân cụm K-means do MacQueen giới thiệu [69] là một trong những thuật toán học không giám sát đơn giản nhất để giải quyết vấn đề phân cụm. Tư tưởng của thuật toán K-means như sau:

Giả sử X là tập n đối tượng dữ liệu: X= {𝑥1, 𝑥2, … , 𝑥𝑛}và C làtập các tâm cụm

C = {𝑐1, 𝑐1, …, 𝑐𝐾} . Thuật toán này tìm cách phân tập các đối tượng đã cho vào K

cụm dựa trên mức độ tương đồng của chúng sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm cụm là nhỏ nhất, được cho bởi phương trình (1.11). Về nguyên lý, có n đối tượng, mỗi đối tượng có m thuộc tính, các đối tượng được phân chia thành K cụm dựa trên các thuộc tính của đối tượng bằng việc áp dụng thuật toán K-means. 𝐽(𝑉) = ∑ ∑ |(𝑥𝑗 − 𝑐𝑖)|2 𝑛 𝑗=1 𝐾 𝑖=1 (1.11) Trong đó, d(𝑥𝑗, 𝑐𝑖) = |(𝑥𝑗− 𝑐𝑖)|2 là khoảng cách Euclidean giữa 𝑥𝑗 và 𝑐𝑖; 𝑛 là số đối tượng dữ liệu trong cụm i;K là số cụm được xác định trước.

➢ Thuật toán phân cụm K-means được mô tả thành các bước và tóm tắt bởi sơ đồ khối như Hình 1.9 dưới đây.

Đầu vào: Tập dữ liệu {𝑥𝑗}, số cụm K, (1 ≤ 𝑗 ≤ 𝑛 )

Đầu ra: Các cụm 𝑐𝑖 (1 ≤ 𝑖 ≤ 𝐾 ) và giá trị hàm mục tiêu.

Bắt đầu

Bước 1- Khởi tạo: Chọn K tâm cụm {𝑐𝑖} ban đầu trong không gian m chiều.

Bước 2- Tính khoảng cách

✓ Đối với mỗi đối tượng 𝑥𝑗 tính khoảng cách từ nó tới mỗi tâm cụm {𝑐𝑖}. Sau đó tìm tâm gần nhất đối với mỗi đối tượng bằng cách gán mỗi 𝑥𝑗 ∈ 𝐶 nếu𝑑(𝑥𝑗 , 𝑐𝑗) < 𝑑(𝑥𝑗 , 𝑐𝑖) , j≠ 𝑖.

Bước 3- Nhóm các đối tượng và cập nhật lại tâm cụm mới 𝑐𝑖

✓ Cập nhật tâm cụm 𝑐𝑖 bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu. 𝑐𝑖 = 1

𝑛∑𝑛𝑗=1𝑥𝑗 với 1 i ≤K.

Kết thúc.

Hình 1.9: Sơ đồ thuật toán phân cụm K-means

Một phần của tài liệu Một số phương pháp nâng cao độ chính xác dự báo trong mô hình chuỗi thời gian mờ (Trang 39 - 40)