Я хочу взять GMM, подогнанный с использованием n компонентов, и преобразовать его в GMM компонента am, так чтобы квадратичная ошибка между PDF-файлами GMM компонента m и n была сведена к минимуму.(м <п).Каков наиболее эффективный способ сделать это? (Без необходимости писать много кода) </p>
Причина, по которой я хочу это сделать, заключается в том, чтобы я мог создать GMM, который постоянно обновляется с поступающими новыми данными.Так как scikit-learn не предоставляет метод part_fit для GaussianMixture, я подумал, что могу сделать что-то вроде ниже.
- Получить пакет новых данных.Обучаем 2-компонентный GMM -> Скажем, GMM_1
- Аналогичным образом обучаем GMM для каждой поступающей партии новых данных.
- Теперь у нас есть набор GMM - {GMM_1, GMM_2, ....GMM_N}
- Теоретически у меня есть GMM компонента 2 * N, если я отображаю общий PDF как суммирование PDF всех вышеупомянутых GMM.
- Я хочу подогнать 2-компонентный GMM для представленияобщий pdf N-GMM выше.
from sklearn.mixture import GaussianMixture
GMM_each = []
count = 0
while not new_data == None:
GMM_each[count] = GaussianMixture(n_components=2).fit(new_data)
count += 1
GMM_combined = desired_fn(GMM_each)