import numpy as np
from sklearn.linear_model import LinearRegression

f = LinearRegression()
g = LinearRegression()

a = np.random.normal(0,1,100)
b = np.random.normal(0,1,100)
k = np.random.normal(0,1,(2,100))

while True:
    X = np.stack([a,b,a-b,a+b]).swapaxes(0,1)
    #yt = np.stack([a+b,a-b,a*b,a/b]).swapaxes(0,1)
    yt = np.stack([a*b]).swapaxes(0,1)
    f.fit(X,yt)
    g.fit(f.predict(X),yt)
    mse = np.mean((yt - g.predict(f.predict(X)))**2)
    print(mse)
