Clustering Là Gì – Hierarchical Clustering
2. Điều tra khảo sát, nghiên cứu và phân tích, toán học Thuật toán tối ưu hàm mất mát 3. Ví dụ trên Python 4. Tranh luận Tinh giảm,
1. Reviews
Trong bài trước, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, đã làm quen với thuật toán Linear Regression – là thuật toán đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, nhất trong Supervised learning. Bài này tôi sẽ reviews 1 trong các, những những những thuật toán cơ bản nhất trong Unsupervised learning – thuật toán K-means clustering (phân cụm K-means). Bài Viết: Clustering là gì Trong thuật toán K-means clustering, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, chưa
chứng tỏ và khẳng định chắc chắn, nhãn (label) của từng điểm tài liệu,. Phương châm là làm thể nào để phân tài liệu, thành những cụm (cluster) lạ mắt làm thế nào, để cho tài liệu, trong cùng một cụm có đặc biệt quan trọng, giống nhau. Ví dụ: Một doanh nghiệp, muốn làm cho những
chính sách
khuyến mãi ngay, thêm vào cho những nhóm
quý khách hàng lạ mắt phụ thuộc sự tương tác giữa mỗi
quý khách hàng với doanh nghiệp, đó (số năm là
quý khách hàng; số trị giá
quý khách hàng đã chi trả cho doanh nghiệp,; độ tuổi; giới tính; thành phố; nghề nghiệp và
việc làm,; …). Giả sử doanh nghiệp, đó có quá nhiều, tài liệu, của rất nhiều lần,
quý khách hàng nhưng chưa lộ diện
phương pháp nào chia tổng thể toàn diện và tổng thể
quý khách hàng đó thành một vài Một vài, nhóm/cụm lạ mắt. Nếu một người biết Machine Learning được đặt thắc mắc, này,
phương pháp trước tiên anh (chị) ta nghĩ tới,
Được xem là, K-means Clustering. Vì nó là
Một trong, trong
Một trong, những thuật toán trước tiên mà anh ấy tìm kiếm ra
Một trong, những cuốn sách, khóa huấn luyện và đào tạo, và huấn luyện và
Huấn luyện, về Machine Learning. Và tôi cũng
chứng tỏ và khẳng định chắc chắn, rằng anh ấy đã đọc blog Machine Learning cơ bản. Sau thời điểm đã phân ra được từng nhóm, nhân viên cấp dưới, cấp dưới cấp
Phía bên dưới, doanh nghiệp, đó rất rất có thể lựa lựa chọn ra, 1 trong các, những những
quý khách hàng Một vài, nhóm để nêu ra quyết định, xem mỗi nhóm tương xứng với nhóm
quý khách hàng nào. Phần việc
sau cuối này cần sự can thiệp của con người, nhưng lượng việc làm đã được rút gọn đi tương đối nhiều. Trí tuệ sáng tạo rất dị đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, nhất về cluster (cụm) là tập hợp những điểm ở gần cạnh nhau trong một
khoảng trống nào đó (
khoảng trống này rất rất có thể có quá nhiều, chiều trong trường hợp thông tin về một điểm tài liệu, là rất lớn,). Hình phía dưới là
Một trong, trong ví dụ về 3 cụm tài liệu, (từ giờ tôi sẽ viết gọn là cluster).

Bài toán với 3 clusters. Giả sử mỗi cluster có một điểm thay mặt đại diện, (center) màu vàng. Và những điểm
phủ bọc, mỗi center thuộc vào cùng nhóm với center đó. Một
phương pháp đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, nhất, xét một điểm bất kỳ, ta xét xem
Đặc điểm này, gần với center nào nhất thì nó thuộc chiếm hữu, cùng nhóm với center đó. Sắp tới đây đây, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, có một bài toán thú vị: Trên một vùng biển hình vuông vắn, vắn vắn to có ba quần
Hòn đảo, hình vuông vắn, vắn vắn, tam giác, và tròn màu vàng như hình trên. Một điểm trên biển khơi khơi được gọi là thuộc lãnh hải của một quần
Hòn đảo, nếu nó
Vị trí, trưng bày gần quần
Hòn đảo, này hơn nếu như với hai quần
Hòn đảo, kia . Hãy chắc như đinh, ranh giới lãnh hải của rất nhiều lần, quần
Hòn đảo,. Hình tiếp trong tương lai là
Một trong, trong hình minh họa cho việc phân loại, lãnh hải nếu có 5 hòn quần
Hòn đảo khác, nhau được màn
màn biểu diễn bằng những hình trụ trụ màu đen:

Phân vùng lãnh hải của mỗi quần
Hòn đảo,. Những vùng lạ mắt có màu sắc lạ mắt. Toàn bộ
toàn bộ
tất cả chúng ta, thấy rằng đường phân định Một vài, lãnh hải là những đường thẳng (đúng chuẩn, hơn thế nữa, thì chúng là những đường trung trực của rất nhiều lần, cặp điểm gần nhau).
chính vì vậy,, lãnh hải của một quần
Hòn đảo, sẽ là
Một trong, trong hình đa giác. Chiêu trò phân loại, này trong toán học được gọi là Voronoi Diagram. Trong
khoảng trống ba chiều, lấy ví dụ là những hành tinh, thì (tạm gọi là) lãnh không của mỗi hành tinh sẽ là
Một trong, trong đa diện. Trong
khoảng trống nhiều chiều hơn, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, sẽ thu được, những thứ (mà tôi gọi là) siêu đa diện (hyperpolygon). Quay trở lại, với bài toán phân nhóm và cụ thể rõ ràng, rõ ràng, cụ thể là thuật toán K-means clustering, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, cần một chút ít, nghiên cứu và phân tích, và điều tra khảo sát, và nghiên cứu và phân tích, và phân tích toán học trước khi đi tới phần tóm tắt thuật toán tại vị trí đặt, phía dưới. Nếu như,
quý khách hàng không còn, muốn đọc không thể, ít về toán, bạn cũng xuất hiện thể bỏ dở phần này. (Tốt nhất, nhất là đừng bỏ dở, những những
các bạn sẽ, tiếc đấy).
2. Điều tra khảo sát, nghiên cứu và phân tích, toán học
Phương châm
sau cuối của thuật toán phân nhóm
Đấy là,: từ tài liệu, nguồn vào, và số lượng nhóm toàn bộ tổng thể
toàn bộ
tất cả chúng ta, muốn tìm, hãy chỉ ra center của mỗi nhóm và phân những điểm tài liệu, vào những nhóm tương xứng. Giả sử thêm rằng mỗi điểm tài liệu, chỉ thuộc vào đúng mực một tổ, nhóm.
Một vài Một vài, ký hiệu toán học
Giả sử có (N) điểm tài liệu, là ( mathbf{X} = in mathbb{R}^{d imes N}) và (K Linear Regression. Tôi xin được không nhắc lại
Một trong, những bài tiếp theo sau sau. Với mỗi điểm tài liệu, ( mathbf{x}_i ) đặt (mathbf{y}_i = ) là label vector của mình, nó, trong những số đó nếu ( mathbf{x}_i ) được phân vào cluster (k) thì (y_{ik} = 1) và (y_{ij} = 0, forall j eq k ). Điều này nghĩa là, có đúng
Một trong những phần, tử của vector (mathbf{y}_i) là bằng 1 (tương xứng với cluster của (mathbf{x}_i )), những thành phần,
sót lại, bằng 0. Ví dụ: nếu một điểm tài liệu, có label vector là () thì nó thuộc vào cluster 1, là () thì nó thuộc vào cluster 2, (dots). Chiêu trò mã hóa label của tài liệu, như vậy này được goi là màn
màn biểu diễn one-hot. Toàn bộ
toàn bộ
tất cả chúng ta, sẽ thấy
phương pháp màn
màn biểu diễn one-hot này rất thông dụng, trong Machine Learning ở những bài tiếp theo sau sau. Ràng buộc của (mathbf{y}_i ) rất rất có thể viết phía dưới dạng toán học như sau:
Hàm mất mát và bài toán tối ưu
Nếu ta coi center (mathbf{m}_k ) là center (hoặc representative) của mỗi cluster và ước lượng toàn diện và tổng thể tổng thể những điểm được phân vào cluster này bởi (mathbf{m}_k ), thì một điểm tài liệu, (mathbf{x}_i ) được phân vào cluster (k) sẽ
Tác động ảnh hưởng, liên quan, sai số là ( (mathbf{x}_i – mathbf{m}_k) ). Toàn bộ
toàn bộ
tất cả chúng ta, mong ước, sai số này còn tồn tại trị hoàn hảo nhất, và tuyệt vời và hoàn hảo nhất, nhỏ nhất, nên (
tựa như, trong bài Linear Regression) ta sẽ tìm
phương pháp để đại lượng sau này đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất,: Ngoài ra, vì (mathbf{x}_i ) được phân vào cluster (k) nên (y_{ik} = 1, y_{ij} = 0, ~forall j eq k ). Khi đó, biểu thức ở phía phía trên sẽ triển khai viết lại là: (Yêu cầu, chỗ này không thực sự, khó hiểu) Sai số cho tổng thể toàn diện và tổng thể tài liệu,
Được xem là,: Trong những số ấy ( mathbf{Y} = ), ( mathbf{M} = ) lần lượt là những ma trận được tạo bởi label vector của mỗi điểm tài liệu, và center của mỗi cluster. Hàm số mất mát trong bài toán K-means clustering của toàn bộ tổng thể
toàn bộ
tất cả chúng ta, là hàm (mathcal{L}(mathbf{Y}, mathbf{M})) với ràng buộc như được nêu trong phương trình ((1)).
Tóm lại, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, cần tối ưu bài toán sau: (subject to nghĩa là
Đáp ứng nhu cầu, trường hợp). Nhắc lại khái niệm (argmin): Toàn bộ
toàn bộ
tất cả chúng ta, biết ký hiệu (min) là Ngân sách chi tiêu, tiêu tốn, nhỏ nhất, của hàm số, (argmin)
đó chính là Ngân sách chi tiêu, tiêu tốn, của biến số để hàm số đó đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất, đó. Nếu (f(x) = x^2 -2x + 1 = (x-1)^2 ) thì Ngân sách chi tiêu, tiêu tốn, nhỏ nhất, của hàm số này bằng 0, đã sở hữu được, được khi (x = 1). Trong ví dụ này (min_{x} f(x) = 0) và (argmin_{x} f(x) = 1). Thêm ví dụ khác, nếu (x_1 = 0, x_2 = 10, x_3 = 5) thì ta nói (argmin_{i} x_i = 1) vì (1) là chỉ số để (x_i) đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất, (bằng (0)). Biến số viết phía dưới (min) là biến số cúng ta cần tối ưu.
Một trong, những bài toán tối ưu, ta thường chăm chú
lưu ý tới (argmin) hơn là (min).
Thuật toán tối ưu hàm mất mát
Bài toán ((2)) là
Một trong, trong bài toán khó tìm điểm tối ưu vì nó lại thêm những trường hợp ràng buộc. Bài toán này thuộc loại mix-integer programming (trường hợp biến là số nguyên) –
Được xem là, dòng rất khó tìm nghiệm tối ưu toàn cục (global optimal point, tức nghiệm làm cho hàm mất mát đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất, rất rất có thể). Xem Ngay: Trái Tắc Tiếng Anh Là Gì, Tên Những Loại Trái Cây Trong Tiếng Anh
tuy nhiên, trong một vài Một vài, trường hợp toàn bộ tổng thể
toàn bộ
tất cả chúng ta, vẫn rất rất có thể tìm kiếm ra
phương pháp để tìm kiếm ra nghiệm gần đúng hoặc điểm cực tiểu. (Nếu toàn bộ tổng thể
toàn bộ
tất cả chúng ta, vẫn nhớ chương trình toán ôn thi đại học thì điểm cực tiểu chưa chắc đã cần là việc, việc làm cho hàm số đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất,). Một
phương pháp đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, để giải bài toán ((2)) là xen kẹt, giải (mathbf{Y}) và ( mathbf{M}) khi biến
sót lại, được thắt chặt và thắt chặt và cố định,.
Đấy là,
Một trong, trong thuật toán lặp, cũng
Đấy là, kỹ thuật thông dụng, khi giải bài toán tối ưu. Toàn bộ
toàn bộ
tất cả chúng ta, sẽ lần lượt giải quyết và xử lý, và xử lý và giải quyết và xử lý, hai bài toán sau này: Thắt chặt và cố định, và thắt chặt (mathbf{M} ), tìm (mathbf{Y}) Giả sử đã tìm kiếm ra những centers, hãy tìm những label vector để hàm mất mát đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất,. Điều này tương đồng, với việc tìm và đào bới và hướng tới, cluster
cho từng, điểm tài liệu,. Lúc những centers là thắt chặt và thắt chặt và cố định,, bài toán tìm label vector cho tổng thể toàn diện và tổng thể tài liệu, rất rất có thể được chia nhỏ dại thành bài toán tìm label vector cho từng điểm tài liệu, (mathbf{x}_i) như sau: Vì chỉ có
Một trong những phần, tử của label vector (mathbf{y}_i) bằng (1) nên bài toán ((3)) rất rất có thể liên tục, được viết phía dưới dạng đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, hơn: Vì (|mathbf{x}_i – mathbf{m}_j|_2^2)
đó chính là bình phương khoảng tầm chừng
phương pháp tính từ điểm (mathbf{x}_i ) tới center (mathbf{m}_j ), ta rất rất có thể
Kết luận rằng mỗi điểm (mathbf{x}_i ) thuộc vào cluster có center gần nó nhất! Từ đó ta rất rất có thể đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, suy ra label vector của từng điểm tài liệu,. Thắt chặt và cố định, và thắt chặt (mathbf{Y} ), tìm (mathbf{M}) Giả sử đã tìm kiếm ra cluster cho từng điểm, hãy tìm center mới
cho từng, cluster để hàm mất mát đạt Ngân sách chi tiêu, tiêu tốn, nhỏ nhất,. Một khi toàn bộ tổng thể
toàn bộ
tất cả chúng ta, đã chắc như đinh, được label vector cho từng điểm tài liệu,, bài toán tìm center
cho từng, cluster được rút gọn thành: Sắp tới đây đây, ta rất rất có thể tìm nghiệm bằng
phương pháp giải đạo hàm bằng 0, vì hàm cần tối ưu là
Một trong, trong hàm liên tục, và có đạo hàm chắc như đinh, tại mọi điểm. Và quan trọng hơn, hàm
Đấy là, hàm convex (lồi) theo (mathbf{m}_j ) nên toàn bộ tổng thể
toàn bộ
tất cả chúng ta, sẽ tìm kiếm ra Ngân sách chi tiêu, tiêu tốn, nhỏ nhất, và điểm tối ưu tương xứng. Sau này nếu có dịp, tôi sẽ nói thêm về tối ưu lồi (convex optimization) – một mảng cực kỳ, quan trọng trong toán tối ưu. Đặt (l(mathbf{m}_j)) là hàm
Phía trong, dấu (argmin), ta có đạo hàm: Giải phương trình đạo hàm bằng 0 ta có: Nếu
lưu ý một chút ít,, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, sẽ thấy rằng mẫu số
đó chính là phép đếm số lượng những điểm tài liệu, trong cluster (j) (Bạn có nhận thấy không?). Còn tử số
đó chính là tổng những điểm tài liệu, trong cluster (j). (Nếu như,
quý khách hàng đọc vẫn nhớ trường hợp ràng buộc của rất nhiều lần, (y_{ij} ) thì sẽ thu được, thể nhanh lẹ nhìn ra điều này). Hay nói một
phương pháp đơn giản và giản dị, và dễ dàng và đơn giản, và không cầu kỳ,: (mathbf{m}_j) là trung bình cộng của rất nhiều lần, điểm trong cluster (j). Tên thường gọi, K-means clustering cũng bắt nguồn từ, đây.
Tóm tắt thuật toán
Sắp tới đây đây tôi xin được tóm tắt lại thuật toán (đặc biệt quan trọng, quan trọng với toàn bộ tổng thể
toàn bộ
tất cả chúng ta, bỏ dở phần toán học ở phía phía trên) như sau: Nguồn vào,: Tài liệu, (mathbf{X}) và số lượng cluster cần tìm (K). Đầu ra: Những center (mathbf{M}) và label vector cho từng điểm tài liệu, (mathbf{Y}). Chọn (K) điểm bất kỳ làm những center lúc đầu. Phân mỗi điểm tài liệu, vào cluster có center gần nó nhất. Nếu việc gán tài liệu, vào từng cluster ở bước 2 không điều chỉnh, nếu như với vòng lặp trước nó thì ta dừng thuật toán. Update center cho từng cluster bằng
phương pháp lấy trung bình cộng của tất những những điểm tài liệu, đã được gán vào cluster đó sau bước 2. Quay trở lại, bước 2. Bạn cũng luôn có thể bảo đảm an toàn, rằng thuật toán sẽ tạm ngưng, sau một vài Một vài, hữu hạn vòng lặp. Quả thật như vậy,, vì hàm mất mát là
Một trong, trong những dương và sau từng bước một, một một 2 hoặc 3, Ngân sách chi tiêu, tiêu tốn, của hàm mất mát bị giảm sút. Theo kiến thức và năng lực, về dãy số trong chương trình cấp 3: nếu một dãy số giảm và bị chặn phía dưới thì nó hội tụ! Ngoài ra, số lượng
phương pháp phân nhóm cho tổng thể toàn diện và tổng thể tài liệu, là hữu hạn nên tới, một lúc nào đó, hàm mất mát sẽ đã mất, điều chỉnh,, và bạn cũng luôn có thể dừng thuật toán ở đây,. Toàn bộ
toàn bộ
tất cả chúng ta, sẽ thu được, 1 trong các, những những
Bàn luận, về thuật toán này, về những hạn chế và một vài Một vài,
phương pháp giải quyết và xử lý, và xử lý và giải quyết và xử lý, và khắc phục. Nhưng trước hết, hãy xem nó biểu lộ, thế nào, trong một ví dụ cụ thể rõ ràng, rõ ràng, cụ thể tiếp trong tương lai.
3. Ví dụ trên Python
Reviews bài toán
Để kiểm tra mức độ hiểu quả của một thuật toán, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, sẽ làm một ví dụ đơn giản và giản dị, và dễ dàng và đơn giản, và đơn giản và giản dị, (thường được gọi là toy example). Trước hết, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, chọn center cho từng cluster và tạo tài liệu, cho từng cluster bằng
phương pháp lấy mẫu theo đáp ứng, chuẩn
có muốn, là center của cluster đó và ma trận hiệp phương sai (covariance matrix) là ma trận
Đơn vị chức năng,
công dụng
hiệu quả,. Xem Ngay: Certificate Of Compliance Là Gì, Certificate Of Compliance
Thứ nhất,, toàn bộ tổng thể
toàn bộ
tất cả chúng ta, cần khai báo những thư viện cần sử dụng. Toàn bộ
toàn bộ
tất cả chúng ta, cần numpy và matplotlib như trong bài Linear Regression cho việc
Thống kê, ma trận và hiển thị tài liệu,. Toàn bộ
toàn bộ
tất cả chúng ta, cũng rất cần phải, thêm thư viện scipy.spatial.distance để tính khoảng tầm chừng
phương pháp Một vài, cặp điểm trong hai tập hợp một
phương pháp
hiệu quả,. Thể Loại: Share Kiến Thức Cộng Đồng
Bài Viết: Clustering Là Gì – Hierarchical Clustering Thể Loại: LÀ GÌ Nguồn Blog là gì: https://hethongbokhoe.com Clustering Là Gì – Hierarchical Clustering