BernoulliRBM#

класс sklearn.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_массивоподобный формы (n_components,)

Смещения скрытых единиц.

intercept_visible_массивоподобный формы (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

Количество признаков, замеченных во время fit.

Добавлено в версии 0.24.

feature_names_in_ndarray формы (n_features_in_,)

Имена признаков, наблюдаемых во время fit. Определено только когда X имеет имена признаков, которые все являются строками.

Добавлено в версии 1.0.

Смотрите также

sklearn.neural_network.MLPRegressor

Многослойный перцептрон-регрессор.

sklearn.neural_network.MLPClassifier

Многослойный перцептрон-классификатор.

sklearn.decomposition.PCA

Нелинейная модель снижения размерности без учителя.

Ссылки

[1] Хинтон, Г. Э., Осиндеро, С. и Те, Ю. А. Быстрый алгоритм обучения для

глубокие сети доверия. Neural Computation 18, стр. 1527-1554. https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf

[2] Tieleman, T. Training Restricted Boltzmann Machines using

Аппроксимации градиента правдоподобия. Международная конференция по машинному обучению (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, sparse matrix} формы (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), default=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 из str или None, по умолчанию=None

Используется только для проверки имен признаков с именами, встреченными в fit.

Возвращает:
feature_names_outndarray из str объектов

Преобразованные имена признаков.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=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, sparse matrix} формы (n_samples, n_features)

Значения видимого слоя. Должны быть полностью булевыми (не проверяется).

Возвращает:
псевдоправдоподобиеndarray формы (n_samples,)

Значение псевдоправдоподобия (заменитель правдоподобия).

Примечания

Этот метод не детерминирован: он вычисляет величину, называемую свободной энергией на X, затем на случайно искаженной версии X, и возвращает логарифм логистической функции разности.

set_output(*, преобразовать=None)[источник]#

Установить контейнер вывода.

См. Введение API set_output для примера использования API.

Параметры:
преобразовать{“default”, “pandas”, “polars”}, по умолчанию=None

Настройка вывода transform и fit_transform.

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

Добавлено в версии 1.4: "polars" опция была добавлена.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

Экземпляр оценщика.

преобразовать(X)[источник]#

Вычислить вероятности активации скрытого слоя, P(h=1|v=X).

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Данные для преобразования.

Возвращает:
hndarray формы (n_samples, n_components)

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