GMM trong Python là gì?

Bạn nên xem blog của tôi về phân cụm K-Means [3 phút đọc] để có ý tưởng cơ bản về phân cụm, học tập không giám sát và kỹ thuật K-means. Trong phân cụm, được cung cấp một tập dữ liệu X chưa được gắn nhãn, chúng tôi muốn nhóm các mẫu thành các cụm K. Trong GMM, người ta cho rằng các quần thể con khác nhau [tổng cộng là K] của X tuân theo phân phối chuẩn, mặc dù chúng tôi chỉ có thông tin về phân phối xác suất của tổng thể X [do đó có tên là Mô hình hỗn hợp Gaussian]. Nhiệm vụ của chúng tôi là có thể tìm các tham số của K gaussian để trực quan hóa dữ liệu X để phân tích dữ liệu khám phá hoặc đưa ra dự đoán về dữ liệu mới

Những cải tiến so với K-Means Clustering

K-mean sử dụng hàm khoảng cách euclide để khám phá các cụm trong dữ liệu. Cách tiếp cận này hoạt động tốt miễn là dữ liệu tuân theo phân phối vòng tròn đối với trọng tâm. Nhưng nếu dữ liệu là phi tuyến tính, hình elip thì sao?

Đây là nơi Mô hình hỗn hợp Gaussian tiết kiệm trong ngày

GMM giả định một hỗn hợp các bản phân phối gaussian đã tạo ra dữ liệu. Nó sử dụng với việc gán mềm các điểm dữ liệu cho các cụm [i. e. xác suất và do đó tốt hơn] tương phản với cách tiếp cận K-means của việc gán cứng các điểm dữ liệu cho các cụm với giả định phân phối dữ liệu vòng tròn xung quanh trọng tâm

Nói tóm lại, chụp GMM hoạt động tốt hơn vì [A] nó ghi lại sự không chắc chắn của các điểm dữ liệu thuộc các cụm khác nhau bằng cách sử dụng các phép gán mềm và [B] nó không có độ lệch cho các cụm tròn. Vì vậy, nó hoạt động tốt ngay cả với phân phối dữ liệu phi tuyến tính

GMM

Hàm mục tiêu của GMM là tối đa hóa giá trị khả năng cho dữ liệu X, p[X] hoặc giá trị khả năng log L [vì log là hàm tăng đơn điệu]. Bằng cách giả sử hỗn hợp K gaussian đã tạo ra dữ liệu, chúng ta có thể viết p[X] dưới dạng xác suất cận biên, tính tổng trên tất cả K cụm cho tất cả các điểm dữ liệu

giá trị khả năng

Đăng nhập giá trị Khả năng

Với tổng kết bên trong hàm log ở trên, chúng ta không thể có được một giải pháp phân tích. Trông thật khó chịu, có một giải pháp tao nhã cho vấn đề này. Thuật toán Tối đa hóa Kỳ vọng [EM]

Toán học

Thuật toán EM là một thuật toán lặp được sử dụng để tìm ước lượng khả năng tối đa [MLE] của các mô hình trong đó các tham số không thể được tìm thấy trực tiếp giống như trường hợp của chúng tôi ở đây. Nó bao gồm hai bước. bước kỳ vọng và bước tối đa hóa

  1. Bước kỳ vọng. Tính giá trị thành viên r_ic. Đây là xác suất mà điểm dữ liệu x_i thuộc cụm c

2. Bước tối đa hóa. Tính toán tham số mc mới, xác định tỷ lệ điểm thuộc các cụm khác nhau. Cập nhật các tham số μ, π, Σ bằng cách tính toán MLE cho từng cụm c

Lặp lại các bước E-M cho đến khi giá trị log-likelihood L hội tụ

Mã số

Hãy viết một triển khai cơ bản cho GMM trong python từ đầu

Tạo dữ liệu 1-D

Khởi tạo tham số cho GMM. μ, π, Σ

Chạy lần lặp đầu tiên của thuật toán EM

Lần lặp duy nhất của thuật toán EM

Đặt mã này vào một vòng lặp for và đóng hộp nó trong một đối tượng lớp. Bây giờ chúng tôi đang nói

Lớp GMM-1D

Chúng tôi có một mô hình được thiết lập và chạy cho dữ liệu 1-D. Nguyên tắc tương tự cũng hoạt động cho các kích thước cao hơn [≥ 2D]. Điểm khác biệt duy nhất là chúng ta sẽ sử dụng phân phối gaussian đa biến trong trường hợp này. Hãy viết mã cho mô hình 2D

Hãy tạo một số dữ liệu và viết mô hình của chúng tôi

Đốm màu 2D

Hãy đưa ra một số dự đoán về mô hình này

Sử dụng sklearn, cùng một nhiệm vụ có thể được thực hiện trong một vài dòng mã. Khá bóng bẩy nhỉ?

Vì vậy, GMM xếp mẫu vào cụm thứ hai. nó hoạt động

Phần kết luận

Triển khai Mô hình hỗn hợp Gaussian không khó lắm. Khi bạn hiểu rõ về toán học, nó sẽ tìm ước tính khả năng tối đa cho mô hình cho dù dữ liệu 1D hoặc dữ liệu chiều cao hơn của nó. Phương pháp này mạnh mẽ và hữu ích trong việc thực hiện các nhiệm vụ phân cụm. Bây giờ bạn đã quen với việc triển khai python của GMM, bạn có thể thực hiện các nội dung thú vị với tập dữ liệu. Giả sử bạn được cung cấp một bộ dữ liệu bệnh nhân bao gồm hai tham số. Khối lượng hồng cầu và nồng độ huyết sắc tố hồng cầu không có nhãn của bệnh nhân ốm và khỏe mạnh. Cắm mô hình trên để phân cụm dữ liệu sẽ cung cấp cho bạn hai khối [gần như] riêng biệt mà bạn có thể sử dụng để phân tích và dự đoán thêm

GMM có nghĩa là Python là gì?

Trong bài đăng này, tôi sẽ trình bày ngắn gọn về khái niệm phương pháp học không giám sát, Mô hình hỗn hợp Gaussian và cách triển khai phương pháp này trong Python. Mô hình hỗn hợp Gaussian [GMM] nổi tiếng là một thuật toán học tập không giám sát để phân cụm.

Đâu là sự khác biệt giữa K

K-Means và Mô hình hỗn hợp Gaussian [GMM] là các kỹ thuật phân cụm không giám sát. K-Means nhóm các điểm dữ liệu theo khoảng cách từ tâm cụm [8] - [16]. GMM sử dụng phép gán xác suất của các điểm dữ liệu cho các cụm [17] - [19]. Mỗi cụm được mô tả bởi một phân phối Gaussian riêng biệt.

GMM có tốt hơn K không

GM linh hoạt hơn một chút và với ma trận hiệp phương sai ∑ chúng ta có thể tạo ranh giới hình elip, trái ngược với ranh giới hình tròn với phương tiện K. Một điều nữa là GM là một thuật toán xác suất

Khái niệm GMM là gì?

Mô hình hỗn hợp Gaussian [GMM] là một trong những thuật toán gần đây hơn để xử lý dữ liệu phi Gaussian, được phân loại là phương pháp thống kê đa biến phi Gaussian tuyến tính. Đó là một phương pháp thống kê dựa trên tổng trọng số của các hàm mật độ xác suất của nhiều phân bố Gaussian .

Chủ Đề