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)[исходный код]

Ограниченная машина Больцмана с распределением Бернулли (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

Spec-Zone.ru

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