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": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 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)
Скрытые представления данных.
Примеры галереи#
Признаки ограниченной машины Больцмана для классификации цифр