You are on page 1of 20

NHÓM 6

K-MEANS
Machine learning
THÀNH Nhóm 6

VIÊN 1. Nguyễn Ngọc Diễm


2. Nguyễn Thảo Ly
3. Trần Khánh Huyền
4. Nguyễn Thị Bích Ngọc
5. Hồ Thảo Nguyên
6. Lê Phụng Nhi
Giới thiệu về K-Means
K-MEANS
Nguyên tắc hoạt động

Quy trình thực hiện

Ví dụ Python

Ưu và nhược điểm của K-Means

Ứng dụng K-Means


1 . GIỚI THIỆU
Khái niệm
Thuật toán phân cụm K-means là
một phương pháp được sử dụng
trong phân tích tính chất cụm của dữ
liệu.
Đặc biệt được sử dụng nhiều
trong khai phá dữ liệu và thống
kê.
Phân vùng dữ liệu thành k cụm
khác nhau.
Giúp chúng ta xác định được dữ
liệu của chúng ta nó thực sự
2. NGUYÊN TẮC
HOẠT ĐỘNG
CỦA K-MEANS
2.1. PHÂN CỤM DỮ LIỆU
Công việc phân cụm được xác lập
dựa trên nguyên lý: Các điểm dữ liệu
trong cùng 1 cụm thì phải có cùng 1
số tính chất nhất định.
Thuật toán phân cụm K-means
thường được sử dụng trong các ứng
dụng cỗ máy tìm kiếm, phân đoạn
khách hàng, thống kê dữ liệu… Kết quả phân cụm của thuật toán K-mean
2.2. HÀM MẤT MÁT
Giả sử ta có điểm dữ liệu xi cần phân vào cụm mk
Khi đó ta có vector sai số giữa 2 điểm là: (mk - xi)
Để thuật toán chính xác thì xi gần với mk, hay ta mong muốn vector sai
số phải gần với vector không.

Tối thiểu bình phương Eucild:

Vì xi thuộc mk nên yik = 1 do đó:


Vậy ta có hàm sai số trung bình cho toàn bộ dữ liệu 𝑁 điểm là:

Giải giải quyết bài toán, ta cần giải quyết tối ưu ràng buộc:
2.3. THUẬT TOÁN
TỐI ƯU HÓA
Giả sử đã tìm được các tâm cụm, xác định cụm cho mỗi điểm dữ liệu để
hàm mất mát là nhỏ nhất. (Cố định 𝑚, tìm 𝑦 )
Giả sử đã biết cụm của từng điểm dữ liệu, xác định tâm cụm mới để
hàm mất mát là nhỏ nhất. (Cố định 𝑦, tìm 𝑚 )
Ta cứ làm xen kẽ như vậy đến khi hàm mất mát hội tụ tại giá trị nhỏ nhất.
2.3.1. Cố định m, tìm y

Nếu cố định m thì coi m = constant, ta lại có


Khi đó việc tối ưu hàm mất mát lúc này chính là tìm:

Và hàm mất mát tối ưu khi xi gần với mj hơn.

⇒ Mỗi điểm dữ liệu thuộc vào tâm cụm gần nó nhất


2.3.2. Cố định y, tìm m
Khi cố định y thì mục tiêu ta sẽ là tối ưu của hàm

Hàm mj là hàm liên tục và có đạo hàm xác định tại mọi điểm nên ta sẽ tối
ưu bằng cách cho đạo hàm bằng 0.
Đặt L(mj) là hàm bên trong dấu argmin, ta có đạo hàm:

Giải phương trình đạo hàm bằng 0, ta có:

Tâm cụm mj chính là trung bình cộng của các điểm trong cluster j.
Tên gọi K-means cluster cũng xuất phát từ đây.
3.QUY Bước 1 Khởi tạo số lượng cụm (clusters) K

TRÌNH Bước 2 Khởi tạo các điểm trung tâm ban đầu

THỰC HIỆN
K-MEANS
Bước 3 Gán dữ liệu vào các cụm

Quy trình thực hiện thuật toán K- Bước 4 Cập nhật điểm trung tâm
means trong Machine learning
bao gồm các bước: Bước 3 và bước 4 sẽ được lặp đi lặp lại
Bước 5
cho tới khi vị trí của tâm cụm không
thay đổi hoặc tâm của tất cả các điểm
dữ liệu không thay đổi
4. VÍ DỤ PYTHON
4.1. Giới thiệu bài toán
Có 1 tập hợp các điểm trên không
gian tọa độ Oxy. Mỗi điểm sẽ có
tọa độ (x, y) xác định. Bài toán cần
giải quyết là chia các điểm này
thành K cụm khác nhau phân biệt.
4.2. Kết quả
Toàn bộ thuật toán K – means:
4.2. Kết quả

Kết quả cho ra tọa độ của 3 tâm cụm khá sát vớt các tâm mà chúng ta khởi
tạo là (2, 2), (9, 2) và (4,9). Điều đó cho thấy K-means đã làm rất tốt trong bài
toán này.
5.1. Ưu điểm
K-means là thuật toán đơn giản, có độ phức tạp
thấp
Dễ dàng thích ứng với các dữ liệu mới.
K-means thực hiện phân cụm tốt mà không cần
biết nhãn dữ liệu đầu vào.
5. ƯU VÀ K-means là nền tảng cho nhiều thuật toán phức
tạp sau này.
NHƯỢC Các cụm được tách biệt rõ ràng không có hiện

ĐIỂM tượng một đối tượng xuất hiện trong nhiều cụm
dữ liệu khác nhau.

CỦA Có khả năng sửa đổi, nâng cấp để tổng quát hóa
với các cụm có hình dạng, kích thước khác nhau
K-MEANS
5. ƯU VÀ NHƯỢC
ĐIỂM CỦA K-MEANS
5.2. Nhược điểm

Số K cần được xác định trước.


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.
K-means sẽ không hiệu quả nếu các cụm chênh
lệch về kích thước hoặc có hình dạng không đều
nhau.
6. ỨNG DỤNG
CỦA K-MEANS
Phân đoạn ảnh: Có thể được sử dụng
trong các hệ thống theo dõi và phát
hiện đối tượng.
Marketing: Xác định các nhóm khách
hàng để phân loại và dự đoán hành vi
khách hàng
Bảo hiểm, tài chính: Phân nhóm các đối
tượng sử dụng bảo hiểm và các dịch vụ
tài chính, dự đoán xu hướng của khách
hàng, phát hiện gian lận tài chính...
CÁC BIẾN THỂ VÀ
CẢI TIẾN CỦA K-MEANS
K-Means ++: Thuật toán này đảm bảo khởi tạo trọng tâm thông minh hơn và cải
thiện chất lượng của phân cụm. Tuy nhiên, nó vẫn còn nhạy cảm với các ngoại lệ.

K-medoid: Sử dụng một đối tượng ở gần tâm cụm nhất làm đại diện. Điều này giúp
k-Medoids trở nên ổn định hơn với các giá trị ngoại lai và và có khả năng xử lý tốt
hơn với các dữ liệu không phải là số, nhưng độ phức tạp lớn hơn.

Fuzzy c-mean (FCM): FCM là phân cụm dữ liệu mở. Thuật toán này khắc phục được
các cụm dữ liệu chồng nhau trên các tập dữ liệu có kích thước lớn hơn, nhiều chiều
và nhiễu. Song nhưng chúng vẫn nhạy cảm với các phần tử ngoại lai
THANKS
FOR
LISTENING!
Nhóm 6
Machine learing

You might also like