^Back To Top

foto1 foto2 foto3 foto4 foto5


Get Adobe Flash player

Trí tuệ nhân tạo năm 2025: Bước tiến công nghệ và tác động đến giáo dục Việt Nam

Trong năm 2025, trí tuệ nhân tạo phát triển vượt bậc, trở thành công cụ quan trọng trong giáo dục Việt Nam. AI hỗ trợ cá nhân hóa học tập, tối ưu giảng dạy và nghiên cứu. Tuy còn thách thức, AI hứa hẹn sẽ tiếp tục là động lực đổi mới giáo dục trong thập kỷ tới
63

Ngành Công nghệ thông tin và lựa chọn nghề nghiệp

Giới thiệu ngành Công nghệ thông tin Công nghệ thông tin (CNTT) là ngành học liên quan…
126

Nghị Định 214/2025: Cánh cửa rộng mở cho sinh viên ngành Xây dựng biến ý tưởng thành hiện thực

Ngày 04/08/2025, Nghị định 214/2025/NĐ-CP của Chính phủ vừa được ban hành, mang đến một…
Default Image
406

Học tại quê nhà – Vươn ra thế giới đối với ngành cử nhân Công nghệ thông tin – Đại học Hà Tĩnh

Bạn yêu thích máy tính, phần mềm, và thế giới số? Bạn mơ ước được làm việc tại các công…
634

Cơ hội mới cho ngành Kỹ thuật xây dựng trước loạt luật mới 2025!

Cơ hội mới cho ngành Kỹ thuật xây dựng trước loạt luật mới 2025! 🌟 CƠ HỘI MỚI CHO NGÀNH…
862

Khoa Kỹ thuật công nghệ tổ chức thành công Lễ bế giảng khóa học K13, K14 KTXD và K14 SP TIN, K14 CNTT

Chiều ngày 19 tháng 6 năm 2025, tại phòng họp số 5 Trường Đại học Hà Tĩnh, Khoa Kỹ thuật…

K-Means là một thuật toán phân cụm dữ liệu kinh điển trong học máy (Machine learning), thuộc lớp thuật toán học không giám sát (Unsupervised learning). Bài viết sau đây nhằm giúp các bạn sinh viên CNTT hiểu rõ hơn về thuật toán trong phân cụm dữ liệu và ứng dụng thuật toán này trong phần nén ảnh của môn học Xử lý ảnh dành cho sinh viên năm 4 chuyên ngành CNTT.

1. Giới thiệu về thuật toán K-Means

Thuật toán K-Means chuẩn được đề xuất lần đầu tiên bởi Stuart Lloyd của Bell Labs vào năm 1957 nhưng không được xuất bản dưới dạng một bài báo cho đến tận năm 1982, năm 1965, Edward W.Forgy đã công bố phương pháp tương tự, do đó phương pháp này thường được gọi là Lloyd-Forgy.

Thuật toán K-Means

Bước 1. Tạo các tâm cụm ngẫu nhiên

            (1)  

Bước 2. Gán các điểm dữ liệu  xi (iÎ[1, N]) vào các tâm cụm mk (kÎ[1, K])

- Với mỗi điểm dữ liệu, ta tính khoảng cách Euclid của nó đến các tâm cụm được định nghĩa bởi hàm (xi-mk) (2), tập hợp các điểm được gán vào cùng một tâm cụm sẽ tạo thành một cụm.

- Đặt  là các vector cho mỗi cặp xi, yik = 1 nếu xi thuộc cụm kyij=0 với j≠k.

- Khi đó ta có biểu thức sau:

                (3)

- Tổng bình phương khoảng cách từ một điểm thuộc cụm dữ liệu xi thuộc nhóm mk được xác định theo công thức:

        (4)

- Khi đó hàm mất mát (lost function) được định nghĩa:

            (5)

Với M là tập hợp các cụm tại (1)

Y, M = argminY,M          (6)

Bước 3. Cập nhật lại vị trí tâm cụm và gán lại các điểm dữ liệu vào từng cụm sau khi đã xác định được khoảng cách nhỏ nhất từ các công thức (4), (5), (6).

- Lặp lại cho đến khi vị trí tâm các cụm không thay đổi, tổng khoảng cách từ các điểm dữ liệu đến các tâm cụm khi đó sẽ đạt nhỏ nhất, gọi là lỗi (Error) nhỏ nhất.

m2

Hình 1. Sử dụng K-Means để phân cụm dữ liệu, số điểm dữ liệu N=150; K=3

2. Sử dụng ngôn ngữ lập trình Python cài đặt thuật toán K-Means trong nén ảnh màu

Từ thuật toán K-Means trên, mỗi bức ảnh màu chúng ta tiến hành phân cụm theo các thông số màu R-G-B từ các pixels của ảnh. Khi xác định được những màu chủ đạo (màu chiếm đa số pixels trong ảnh), chúng tôi tiến hành phân cụm và thay thế mỗi giá trị pixel đó bởi giá trị trung bình các pixels trong ảnh, chúng tôi sử dụng ngôn ngữ lập trình python thử nghiệm  thuật toán K-Means để thực hiện nén ảnh. Chương trình chúng tôi sử dụng một số thư viện như matplotlib, sklearn và numpy trong quá trình cài đặt.

m1

3. Kết luận

Qua kết quả chạy thực nghiệm khi sử dụng thuật toán phân cụm K-Means với số cụm K=16 để nén ảnh, ảnh đã giảm dung lượng từ 4.3MB xuống còn 209KB (b), với K=4 dung lượng giảm xuống còn 159KB (c). Mặc dù chất lượng ảnh đã không được như ảnh gốc vì ảnh sau khi nén là ảnh 16 màu hoặc 4 màu tương ứng với K=16 và K=4 cụm được K-Means tiến hành phân cụm và thay thế giá trị trung bình các chỉ số R-G-B trong từng pixel của ảnh gốc. Tuy nhiên ảnh sau khi nén vẫn giữ được đầy đủ đặc tính để thực hiện phân tích và xử lý ảnh, do đó K-Means được ứng dụng cài đặt thực nghiệm, mô phỏng trong lĩnh vực phân tích và xử lý ảnh cũng như mô phỏng thực nghiệm phân cụm dữ liệu trong lĩnh vực học máy.

Tài liệu tham khảo:

[1]. Shokri Selim, K-Means-Type Algorithms: A Generalized Convergence Theorem and Characterization of Local Optimality, IEEE transactions on pattern analysis and machine intelligence, vol. pami-6, no. 1, january, 1984.

[2]. Vu Huu Tiep, blog https://machinelearningcoban.com.

Sinh viên tiêu biểu