12/08/2018, 15:35

Machine learning : K-means Clustering

Trong bài trước, chúng ta học thuật toán Hồi qui tuyến tính Linear Regression. Đây là thuật toán đơn giản nhất trong Supervised learning. Bài viết này chúng ta chuyển sang học về một thuật toán cơ bản trong Unsupervised learning - thuật toán K-means clustering (phân nhóm K-means). Đây là là một ...

Trong bài trước, chúng ta học thuật toán Hồi qui tuyến tính Linear Regression. Đây là thuật toán đơn giản nhất trong Supervised learning. Bài viết này chúng ta chuyển sang học về một thuật toán cơ bản trong Unsupervised learning - thuật toán K-means clustering (phân nhóm K-means). Đây là là một thuật toán khá gần gũi với tôi vì trong quá trình làm nghiên cứu ở đại học, tôi đã làm khá sâu về graph và đường đi ngắn nhất với bài toàn tìm k Nearest Neighbor.

Hiểu về K-Means Clustering

Trước hết chúng ta sẽ tìm hiểu về thuật toán K-means clustering trước bằng ví dụ :

Bài toán kích thước áo T-shirt

Giả sử có một công ty định ra mắt một mẫu sản phẩn mới T-shirt vào thị trường. Tất nhiên họ sẽ phải sản xuất rất nhiều size để phù hợp với sự đa dạng của thị trường người dùng. Với định hướng đo, công ty đã tiến hành khảo sát dữ liệu chiều cao và cân nặng của người dùng, và vẽ nó thành 1 đồ thị như sau :

alt

Công ty này ko thể đủ nguồn lực để có thể sản xuất áo với tất cả mọi size. Thực tế này trong kinh doanh bạn cũng dễ dàng hiểu được. THay vì đó, họ sẽ chia số lượng người dùng thành các size như là Small, Medium, Large và sản xuất chỉ 3 mẫu như thế. 3 mẫu này là đủ khớp với tất cả mọi người và thị trường. Ở đây việc phân chia các người dùng vào 3 nhóm trên sẽ được xử lý bằng kĩ thuật phân nhóm K-means. Thuật toán này sẽ cho ta 3 size áo tối ưu nhất - thoã mãn tất cả mọi người. Tất nhiên, nếu như ko thể tìm được 3 size áo vừa vặn thoả mãn mọi người trong nhóm, công ty sẽ chia nhỏ nhóm thêm thành nhiều nhóm khác, có thể là 5, có thể là nhiều hơn nữa ....             </div>
            
            <div class=

0