Như vừa trình bày, k-means gán các điểm cho tâm điểm gần nhất. Nhưng "gần nhất" có nghĩa là gì?
Để áp dụng k-means cho dữ liệu đặc điểm, bạn cần xác định một chỉ số tương đồng kết hợp tất cả dữ liệu đặc điểm thành một giá trị số duy nhất, được gọi là chỉ số tương đồng thủ công.
Hãy xem xét một tập dữ liệu về giày. Nếu tập dữ liệu đó chỉ có kích thước giày làm đặc điểm, bạn có thể xác định mức độ tương đồng của hai chiếc giày theo sự khác biệt về kích thước. Chênh lệch số giữa các kích thước càng nhỏ thì mức độ tương đồng giữa các đôi giày càng lớn.
Nếu tập dữ liệu về giày đó có hai đặc điểm dạng số, kích thước và giá, thì bạn có thể kết hợp các đặc điểm đó thành một con số duy nhất thể hiện mức độ tương đồng. Trước tiên, hãy điều chỉnh tỷ lệ dữ liệu để cả hai tính năng đều có thể so sánh được:
- Kích thước (s): Kích thước giày có thể tạo thành một phân phối Gaussian. Xác nhận điều này. Sau đó, hãy chuẩn hoá dữ liệu.
- Giá (p): Dữ liệu có thể là một phân phối Poisson. Xác nhận điều này. Nếu bạn có đủ dữ liệu, hãy chuyển đổi dữ liệu thành các phân vị và điều chỉnh theo tỷ lệ .
Tiếp theo, hãy kết hợp hai đặc điểm này bằng cách tính sai số trung bình bình phương căn bậc hai (RMSE). cung cấp chỉ số tương đồng gần đúng này.
Ví dụ đơn giản: tính toán mức độ tương đồng của hai đôi giày có kích thước theo chuẩn Hoa Kỳ là 8 và 11, giá là 120 và 150. Vì không có đủ dữ liệu để hiểu về mức phân phối, nên chúng ta sẽ điều chỉnh quy mô dữ liệu mà không cần chuẩn hoá hoặc sử dụng các phân vị.
Hành động | Phương thức |
---|---|
Điều chỉnh theo tỷ lệ. | Giả sử kích thước giày tối đa có thể là 20. Chia 8 và 11 cho kích thước tối đa 20 để có được 0,4 và 0,55. |
Điều chỉnh giá theo tỷ lệ. | Chia 120 và 150 cho giá tối đa 150 để có 0,8 và 1. |
Tìm sự khác biệt về kích thước. | |
Tìm sự khác biệt về giá. | |
Tính RMSE. |
Theo trực giác, chỉ số tương đồng sẽ tăng lên khi dữ liệu đặc điểm giống nhau hơn. Thay vào đó, chỉ số tương đồng (RMSE) của bạn thực sự giảm. Hãy làm cho giá trị đo lường mức độ tương đồng tuân theo trực giác của bạn bằng cách trừ giá trị đó cho 1.
Nhìn chung, bạn có thể chuẩn bị dữ liệu dạng số như mô tả trong phần Chuẩn bị dữ liệu, sau đó kết hợp dữ liệu bằng cách sử dụng khoảng cách Euclide.
Điều gì sẽ xảy ra nếu tập dữ liệu đó bao gồm cả kích thước giày và màu giày? Màu sắc là dữ liệu dạng danh mục, được thảo luận trong khoá học Học nhanh về học máy trong phần Làm việc với dữ liệu dạng danh mục. Dữ liệu phân loại khó kết hợp với dữ liệu kích thước dạng số hơn. Đó có thể là:
- Có một giá trị (univalent), chẳng hạn như màu xe ("trắng" hoặc "xanh dương" nhưng không bao giờ là cả hai)
- Nhiều giá trị (đa giá trị), chẳng hạn như thể loại của phim (một bộ phim có thể vừa là "hành động" vừa là "hài" hoặc chỉ là "hành động")
Nếu dữ liệu đơn trị khớp, chẳng hạn như trong trường hợp hai đôi giày màu xanh dương, thì mức độ tương đồng giữa các ví dụ là 1. Nếu không, độ tương đồng là 0.
Dữ liệu đa giá trị, chẳng hạn như thể loại phim, khó xử lý hơn. Nếu có một nhóm cố định các thể loại phim, bạn có thể tính toán mức độ tương đồng bằng cách sử dụng tỷ lệ các giá trị chung, được gọi là mức độ tương đồng Jaccard. Ví dụ về cách tính toán độ tương đồng Jaccard:
- [“comedy”,”action”] and [“comedy”,”action”] = 1
- [“comedy”,”action”] và [“action”] = ½
- [“comedy”,”action”] and [“action”, "drama"] = ⅓
- [“comedy”,”action”] and [“non-fiction”,”biographical”] = 0
Chỉ số tương đồng Jaccard không phải là chỉ số tương đồng thủ công duy nhất có thể áp dụng cho dữ liệu dạng danh mục. Hai ví dụ khác:
- Bạn có thể chuyển đổi Mã bưu chính thành vĩ độ và kinh độ trước khi tính toán khoảng cách Euclide giữa các mã đó.
- Bạn có thể chuyển đổi Màu thành các giá trị RGB dạng số, với sự khác biệt về giá trị được kết hợp thành khoảng cách Euclide.
Hãy xem phần Làm việc với dữ liệu dạng danh mục để biết thêm thông tin.
Nhìn chung, chỉ số tương đồng thủ công phải trực tiếp tương ứng với mức độ tương đồng thực tế. Nếu không, chỉ số bạn chọn sẽ không mã hoá thông tin mà bạn muốn mã hoá.
Hãy xử lý trước dữ liệu của bạn một cách cẩn thận trước khi tính toán chỉ số tương đồng. Các ví dụ trên trang này được đơn giản hoá. Hầu hết các tập dữ liệu thực tế đều lớn và phức tạp. Như đã đề cập trước đó, phân vị là lựa chọn mặc định phù hợp để xử lý dữ liệu dạng số.
Khi mức độ phức tạp của dữ liệu tăng lên, việc tạo một biện pháp đo lường độ tương đồng theo cách thủ công sẽ trở nên khó khăn hơn. Trong trường hợp đó, hãy chuyển sang chỉ số tương đồng có giám sát, trong đó mô hình học máy có giám sát sẽ tính toán mức độ tương đồng. Chúng ta sẽ thảo luận chi tiết hơn về vấn đề này ở phần sau.