BernoulliRBM#

class sklearn.neural_network.BernoulliRBM(n_components=256, *, learning_rate=0.1, batch_size=10, n_iter=10, verbose=0, random_state=None)[Quelle]#

Bernoulli Restricted Boltzmann Machine (RBM).

Eine Restricted Boltzmann Machine mit binären sichtbaren Einheiten und binären verborgenen Einheiten. Parameter werden mittels Stochastic Maximum Likelihood (SML), auch bekannt als Persistent Contrastive Divergence (PCD) [2], geschätzt.

Die Zeitkomplexität dieser Implementierung beträgt O(d ** 2) unter der Annahme, dass d ~ n_features ~ n_components.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
n_componentsint, default=256

Anzahl der binären verborgenen Einheiten.

learning_ratefloat, Standard=0.1

Die Lernrate für Gewichtsaktualisierungen. Es wird *dringend* empfohlen, diesen Hyperparameter abzustimmen. Sinnvolle Werte liegen im Bereich 10**[0., -3.].

batch_sizeint, default=10

Anzahl der Beispiele pro Minibatch.

n_iterint, default=10

Anzahl der Iterationen/Durchläufe über den Trainingsdatensatz, die während des Trainings durchgeführt werden sollen.

verboseint, default=0

Die Ausführlichkeitsstufe. Der Standardwert Null bedeutet Stummschaltung. Wertebereich ist [0, inf].

random_stateint, RandomState-Instanz oder None, default=None

Bestimmt die Zufallszahlengenerierung für

  • Gibbs-Sampling von sichtbaren und verborgenen Schichten.

  • Initialisierung von Komponenten, Sampling von Schichten während des `fit`.

  • Beschädigung der Daten beim Bewerten von Stichproben.

Geben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg an. Siehe Glossar.

Attribute:
intercept_hidden_array-like of shape (n_components,)

Bias-Terme der verborgenen Einheiten.

intercept_visible_array-like of shape (n_features,)

Bias-Terme der sichtbaren Einheiten.

components_array-like of shape (n_components, n_features)

Gewichtsmatrix, wobei n_features die Anzahl der sichtbaren Einheiten und n_components die Anzahl der verborgenen Einheiten ist.

h_samples_array-like of shape (batch_size, n_components)

Verborgene Aktivierung, die aus der Modellverteilung gestichprobt wurde, wobei batch_size die Anzahl der Beispiele pro Minibatch und n_components die Anzahl der verborgenen Einheiten ist.

n_features_in_int

Anzahl der während des fits gesehenen Merkmale.

Hinzugefügt in Version 0.24.

feature_names_in_ndarray mit Form (n_features_in_,)

Namen der während fit gesehenen Merkmale. Nur definiert, wenn X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

sklearn.neural_network.MLPRegressor

Multi-Layer Perceptron Regressor.

sklearn.neural_network.MLPClassifier

Multi-Layer Perceptron Klassifikator.

sklearn.decomposition.PCA

Ein unüberwachtes lineares Dimensionsreduktionsmodell.

Referenzen

[1] Hinton, G. E., Osindero, S. und Teh, Y. A fast learning algorithm for

deep belief nets. Neural Computation 18, S. 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

Beispiele

>>> 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)

Ein detaillierteres Beispiel finden Sie unter Restricted Boltzmann Machine-Merkmale für die Klassifizierung von Ziffern.

fit(X, y=None)[Quelle]#

Passt das Modell an die Daten X an.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Trainingsdaten.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None

Zielwerte (None für unüberwachte Transformationen).

Gibt zurück:
selfBernoulliRBM

Das angepasste Modell.

fit_transform(X, y=None, **fit_params)[Quelle]#

An Daten anpassen, dann transformieren.

Passt den Transformer an X und y mit optionalen Parametern fit_params an und gibt eine transformierte Version von X zurück.

Parameter:
Xarray-like der Form (n_samples, n_features)

Eingabestichproben.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None

Zielwerte (None für unüberwachte Transformationen).

**fit_paramsdict

Zusätzliche Fit-Parameter. Nur übergeben, wenn der Estimator zusätzliche Parameter in seiner fit-Methode akzeptiert.

Gibt zurück:
X_newndarray array der Form (n_samples, n_features_new)

Transformiertes Array.

get_feature_names_out(input_features=None)[Quelle]#

Holt die Ausgabemerkmale für die Transformation.

Die Feature-Namen werden mit dem kleingeschriebenen Klassennamen präfixiert. Wenn der Transformer z.B. 3 Features ausgibt, dann sind die Feature-Namen: ["klassenname0", "klassenname1", "klassenname2"].

Parameter:
input_featuresarray-like von str oder None, default=None

Wird nur verwendet, um die Feature-Namen mit den in fit gesehenen Namen zu validieren.

Gibt zurück:
feature_names_outndarray von str-Objekten

Transformierte Merkmalnamen.

get_metadata_routing()[Quelle]#

Holt das Metadaten-Routing dieses Objekts.

Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.

Gibt zurück:
routingMetadataRequest

Ein MetadataRequest, der Routing-Informationen kapselt.

get_params(deep=True)[Quelle]#

Holt Parameter für diesen Schätzer.

Parameter:
deepbool, default=True

Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.

Gibt zurück:
paramsdict

Parameternamen, zugeordnet ihren Werten.

gibbs(v)[Quelle]#

Führt einen Gibbs-Sampling-Schritt durch.

Parameter:
vndarray of shape (n_samples, n_features)

Werte der sichtbaren Schicht, von denen aus gestartet wird.

Gibt zurück:
v_newndarray of shape (n_samples, n_features)

Werte der sichtbaren Schicht nach einem Gibbs-Schritt.

partial_fit(X, y=None)[Quelle]#

Passt das Modell an einen Teil der Daten X an.

Parameter:
Xndarray der Form (n_samples, n_features)

Trainingsdaten.

yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None

Zielwerte (None für unüberwachte Transformationen).

Gibt zurück:
selfBernoulliRBM

Das angepasste Modell.

score_samples(X)[Quelle]#

Berechnet die Pseudolikelikhood von X.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Werte der sichtbaren Schicht. Müssen alle boolesch sein (nicht geprüft).

Gibt zurück:
pseudo_likelihoodndarray of shape (n_samples,)

Wert der Pseudolikelikhood (Proxy für die Likelikhood).

Anmerkungen

Diese Methode ist nicht deterministisch: Sie berechnet eine Größe, die als freie Energie bezeichnet wird, auf X und dann auf einer zufällig beschädigten Version von X und gibt den Logarithmus der logistischen Funktion der Differenz zurück.

set_output(*, transform=None)[Quelle]#

Ausgabecontainer festlegen.

Siehe Einführung in die set_output API für ein Beispiel zur Verwendung der API.

Parameter:
transform{“default”, “pandas”, “polars”}, default=None

Konfiguriert die Ausgabe von transform und fit_transform.

  • "default": Standardausgabeformat eines Transformers

  • "pandas": DataFrame-Ausgabe

  • "polars": Polars-Ausgabe

  • None: Die Transformationskonfiguration bleibt unverändert

Hinzugefügt in Version 1.4: Die Option "polars" wurde hinzugefügt.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

set_params(**params)[Quelle]#

Setzt die Parameter dieses Schätzers.

Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie Pipeline). Letztere haben Parameter der Form <component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.

Parameter:
**paramsdict

Schätzer-Parameter.

Gibt zurück:
selfestimator instance

Schätzer-Instanz.

transform(X)[Quelle]#

Berechnet die Wahrscheinlichkeiten der verborgenen Schichtaktivierung, P(h=1|v=X).

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Die zu transformierenden Daten.

Gibt zurück:
hndarray of shape (n_samples, n_components)

Latente Darstellungen der Daten.