Spec-Zone.ru › scikit-learn

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)

Скрытые представления данных.

Примеры из галереи

Признаки Restricted Boltzmann Machine для классификации цифр

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API