Я хотел бы больше понять регрессию гауссовского процесса: я использую реализацию scikit-learn здесь, и я хочу уместить отдельные точки, а не весь набор точек. Но результирующие альфа-коэффициенты должны оставаться такими же, например
gpr2 = GaussianProcessRegressor()
for i in range(x.shape[0]):
gpr2.fit(x[i], y[i])
должно быть таким же, как
gpr = GaussianProcessRegressor().fit(x, y)
Но при доступе к gpr2.alpha_
и gpr.alpha_
они не совпадают. Это почему?
Действительно, я работаю над проектом, в котором возникают новые точки данных. Я не хочу снова добавлять массивы x, y и подходить ко всему набору данных, так как это очень трудоемко. Пусть x имеет размер n, тогда у меня есть:
n + (n-1) + (n-2) + ... + 1 € O (n ^ 2) фитингов
учитывая, что сама подгонка является квадратичной (поправьте меня, если я ошибаюсь), сложность времени выполнения должна быть в O (n ^ 3). Было бы оптимальнее, если бы я сделал однократную примерку по n точкам:
1+1+...+1 = n € O(n)