BernoulliRBM
- classsklearn.neural_network.BernoulliRBM(n_components=256, *, learning_rate=0.1, batch_size=10, n_iter=10, verbose=0, random_state=None)[исходный код]
-
Ограниченная машина Больцмана с распределением Бернулли (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, inf].
- random_stateint, экземпляр RandomState или None, по умолчанию=None
-
Определяет генерацию случайных чисел для:
- выборки Гиббса из видимого и скрытого слоёв;
- инициализации компонентов и выборки из слоёв во время обучения;
- искажения данных при оценке выборок.
Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий.
- Атрибуты:
-
- intercept_hidden_array-like формы (n_components,)
-
Смещения скрытых единиц.
- intercept_visible_array-like формы (n_features,)
-
Смещения видимых единиц.
- components_array-like формы (n_components, n_features)
-
Матрица весов, где
n_features— количество видимых единиц, аn_components— количество скрытых единиц. - h_samples_array-like формы (batch_size, n_components)
-
Активации скрытого слоя, выбранные из распределения модели, где
batch_size— количество примеров в мини-пакете, аn_components— количество скрытых единиц. - n_features_in_int
-
Количество признаков, наблюдавшихся во время обучения.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, наблюдавшихся во время обучения. Определяется только в том случае, если
Xсодержит названия признаков, представленные строками.Добавлено в версии 1.0.
См. также
sklearn.neural_network.MLPRegressor-
Регрессор на основе многослойного перцептрона.
sklearn.neural_network.MLPClassifier-
Классификатор на основе многослойного перцептрона.
sklearn.decomposition.PCA-
Линейная модель уменьшения размерности без учителя.
Литература
- [1] Hinton, G. E., Osindero, S. и Teh, Y. Быстрый алгоритм обучения для
-
сетей глубоких убеждений. Neural Computation 18, с. 1527–1554. https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf
- [2] Tieleman, T. Обучение ограниченных машин Больцмана с использованием
-
приближений градиента правдоподобия. Международная конференция по машинному обучению (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)
Более подробный пример использования см. в разделе Признаки ограниченной машины Больцмана для классификации цифр.
- fit(X, y=None)[исходный код]
-
Обучить модель на данных X.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Обучающие данные.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для преобразований без учителя).
- Возвращает:
-
- selfBernoulliRBM
-
Обученная модель.
- fit_transform(X, y=None, **fit_params)[исходный код]
-
Обучить модель на данных, а затем преобразовать их.
Обучает преобразователь на
Xиyс дополнительными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Входные выборки.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для преобразований без учителя).
- **fit_paramsdict
-
Дополнительные параметры обучения. Передавайте их, только если оценщик принимает дополнительные параметры в методе
fit.
- Возвращает:
-
- X_newndarray формы (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[исходный код]
-
Получить названия выходных признаков для преобразования.
К названиям выходных признаков добавляется имя класса в нижнем регистре. Например, если преобразователь возвращает 3 признака, названия выходных признаков будут следующими:
["class_name0", "class_name1", "class_name2"].- Параметры:
-
- input_featuresarray-like из строк или None, по умолчанию=None
-
Используется только для проверки названий признаков по названиям, полученным в
fit.
- Возвращает:
-
- feature_names_outndarray из строковых объектов
-
Названия преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Получить сведения о маршрутизации метаданных этого объекта.
Подробнее о работе механизма маршрутизации см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценщика и содержащихся в нём объектов-оценщиков.
- Возвращает:
-
- paramsdict
-
Названия параметров и соответствующие им значения.
- gibbs(v)[исходный код]
-
Выполнить один шаг выборки Гиббса.
- Параметры:
-
- vndarray формы (n_samples, n_features)
-
Значения видимого слоя, с которых начинается процесс.
- Возвращает:
-
- v_newndarray формы (n_samples, n_features)
-
Значения видимого слоя после одного шага Гиббса.
- partial_fit(X, y=None)[исходный код]
-
Обучить модель на части данных X.
- Параметры:
-
- Xndarray формы (n_samples, n_features)
-
Обучающие данные.
- yarray-like формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевые значения (None для преобразований без учителя).
- Возвращает:
-
- selfBernoulliRBM
-
Обученная модель.
- score_samples(X)[исходный код]
-
Вычислить псевдоправдоподобие X.
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Значения видимого слоя. Все значения должны быть булевыми (проверка не выполняется).
- Возвращает:
-
- pseudo_likelihoodndarray формы (n_samples,)
-
Значение псевдоправдоподобия (приближение правдоподобия).
Примечания
Этот метод недетерминирован: он вычисляет величину, называемую свободной энергией, для X, затем для случайно искажённой версии X и возвращает логарифм логистической функции от разности этих величин.
- set_output(*, transform=None)[исходный код]
-
Задать контейнер выходных данных.
Подробнее см. в руководстве пользователя, а пример использования API — в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настроить формат выходных данных для
transformиfit_transform.-
"default": формат выходных данных преобразователя по умолчанию -
"pandas": вывод в формате DataFrame -
"polars": вывод в формате Polars -
None: конфигурация преобразования не изменяется
Добавлено в версии 1.4: добавлен параметр
"polars". -
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**params)[исходный код]
-
Задать параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например,
Pipeline). У последних параметры имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- transform(X)[исходный код]
-
Вычислить вероятности активации скрытого слоя, P(h=1|v=X).
- Параметры:
-
- X{array-like, разреженная матрица} формы (n_samples, n_features)
-
Данные, которые нужно преобразовать.
- Возвращает:
-
- hndarray формы (n_samples, n_components)
-
Латентные представления данных.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.neural_network.BernoulliRBM.html