Я реализую модель гауссовской регрессии процесса (GPR) в Python, используя квадратичное экспоненциальное ядро. Однако я сталкиваюсь с ошибкой ValueError на этапе умножения матрицы метода прогнозирования, особенно при попытке вычислить среднее значение прогноза.
Ошибка I' Я вижу это:
ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature
(n?,k),(k,m?)->(n?,m?) (size 10 is different from 100)
Подробности кода
Вот разбивка кода, который участвует в этой ошибке:
Почему я получаю здесь сообщение об ошибке несоответствия размеров, когда кажется, что размеры выровнять матричное умножение? И как это исправить?
Я ожидал, что это умножение матриц сработает, поскольку на бумаге размеры кажутся совместимыми: KXX_star (100, 10) умножается на (10, 1) должен давать (100, 1). Однако ошибка указывает на несоответствие размеров, подразумевая, что что-то не выравнивается так, как ожидалось. Я проверил фигуры на self.data_y, self._inverse_of_covariance_matrix_of_input_noise_adj и KXX_star. Также попробовал изменить форму data_y, чтобы обеспечить ее согласованность (10, 1), но ошибка не устранена. Я ожидал получить средние прогнозы в виде вектора формы (100, 1) для test_data без каких-либо проблем с размерами.
Я реализую модель гауссовской регрессии процесса (GPR) в Python, используя квадратичное экспоненциальное ядро. Однако я сталкиваюсь с ошибкой ValueError на этапе умножения матрицы метода прогнозирования, особенно при попытке вычислить среднее значение прогноза. Ошибка I' Я вижу это: [code]ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 10 is different from 100) [/code] Подробности кода Вот разбивка кода, который участвует в этой ошибке: [code]import numpy as np
# Test data np.random.seed(69) data_x = np.linspace(-5, 5, 10).reshape(-1, 1) data_y = np.sin(data_x) + 0.1 * np.random.randn(10, 1)
# Instantiate and predict gpr_se = GPR(data_x, data_y, covariance_function=SquaredExponentialKernel(), white_noise_sigma=0.1) test_data = np.linspace(-6, 6, 100).reshape(-1, 1) mean_predictions = gpr_se.predict(test_data) [/code] Разбивка по измерениям Вот анализ размерностей для умножения матрицы, в котором возникает ошибка: [list] [*][code]KXX_star[/code] вычисляется как cov_matrix(test_data, self.data_x, self.covariance_function), в результате чего получается форма (100, 10). [*][code]self._inverse_of_covariance_matrix_of_input_noise_adj[/code] вычисляется методом __init__ и имеет форму (10, 10). [*][code]self.data_y[/code] имеет форму (10, 1). [/list] Строка, о которой идет речь: [code]mean_test_data = KXX_star @ (self._inverse_of_covariance_matrix_of_input_noise_adj @ self.data_y) [/code] Это должно дать результат с формой (100, 1), потому что: [list] [*][code]KXX_star[/code] имеет форму (100, 10), [*][code](self._inverse_of_covariance_matrix_of_input_noise_adj @ self.data_y)[/code] приводит к форме (10, 1). [/list] Почему я получаю здесь сообщение об ошибке несоответствия размеров, когда кажется, что размеры выровнять матричное умножение? И как это исправить? Я ожидал, что это умножение матриц сработает, поскольку на бумаге размеры кажутся совместимыми: KXX_star (100, 10) умножается на (10, 1) должен давать (100, 1). Однако ошибка указывает на несоответствие размеров, подразумевая, что что-то не выравнивается так, как ожидалось. Я проверил фигуры на self.data_y, self._inverse_of_covariance_matrix_of_input_noise_adj и KXX_star. Также попробовал изменить форму data_y, чтобы обеспечить ее согласованность (10, 1), но ошибка не устранена. Я ожидал получить средние прогнозы в виде вектора формы (100, 1) для test_data без каких-либо проблем с размерами.
Я реализую модель гауссовской регрессии процесса (GPR) в Python, используя квадратичное экспоненциальное ядро. Однако я сталкиваюсь с ошибкой ValueError на этапе умножения матрицы метода прогнозирования, особенно при попытке вычислить среднее...
Я реализую модель гауссовской регрессии процесса (GPR) в Python, используя квадратичное экспоненциальное ядро. Однако я сталкиваюсь с ошибкой ValueError на этапе умножения матрицы метода прогнозирования, особенно при попытке вычислить среднее...
Я реализую модель гауссовской регрессии процесса (GPR) в Python, используя квадратичное экспоненциальное ядро. Однако я сталкиваюсь с ошибкой ValueError на этапе умножения матрицы метода прогнозирования, особенно при попытке вычислить среднее...
Я реализую модель гауссовской регрессии процесса (GPR) в Python, используя квадратичное экспоненциальное ядро. Однако я сталкиваюсь с ошибкой ValueError на этапе умножения матрицы метода прогнозирования, особенно при попытке вычислить среднее...
Я генерирую шум, используя распределение Гаусса, и натолкнулся на концептуальный блок.
Есть ли разница между генерацией значения шума и добавлением его к чистым данным:
def add_noise(data_frame, amplitude):
noise = np.random.normal(0, scale =...