Spec-Zone.ru › scikit-learn

DotProduct

classsklearn.gaussian_process.kernels.DotProduct(sigma_0=1.0, sigma_0_bounds=(1e-05, 100000.0))[источник]

Ядро скалярного произведения.

Ядро DotProduct является нестационарным и может быть получено из линейной регрессии, если задать априорные распределения \(N(0, 1)\) для коэффициентов \(x_d (d = 1, . . . , D)\) и априорное распределение \(N(0, \sigma_0^2)\) для смещения. Ядро DotProduct инвариантно относительно поворота координат вокруг начала координат, но не относительно переносов. Оно параметризуется параметром sigma_0 \(\sigma\), который определяет неоднородность ядра. При \(\sigma_0^2 =0\) ядро называется однородным линейным ядром, в противном случае оно является неоднородным. Ядро задаётся формулой

\[k(x_i, x_j) = \sigma_0 ^ 2 + x_i \cdot x_j\]

Ядро DotProduct обычно комбинируют с экспоненцированием.

Дополнительные сведения о ядре DotProduct см. в [1], глава 4, раздел 4.2.

Подробнее см. в руководстве пользователя.

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

Параметры:
sigma_0float >= 0, default=1.0

Параметр, определяющий неоднородность ядра. Если sigma_0=0, ядро является однородным.

sigma_0_boundspair of floats >= 0 or “fixed”, default=(1e-5, 1e5)

Нижняя и верхняя границы для «sigma_0». Если задано значение «fixed», параметр «sigma_0» нельзя изменять во время настройки гиперпараметров.

Ссылки

[1]

Carl Edward Rasmussen, Christopher K. I. Williams (2006). «Гауссовские процессы для машинного обучения». The MIT Press.

Примеры

>>> from sklearn.datasets import make_friedman2
>>> from sklearn.gaussian_process import GaussianProcessRegressor
>>> from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel
>>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0)
>>> kernel = DotProduct() + WhiteKernel()
>>> gpr = GaussianProcessRegressor(kernel=kernel,
...         random_state=0).fit(X, y)
>>> gpr.score(X, y)
0.3680
>>> gpr.predict(X[:2,:], return_std=True)
(array([653.0, 592.1]), array([316.6, 316.6]))
__call__(X, Y=None, eval_gradient=False)[источник]

Возвращает ядро k(X, Y) и, при необходимости, его градиент.

Параметры:
Xndarray of shape (n_samples_X, n_features)

Левый аргумент возвращаемого ядра k(X, Y)

Yndarray of shape (n_samples_Y, n_features), default=None

Правый аргумент возвращаемого ядра k(X, Y). Если None, вместо этого вычисляется k(X, X).

eval_gradientbool, default=False

Определяет, вычисляется ли градиент относительно логарифма гиперпараметра ядра. Поддерживается только при Y равном None.

Возвращает:
Kndarray of shape (n_samples_X, n_samples_Y)

Ядро k(X, Y)

K_gradientndarray of shape (n_samples_X, n_samples_X, n_dims), optional

Градиент ядра k(X, X) относительно логарифма гиперпараметра ядра. Возвращается только если eval_gradient равно True.

propertybounds

Возвращает границы для theta в логарифмическом масштабе.

Возвращает:
boundsndarray of shape (n_dims, 2)

Границы гиперпараметров theta ядра в логарифмическом масштабе

clone_with_theta(theta)[источник]

Возвращает копию self с заданными гиперпараметрами theta.

Параметры:
thetandarray of shape (n_dims,)

Гиперпараметры

diag(X)[источник]

Возвращает диагональ ядра k(X, X).

Результат этого метода идентичен np.diag(self(X)); однако его можно вычислить эффективнее, поскольку вычисляется только диагональ.

Параметры:
Xndarray of shape (n_samples_X, n_features)

Левый аргумент возвращаемого ядра k(X, Y).

Возвращает:
K_diagndarray of shape (n_samples_X,)

Диагональ ядра k(X, X).

get_params(deep=True)[источник]

Получает параметры этого ядра.

Параметры:
deepbool, default=True

Если True, будут возвращены параметры этого оценщика и содержащихся в нём объектов, являющихся оценщиками.

Возвращает:
paramsdict

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

propertyhyperparameters

Возвращает список описаний всех гиперпараметров.

is_stationary()[источник]

Возвращает признак стационарности ядра.

propertyn_dims

Возвращает количество незакреплённых гиперпараметров ядра.

propertyrequires_vector_input

Возвращает признак того, определено ли ядро для векторов признаков фиксированной длины или для объектов общего вида. По умолчанию True для обратной совместимости.

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

Задаёт параметры этого ядра.

Метод работает как с простыми, так и со вложенными ядрами. Параметры последних имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Возвращает:
self
propertytheta

Возвращает (сведённые в одномерный массив, преобразованные логарифмированием) незакреплённые гиперпараметры.

Обратите внимание, что theta обычно содержит значения гиперпараметров ядра, преобразованные логарифмированием, поскольку такое представление пространства поиска лучше подходит для поиска гиперпараметров: например, масштабы длины естественным образом задаются в логарифмической шкале.

Возвращает:
thetandarray of shape (n_dims,)

Незакреплённые гиперпараметры ядра, преобразованные логарифмированием

Примеры галереи

Линии равной вероятности для классификации гауссовскими процессами (GPC)

Демонстрация классификации гауссовскими процессами (GPC) на наборе данных XOR

Демонстрация априорного и апостериорного распределений гауссовского процесса для различных ядер

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.gaussian_process.kernels.DotProduct.html

Spec-Zone.ru

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