In [ ]:
import sys
print(sys.version)

In [ ]:
from functools import partial
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
import time

import pandas as pd
import seaborn as sns

In [ ]:
import sys
sys.path.append('../code/')

In [ ]:
from least_squares_sgd import LeastSquaresSGD
from rbf_kernel import RBFKernel
from mnist_helpers import mnist_training, mnist_testing

In [ ]:
X_train, y_train = mnist_training()

In [ ]:
data_points = 1000 
X_train, y_train = X_train[0:data_points], y_train[0:data_points]

In [ ]:
model = LeastSquaresSGD(X=X_train, y=y_train, batch_size=100, kernel=RBFKernel,
                        verbose=True,
                        progress_monitoring_freq=2000, max_epochs=50)

In [ ]:
model.eta0

In [ ]:
model.run()

In [ ]:
model.results

In [ ]:
model.plot_01_loss()

In [ ]:
model.plot_01_loss(logx=True)

In [ ]:
model.plot_square_loss(logx=False)

In [ ]:
model.plot_w_hat_history()

In [ ]:
model.results.columns

In [ ]:
model.plot_loss_and_eta()

Should diverge:


In [ ]:
model_diverge = LeastSquaresSGD(X=X, y=y, batch_size=2, eta0 = model.eta0*10,
                                kernel=RBFKernel, 
                                progress_monitoring_freq=100, max_epochs=500)
model_diverge.run()

In [ ]:
model_diverge.plot_square_loss()