RBF
- классsklearn.gaussian_process.kernels.RBF(length_scale=1.0, length_scale_bounds=(1e-05, 100000.0))[источник]
-
Ядро радиальной базисной функции (также известное как квадратично-экспоненциальное ядро).
Ядро RBF является стационарным ядром. Оно также известно как «квадратично-экспоненциальное» ядро. Оно параметризуется параметром длины масштаба \(l>0\), который может быть скаляром (изотропный вариант ядра) или вектором с тем же числом измерений, что и входные данные X (анизотропный вариант ядра). Ядро определяется следующим образом:
\[k(x_i, x_j) = \exp\left(- \frac{d(x_i, x_j)^2}{2l^2} \right)\]где \(l\) — масштаб длины ядра, а \(d(\cdot,\cdot)\) — евклидово расстояние. Советы по настройке параметра масштаба длины см., например, в [1].
Это ядро бесконечно дифференцируемо, что подразумевает, что GP с этим ядром в качестве функции ковариации имеет среднеквадратичные производные всех порядков и, следовательно, очень гладкие. Подробнее см. в [2], глава 4, раздел 4.2.
Подробнее см. в Руководстве пользователя.
Добавлена в версии 0.18.
- Параметры:
-
- length_scalefloat или ndarray формы (n_features,), по умолчанию=1.0
-
Масштаб длины ядра. Если float, используется изотропное ядро. Если массив, используется анизотропное ядро, где каждое измерение l определяет масштаб длины соответствующего измерения признака.
- length_scale_boundsпара float ≥ 0 или “fixed”, по умолчанию=(1e-5, 1e5)
-
Нижняя и верхняя граница для ‘length_scale’. Если установлено «fixed», ‘length_scale’ не может быть изменён во время подбора гиперпараметров.
Ссылки
Примеры
>>> from sklearn.datasets import load_iris >>> from sklearn.gaussian_process import GaussianProcessClassifier >>> from sklearn.gaussian_process.kernels import RBF >>> X, y = load_iris(return_X_y=True) >>> kernel = 1.0 * RBF(1.0) >>> gpc = GaussianProcessClassifier(kernel=kernel, ... random_state=0).fit(X, y) >>> gpc.score(X, y) 0.9866... >>> gpc.predict_proba(X[:2,:]) array([[0.8354..., 0.03228..., 0.1322...], [0.7906..., 0.0652..., 0.1441...]])- __call__(X, Y=None, eval_gradient=False)[source]
-
Возвращает ядро k(X, Y) и, необязательно, его градиент.
- Параметры:
-
- Xndarray формы (n_samples_X, n_features)
-
Левый аргумент возвращаемого ядра k(X, Y)
- Yndarray формы (n_samples_Y, n_features), по умолчанию=None
-
Правый аргумент возвращаемого ядра k(X, Y). Если None, вычисляется k(X, X) вместо этого.
- eval_gradientbool, по умолчанию=False
-
Определяет, вычисляется ли градиент по отношению к логарифму гиперпараметра ядра. Поддерживается только когда Y равно None.
- Возвращает:
-
- Kndarray формы (n_samples_X, n_samples_Y)
-
Ядро k(X, Y)
- K_gradientndarray формы (n_samples_X, n_samples_X, n_dims), необязательно
-
Градиент ядра k(X, X) по отношению к логарифму гиперпараметра ядра. Возвращается только когда
eval_gradientравно True.
- propertybounds
-
Возвращает логарифмически преобразованные границы на theta.
- Возвращает:
-
- boundsndarray формы (n_dims, 2)
-
Логарифмически преобразованные границы на гиперпараметрах ядра theta
- clone_with_theta(theta)[source]
-
Возвращает копию self с заданными гиперпараметрами theta.
- Параметры:
-
- thetandarray формы (n_dims,)
-
Гиперпараметры
- diag(X)[source]
-
Возвращает диагональ ядра k(X, X).
Результат этого метода идентичен np.diag(self(X)); однако, он может быть вычислен более эффективно, поскольку оценивается только диагональ.
- Параметры:
-
- Xndarray формы (n_samples_X, n_features)
-
Левый аргумент возвращаемого ядра k(X, Y)
- Возвращает:
-
- K_diagndarray формы (n_samples_X,)
-
Диагональ ядра k(X, X)
- get_params(deep=True)[source]
-
Получить параметры этого ядра.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры для этого оценщика и вложенных под-объектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- propertyhyperparameters
-
Возвращает список всех спецификаций гиперпараметров.
- is_stationary()[source]
-
Возвращает, является ли ядро стационарным.
- propertyn_dims
-
Возвращает количество нефиксированных гиперпараметров ядра.
- propertyrequires_vector_input
-
Возвращает, определено ли ядро на векторах с фиксированной длиной признаков или общих объектах. По умолчанию True для обратной совместимости.
- set_params(**params)[source]
-
Установить параметры этого ядра.
Метод работает как с простыми ядрами, так и с вложенными ядрами. У последних есть параметры вида
<component>__<parameter>, чтобы было возможно обновить каждый компонент вложенного объекта.- Возвращает:
-
- self
- свойствоtheta
-
Возвращает (сглаженные, логарифмически преобразованные) нефиксированные гиперпараметры.
Обратите внимание, что theta обычно представляют собой логарифмически преобразованные значения гиперпараметров ядра, так как такое представление пространства поиска более подходит для поиска гиперпараметров, так как такие гиперпараметры, как масштабы, естественным образом находятся на логарифмической шкале.
- Возвращает:
-
- thetaмассив ndarray формы (n_dims,)
-
Нефиксированные, логарифмически преобразованные гиперпараметры ядра
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.gaussian_process.kernels.RBF.html