BernoulliRBM
- classsklearn.neural_network.BernoulliRBM(n_components=256, *, learning_rate=0.1, batch_size=10, n_iter=10, verbose=0, random_state=None)[source]
-
Модель Бернулли ограниченного Болцмана (RBM).
Ограниченная модель Болцмана с бинарными видимыми и бинарными скрытыми единицами. Параметры оцениваются с помощью стохастической максимальной правдоподобия (SML), также известной как персистентная контрастивная дивергенция (PCD) [2].
Временная сложность этой реализации составляет
O(d ** 2)при предположении d ~ n_features ~ n_components.Дополнительную информацию можно найти в Руководстве пользователя.
- Параметры:
-
- n_componentsint, по умолчанию=256
-
Количество бинарных скрытых единиц.
- learning_ratefloat, по умолчанию=0.1
-
Скорость обучения для обновлений весов. Настройка этого гиперпараметра крайне рекомендуется. Разумные значения находятся в диапазоне 10**[0., -3.].
- batch_sizeint, по умолчанию=10
-
Количество примеров в мини-пачке.
- n_iterint, по умолчанию=10
-
Количество итераций/проходов по набору обучающих данных, выполняемых во время обучения.
- verboseint, по умолчанию=0
-
Уровень подробности. По умолчанию, ноль, означает режим без вывода. Диапазон значений [0, бесконечность].
- random_stateint, экземпляр RandomState или None, по умолчанию=None
-
Определяет генерацию случайных чисел для:
- Обращения к гиббсовскому сэмплированию из видимых и скрытых слоёв.
- Инициализации компонент, сэмплирования из слоёв во время обучения.
- Искажения данных при оценке выборок.
Передайте целое число для воспроизводимых результатов при нескольких вызовах функций. См. Глоссарий.
- Атрибуты:
-
- intercept_hidden_массив-подобный размерности (n_components,)
-
Смещения скрытых единиц.
- intercept_visible_массив-подобный размерности (n_features,)
-
Смещения видимых единиц.
- components_массив-подобный размерности (n_components, n_features)
-
Матрица весов, где
n_featuresявляется количеством видимых единиц, аn_components- количеством скрытых единиц. - h_samples_массив-подобный размерности (batch_size, n_components)
-
Выборка скрытой активации из распределения модели, где
batch_size— количество примеров в мини-пачке, аn_components— количество скрытых единиц. - n_features_in_int
-
Количество признаков, увиденных во время обучения.
Добавлен в версии 0.24.
-
feature_names_in_массив-подобный размерности (
n_features_in_,) -
Имена признаков, увиденных во время обучения. Определены только тогда, когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
См. также
sklearn.neural_network.MLPRegressor-
Регрессор многослойного перцептрона.
sklearn.neural_network.MLPClassifier-
Классификатор многослойного перцептрона.
sklearn.decomposition.PCA-
Модель нелинейного понижения размерности.
Список литературы
- [1] Hinton, G. E., Osindero, S. and Teh, Y. A fast learning algorithm for
-
deep belief nets. Neural Computation 18, pp 1527-1554. https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf
- [2] Tieleman, T. Training Restricted Boltzmann Machines using
-
Approximations to the Likelihood Gradient. International Conference on Machine Learning (ICML) 2008
Примеры
>>> import numpy as np >>> from sklearn.neural_network import BernoulliRBM >>> X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) >>> model = BernoulliRBM(n_components=2) >>> model.fit(X) BernoulliRBM(n_components=2)
Более подробный пример использования можно найти в Примере использования Restricted Boltzmann Machine для классификации цифр.
- fit(X, y=None)[source]
-
Обучает модель на данных X.
- Параметры:
-
- X{массив-подобный, разреженная матрица} размерности (n_samples, n_features)
-
Обучающие данные.
- yмассив-подобный размерности (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для безконтрольных преобразований).
- Возвращает:
-
- selfBernoulliRBM
-
Обученная модель.
- fit_transform(X, y=None, **fit_params)[source]
-
Обучает трансформер на данных, а затем преобразует их.
Обучает трансформер на
Xиyс опциональными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xмассив-подобный размерности (n_samples, n_features)
-
Входные образцы.
- yмассив-подобный размерности (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для безконтрольных преобразований).
- **fit_paramsdict
-
Дополнительные параметры обучения.
- Возвращает:
-
- X_newмассив-подобный размерности (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[source]
-
Возвращает имена выходных признаков для преобразования.
Имена признаков на выходе будут иметь префикс с нижним регистром имени класса. Например, если трансформер выдает 3 признака, то имена выходных признаков —
["class_name0", "class_name1", "class_name2"].- Параметры:
-
- input_featuresмассив-подобный из str или None, по умолчанию=None
-
Используется только для проверки имён признаков с именами, увиденными в
fit.
- Возвращает:
-
- feature_names_outмассив str объектов
-
Имена преобразованных признаков.
- get_metadata_routing()[source]
-
Получает маршрутизацию метаданных этого объекта.
Подробнее о механизме маршрутизации см. Руководство пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequestс информацией о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценивателя.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценивателя и вложенных подобъектов, являющихся оценивателями.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- gibbs(v)[source]
-
Выполнить один шаг метода Гиббса.
- Параметры:
-
- vмассив ndarray формы (n_samples, n_features)
-
Значения видимого слоя, с которого необходимо начать.
- Возвращает:
-
- v_newмассив ndarray формы (n_samples, n_features)
-
Значения видимого слоя после одного шага Гиббса.
- partial_fit(X, y=None)[source]
-
Обучить модель по частичному сегменту данных X.
- Параметры:
-
- Xмассив ndarray формы (n_samples, n_features)
-
Данные для обучения.
- yмассив-подобный формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для неконтролируемых преобразований).
- Возвращает:
-
- selfBernoulliRBM
-
Обученная модель.
- score_samples(X)[source]
-
Вычислить псевдоправдоподобие X.
- Параметры:
-
- X{массив-подобный, разреженная матрица} формы (n_samples, n_features)
-
Значения видимого слоя. Должны быть все логические (не проверяется).
- Возвращает:
-
- pseudo_likelihoodмассив ndarray формы (n_samples,)
-
Значение псевдоправдоподобия (прокси для правдоподобия).
Примечания
Этот метод не является детерминированным: он вычисляет величину, называемую свободной энергией на X, затем на случайной повреждённой версии X и возвращает логарифм логистической функции разницы.
- set_output(*, transform=None)[source]
-
Установить контейнер вывода.
См. Введение в API set_output для примера использования API.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настроить вывод
transformиfit_transform.-
"default": Формат вывода по умолчанию преобразователя -
"pandas": Вывод DataFrame -
"polars": Вывод Polars -
None: Конфигурация преобразования не изменяется
Добавлена в версии 1.4:
"polars"вариант был добавлен. -
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- set_params(**params)[source]
-
Установить параметры этого оценивателя.
Метод работает как с простыми оценивателями, так и со вложенными объектами (такими как
Pipeline). Последние имеют параметры в формате<component>__<parameter>, так что можно обновить каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценивателя.
- Возвращает:
-
- selfэкземпляр оценивателя
-
Экземпляр оценивателя.
- transform(X)[source]
-
Вычислить вероятности активации скрытого слоя, P(h=1|v=X).
- Параметры:
-
- X{массив-подобный, разреженная матрица} формы (n_samples, n_features)
-
Данные для преобразования.
- Возвращает:
-
- hмассив ndarray формы (n_samples, n_components)
-
Скрытые представления данных.
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.neural_network.BernoulliRBM.html