In [1]:
import numpy as np
import numpy.random as npr
import matplotlib.pyplot as plt
%matplotlib inline
In [34]:
from sklearn.datasets import load_digits
data = load_digits()
X_tot,Y_tot = load_digits().data,load_digits().target
In [8]:
len(X_tot)
Out[8]:
1797
In [9]:
split = 500
X = X_tot[:split]
Y = Y_tot[:split]
X_test = X_tot[split:]
Y_test = Y_tot[split:]
In [10]:
from scipy.spatial.distance import pdist,squareform
In [11]:
# stochastic neighbor assignments
def stoch_neighbor_assignments(X):
P = squareform(np.exp(-(pdist(X)**2)))
P -= np.diag(P)
return np.nan_to_num(P/P.sum(1)) # columns sum to 1
In [62]:
P = squareform(np.exp(-(pdist(X)**2)))
P -= np.diag(P)
sum(P.sum(1)==0)
Out[62]:
8
In [ ]:
In [12]:
P = stoch_neighbor_assignments(X)
np.sum(P != 0)
/Users/joshuafass/anaconda/envs/py27/lib/python2.7/site-packages/IPython/kernel/__main__.py:5: RuntimeWarning: invalid value encountered in divide
Out[12]:
6912
In [13]:
np.max(P),np.min(P)
Out[13]:
(1.0, 0.0)
In [14]:
np.sum(np.nan_to_num(P)!=0)
Out[14]:
6912
In [15]:
plt.imshow(P,interpolation='none',cmap='Blues')
plt.colorbar()
Out[15]:
<matplotlib.colorbar.Colorbar instance at 0x110fdb2d8>
In [16]:
# probability that point 0 will be classified correctly
sum(P.T[10,Y==Y[10]])
Out[16]:
1.0
In [17]:
def correct_classification_prob(P,Y):
p = np.array([sum(P.T[i,Y==Y[i]]) for i in range(len(P))])
return p
In [18]:
def correct_classification_prob_vec(P,Y):
Y_ = np.vstack([Y==y for y in Y])
return P[Y_]
In [19]:
def exp_class_accuracy_vectorized(P,Y):
Y_ = np.vstack([Y==y for y in Y])
return P[Y_].sum()/len(Y)
In [ ]:
In [20]:
%timeit sum(correct_classification_prob(P,Y))
100 loops, best of 3: 5.62 ms per loop
In [21]:
sum(correct_classification_prob(P,Y))
Out[21]:
487.73105857862811
In [22]:
%timeit correct_classification_prob_vec(P,Y)
100 loops, best of 3: 2.34 ms per loop
In [23]:
%timeit exp_class_accuracy_vectorized(P,Y)
100 loops, best of 3: 2.38 ms per loop
In [24]:
sum(correct_classification_prob_vec(P,Y))
Out[24]:
487.73105857862816
In [ ]:
In [25]:
sum(correct_classification_prob_vec(P,Y))/len(Y)
Out[25]:
0.97546211715725628
In [26]:
%timeit np.vstack([Y==y for y in Y])
100 loops, best of 3: 2.01 ms per loop
In [27]:
# expected number of points correctly classified
p = correct_classification_prob(P,Y)
correct_class_expectation = sum(p) / len(p)
correct_class_expectation
Out[27]:
0.97546211715725617
In [28]:
plt.hist(p,bins=50);
In [29]:
sum(p<0.5)
Out[29]:
12
In [35]:
outlier_images = data.images[p<0.5]
In [36]:
for image in outlier_images[:5]:
plt.figure()
plt.imshow(-image,cmap='gray',interpolation='none')
In [37]:
np.argmin(p)
Out[37]:
5
In [38]:
plt.imshow(-data.images[np.argmin(p)],cmap='gray',interpolation='none')
Out[38]:
<matplotlib.image.AxesImage at 0x112810990>
In [39]:
sum(p==1)
Out[39]:
439
In [40]:
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_ = pca.fit_transform(X)
X_.shape
Out[40]:
(500, 2)
In [41]:
P_ = stoch_neighbor_assignments(X_)
p_ = correct_classification_prob(P_,Y)
correct_class_expectation_ = sum(p_) / len(p_)
correct_class_expectation_
Out[41]:
0.66150737689602468
In [42]:
plt.hist(p_,bins=50);
In [43]:
# objective: find a transformation f(X) that
# maximizes correct_classification_prob(f(X),Y)
In [44]:
A = np.random.randn(2,X.shape[1])
In [45]:
A.dot(X.T).shape
Out[45]:
(2, 500)
In [46]:
np.sum(X.dot(A.T) - A.dot(X.T).T)
Out[46]:
7.7182704671940883e-13
In [47]:
X.dot(A.T),A.dot(X.T).T
Out[47]:
(array([[ -3.18056146e+01, -2.97813485e+01],
[ -3.63458015e+01, 8.30585643e+00],
[ -2.09108800e+01, -2.33695473e+01],
[ -4.58936445e+01, -7.14065100e+01],
[ 2.01026705e+01, -4.02875781e+01],
[ -4.31356612e+01, -8.04194320e+01],
[ 1.45908831e+01, 5.25960781e+01],
[ -3.43060970e+01, -1.65129691e+01],
[ -2.71594422e+01, -5.58981872e+01],
[ -1.06302716e+01, -9.71334128e+00],
[ -1.34055907e+01, 4.06932982e+00],
[ -6.48772248e+01, -9.99818923e+01],
[ 6.17220900e+01, 3.88076286e+01],
[ -7.87137261e+01, -1.23885710e+02],
[ 1.79000414e+00, -1.09516498e+01],
[ 3.70752976e+01, 7.07269605e+01],
[ -4.62478912e+01, 1.42070942e+01],
[ 7.01626969e+00, -5.90680303e+00],
[ -2.03178979e+01, -6.78746281e+00],
[ -3.81935518e+01, -6.23071134e+01],
[ 3.47657549e+00, 6.10867647e+00],
[ -7.24484063e+01, -9.12444381e+01],
[ 1.69865679e+01, 1.29779619e+01],
[ -3.42893822e+01, -9.60668678e+01],
[ 5.31382918e-01, -5.40893495e+01],
[ 3.14872836e+01, 9.24077579e+01],
[ -3.30649479e+00, 4.82906575e+01],
[ -6.19176118e+01, -3.51729418e+01],
[ 1.96264440e+01, 4.63540026e+00],
[ -3.51823680e+01, -4.77689276e+01],
[ 4.06663131e+00, -3.81619526e+01],
[ -5.80755850e+01, -6.70327609e+01],
[ 2.30214723e+01, 1.39103088e+01],
[ 2.12692568e+01, 3.40720986e+01],
[ -2.59019724e+01, 2.31307218e+01],
[ 4.26235349e+01, 6.96782067e+01],
[ 2.09538425e+01, 1.96999464e+01],
[ -1.15460054e+01, -2.95797110e+01],
[ -3.66425907e+01, 4.19972394e+00],
[ -7.08280318e+01, -9.00701096e+01],
[ -1.70225664e+01, -4.62291557e+01],
[ 4.27509036e+01, 3.60875222e+01],
[ -1.29475125e+01, -6.55334920e+01],
[ -1.33696926e+01, 2.61025288e+01],
[ -1.85574167e+01, -7.93571344e+00],
[ -7.76461669e+01, -9.78920435e+01],
[ 2.96026102e+01, 6.53760729e+01],
[ -2.26232641e+01, -6.32096356e+01],
[ -2.28425322e+01, 3.38167625e+01],
[ -4.63267096e+01, 8.87424143e-01],
[ -3.99389896e+01, -1.28779067e+01],
[ -2.84496198e+01, -4.01117305e+01],
[ -2.88998525e+01, -2.69647059e+00],
[ -6.59461988e+00, -1.84794298e+01],
[ -2.31106818e+01, -3.54517110e+01],
[ -1.93601002e+01, -1.32482279e+01],
[ -3.53706430e+01, -6.83001855e+01],
[ -2.27184037e+01, -3.40336602e+01],
[ 1.66592523e+01, 5.37210183e+01],
[ -3.93270993e+01, -9.70180290e+01],
[ -7.51101639e+01, -1.35175447e+02],
[ 2.18201340e+01, -2.52664297e+01],
[ -6.67274216e+01, -1.25149569e+02],
[ -4.12820724e+01, -9.66679258e+01],
[ 1.39266037e+01, -1.54018934e+01],
[ 8.88474950e-01, 6.37597391e+01],
[ 2.10208470e+01, 6.47563063e+01],
[ 7.07707629e+01, 3.65370439e+01],
[ 3.63315648e+01, 8.00405302e+01],
[ -1.10753452e+01, 2.64828941e+01],
[ -2.31774694e+01, -2.96284612e+01],
[ 3.00009398e+01, 4.11152875e+01],
[ 5.54529527e+00, -1.45040123e+01],
[ -3.54770693e+01, -8.18263667e+01],
[ 4.34214656e+00, 2.96187062e+01],
[ -8.11220961e+00, -7.39890174e+01],
[ 2.65747575e+01, 5.81081804e+01],
[ -4.79076881e+01, -1.12323154e+02],
[ -1.26073619e+01, -2.48344126e+01],
[ -2.76160375e+01, -1.39669644e+00],
[ -4.92698149e+01, -5.78872163e+01],
[ -4.76197101e+00, 1.43730729e+01],
[ 9.96552552e+00, 5.64332798e+01],
[ -1.43734045e+01, -9.27335685e+01],
[ -3.81166799e+00, 1.02153448e+01],
[ -1.70817771e+01, -9.26831397e+00],
[ -2.52036884e+01, -5.21023268e+01],
[ 4.17507834e+01, 8.08653506e+01],
[ 1.22180282e+00, 6.29861066e+01],
[ -4.40185286e+01, -1.22236333e+02],
[ -1.48180921e+01, -4.88339826e+01],
[ -1.37808807e+01, -1.02513869e+02],
[ -5.48923185e+01, -1.27561963e+02],
[ -1.47456267e+01, 2.40516555e+01],
[ -1.73808922e+00, -1.06630718e+01],
[ -8.12048473e+00, 4.26860416e+01],
[ -1.89925948e+00, 1.08394697e+01],
[ 1.75460489e+01, -3.87903219e+00],
[ -4.86536438e+01, -1.27168722e+02],
[ 3.13161399e+01, 8.39852173e+01],
[ 3.80991138e+01, -2.87304312e+01],
[ -1.20617078e+01, -2.33461967e+01],
[ 2.02390185e+01, 6.78786908e+01],
[ -3.90323787e+01, -3.50137676e+01],
[ 3.17515708e+01, 8.57346677e+01],
[ -4.85334577e+01, -7.11278444e+01],
[ -9.59398068e+00, 2.92564622e+01],
[ -3.86557710e+01, -9.82756666e+01],
[ 1.64717830e+01, 2.60985133e+00],
[ 3.52010365e+00, 5.43377497e+01],
[ 2.23486350e+01, 6.49388479e+01],
[ 6.13829467e+01, 6.56156893e+01],
[ 1.00837126e+01, 1.77990338e+01],
[ -3.96188628e+01, -3.02579723e+01],
[ 1.71606376e+01, 2.76488718e+01],
[ -3.97555306e+01, -2.31817520e+01],
[ -3.25049377e+01, -9.13984579e+00],
[ 4.99521240e+00, 7.77433846e+01],
[ 7.87780437e+00, -3.59475262e+00],
[ -7.00674013e+01, -5.34878660e+01],
[ 1.27302157e+01, 4.13417415e+01],
[ 2.67529419e+01, 6.61490194e+01],
[ -3.44840727e+01, -1.65159722e+01],
[ -5.31016925e+01, -5.40445723e+01],
[ 6.20580039e+01, 5.26382984e+01],
[ 3.55380855e+01, -2.69496357e+01],
[ -1.02068255e+00, 7.30313186e-01],
[ -1.62509168e+01, 4.15972532e+00],
[ -1.09794938e+02, -9.65724027e+01],
[ -2.74283590e+01, 3.48318182e+01],
[ -2.33110475e+01, 6.97218478e-01],
[ -1.02020490e+02, -1.67333025e+02],
[ -1.39426087e+01, -1.09100612e+00],
[ -2.60368372e+01, -8.36473949e+01],
[ 9.81440937e+00, 2.92561144e+01],
[ 5.89424151e+00, 1.00023359e+02],
[ -8.61983724e-02, 4.47903337e+01],
[ 1.87660661e+00, -7.09117993e+00],
[ -1.17850799e+01, -2.91901223e+01],
[ -5.86930244e+01, -9.58512106e+01],
[ 2.30075386e+01, -1.11010098e+01],
[ -3.03350323e+01, -1.10269632e+02],
[ -2.78914017e+01, -2.84443958e+01],
[ -6.11206778e+01, -1.27400129e+02],
[ 5.30261462e+00, 4.21395803e+01],
[ 1.11355361e+01, 3.02636514e+01],
[ -1.84942325e+01, 5.92079650e+01],
[ 2.37351349e+01, -4.29730519e+00],
[ 3.24190136e+00, 8.89430664e+00],
[ -6.38447325e+01, -1.04496155e+02],
[ -1.20560136e+01, 3.23104485e+01],
[ -6.24963346e+01, -1.24244167e+02],
[ 4.19984525e+00, -3.87090056e+01],
[ -2.13534122e+01, -9.14227926e+01],
[ 1.32873337e+01, -2.59778589e+01],
[ 4.27924777e+01, 9.55570218e+01],
[ 4.50017405e+00, 5.28235897e+01],
[ 3.84957139e+01, -1.23396643e+01],
[ 2.08096011e+01, -3.34510316e+00],
[ -3.23603927e+01, -6.58802466e+01],
[ -2.11759890e+00, -2.61211872e+01],
[ -5.96684490e+01, -1.07042049e+02],
[ 2.86410098e+01, 8.63905834e+01],
[ 1.89509600e+01, 1.03480382e+02],
[ 4.62316394e+01, 3.04975726e+01],
[ 8.13685333e+00, 1.07695160e+02],
[ 2.10333794e+01, 5.09745103e+00],
[ -8.99379690e+01, -8.19491265e+01],
[ 3.71873034e+00, -2.40208941e+01],
[ -3.88326001e+01, -4.59935959e+01],
[ 3.59776912e+00, -1.06760541e+01],
[ 2.14373409e+01, 1.00459106e+01],
[ -1.13276739e+02, -1.61110999e+02],
[ -2.94240817e+01, 3.85438299e-01],
[ -3.02082229e+01, -1.16478915e+01],
[ -5.91888925e+01, -1.14618584e+02],
[ 2.04874676e+00, 7.29056258e+01],
[ -8.38997565e+01, -1.46949848e+02],
[ -2.81931712e+01, 4.75959194e+00],
[ -2.42574566e+01, 1.98573934e+01],
[ -3.10254229e+01, 1.00039230e+01],
[ -8.45190335e+00, -3.49042074e+00],
[ 2.43500235e+00, 1.47538714e+01],
[ -4.22615291e+01, -6.47293437e+01],
[ 1.60130488e+01, 3.98840766e+01],
[ -1.70137881e+01, -1.46011542e+01],
[ -6.95329283e+01, -1.07383528e+02],
[ 5.01063077e+00, 2.90637208e+01],
[ 1.28549056e+01, 4.93922005e+01],
[ -4.22151043e+01, -1.24111692e+02],
[ -7.30595037e+00, -1.05682393e+02],
[ 6.61752813e+01, 1.55104413e+01],
[ -4.69710721e+01, -1.16508404e+02],
[ -2.92513672e+01, -1.03086823e+02],
[ 6.79835527e+01, -4.95196983e+01],
[ -9.12793256e+00, 4.52375291e+01],
[ 1.86699770e+01, 4.23704359e+01],
[ 4.65315672e+00, 3.36462224e+01],
[ -1.70527305e+00, -4.43716477e+01],
[ -4.09513899e+01, -4.34374086e+01],
[ -2.39425139e+01, -8.99868988e+01],
[ 1.41920097e+01, 7.47563089e+01],
[ 3.28885334e+00, 6.20549683e+00],
[ -1.62013914e+01, -9.11653546e+01],
[ 4.33148322e+01, 1.04535799e+02],
[ 1.18563813e+01, 5.06510932e+00],
[ 3.13453758e+01, -1.03596478e-01],
[ -7.80898897e+00, 1.19724085e+01],
[ 1.13588975e+00, -2.10380376e+01],
[ -8.61649851e+00, 5.20725350e-02],
[ -8.37792732e+01, -1.27493762e+02],
[ -1.40136562e+01, 5.56307170e+00],
[ 5.01643392e+01, 3.89728166e+01],
[ -1.75799984e+01, -9.43101474e+01],
[ -1.97685070e+01, 1.21174929e+01],
[ -4.99079577e+01, -1.37843813e+02],
[ 4.59507291e+01, -4.33159058e+00],
[ -4.81335395e+01, -9.71516753e+01],
[ -7.95860423e+01, -1.45605312e+02],
[ -5.63073799e+01, -1.11104781e+02],
[ -1.14013231e+01, -2.07468168e+01],
[ -6.51549446e+01, -6.02160843e+01],
[ -3.22884230e+01, -1.27575386e+01],
[ -2.14840960e+01, 3.34585188e+01],
[ -3.40604979e+01, -5.42359221e+01],
[ 2.83988827e+01, 2.19223415e+01],
[ -2.65791059e+01, -8.72688840e+01],
[ -4.58395022e+01, -8.58653220e+01],
[ 1.29050690e+01, -1.17264833e+01],
[ -1.79194610e+01, -1.81833120e+01],
[ 1.08329885e+01, 1.07297615e+02],
[ -3.29719466e+01, -8.35562262e+01],
[ -7.13811586e+00, 6.65657450e+01],
[ -3.70644598e+01, -9.63884610e+01],
[ 1.14902184e+01, 5.11819963e+01],
[ -7.44506687e+01, -9.67282356e+01],
[ 2.24428771e+01, -1.40734247e+01],
[ 3.56235567e+01, 1.24101909e+02],
[ 1.06146795e+01, -4.82338157e+01],
[ 1.72794340e+01, -3.72535334e+01],
[ 1.95171344e+01, 2.06207856e+00],
[ 3.45760251e+01, 7.45998084e+01],
[ -1.29882524e+01, -7.12422132e+00],
[ 1.83066291e+00, 3.94781729e+01],
[ -3.60745046e+01, 1.67214689e+01],
[ 1.97720481e+01, 1.06250453e+02],
[ 2.38995668e+01, 1.15619988e+02],
[ -7.44068376e+00, -9.76421452e+01],
[ -1.70107436e+01, -4.71864433e+01],
[ -4.33654787e+01, -6.03405762e+01],
[ 6.29134570e+00, 2.92820162e+01],
[ -6.67959349e+01, -3.25384589e+01],
[ -1.22547324e+01, 2.24985191e+00],
[ -7.24926486e+01, -9.83363996e+01],
[ -1.67705798e+01, -5.63257327e+00],
[ 5.74682317e+00, 2.56004831e+01],
[ -2.14658437e+01, -7.62548436e+00],
[ -8.21480827e+00, 1.52086562e+01],
[ -1.68582518e+01, 3.94209437e+00],
[ -4.53258620e+01, -6.88811944e+01],
[ 4.67147707e+01, 7.58368848e+01],
[ -2.76875684e+01, -4.22800933e+01],
[ 4.68635548e+00, 6.46423610e+01],
[ -6.65319390e+01, -5.03562371e+00],
[ -7.52282762e+01, -4.82734357e+01],
[ 2.77459217e+01, 2.23751331e+01],
[ -1.78900451e+01, -1.92289936e+01],
[ -8.50657221e+00, -5.54672664e+01],
[ -1.90284131e+01, -3.83828281e+00],
[ -6.68680226e+01, -8.49107343e+01],
[ 5.81123202e+01, 7.58420176e+01],
[ -2.92480631e+01, 5.30968645e+01],
[ 5.14500923e+00, 5.97181753e+01],
[ 1.23527305e+01, 1.82361569e+01],
[ -1.22010998e+01, 3.17718673e+01],
[ -1.92160784e+01, 3.37933300e+01],
[ -1.62361953e+01, -1.13038374e+01],
[ -1.93831045e+01, -3.51471836e+01],
[ -1.82374046e+01, -1.15015381e+01],
[ -5.99462302e+01, -8.16171720e+01],
[ 8.70188638e+01, 9.88312397e+01],
[ -1.35494444e+00, 5.81828540e+00],
[ 3.68754002e+01, 2.66397190e+01],
[ -1.83167129e+01, -7.06388290e+00],
[ -6.43374489e+00, 5.12500565e+01],
[ -5.81508440e+01, -1.12278824e+02],
[ -1.06748554e+01, -2.54180684e+00],
[ -8.12527644e+01, -8.65721040e+01],
[ -6.35012080e+00, 7.01628287e-01],
[ -5.62022407e+01, -6.33273583e-01],
[ -1.36783937e+01, 5.60405924e+01],
[ -5.24387880e+01, 1.95795813e+01],
[ -3.47479695e+01, -3.62846348e+01],
[ -2.12123906e+01, -4.09178370e+01],
[ -6.61846626e+01, -6.56800263e+01],
[ -8.18225964e+01, -4.04273892e+01],
[ -2.69103519e+01, -3.69885750e+01],
[ 8.95608625e+01, 4.52457367e+01],
[ 5.01260958e+01, 7.02252585e+01],
[ 1.94484652e+00, 3.84813753e+00],
[ -4.28872361e+01, -3.20589920e+01],
[ -8.98564239e+01, -8.23745469e+01],
[ 2.98895928e+00, -6.91559878e+00],
[ -2.77333725e+01, -2.96273702e+01],
[ -3.77593476e+01, 2.27121819e+01],
[ -2.79891153e+01, -2.05309095e+01],
[ -3.57432734e+01, -2.50527766e+01],
[ -5.70882986e+01, -3.64720080e+00],
[ -5.46994736e+01, -2.63330874e+01],
[ -5.07665137e+01, -3.39588190e+01],
[ -2.87982268e+01, -1.17080609e+01],
[ -3.04189882e+01, -1.04789375e-01],
[ -4.45084656e+01, -1.30849337e+02],
[ -3.04406065e+01, -7.81328306e+00],
[ -9.63503569e+00, 8.99003473e+00],
[ -7.60431946e+01, -6.25971896e+01],
[ -5.77468535e+01, -1.03657968e+02],
[ -5.09229171e+01, -1.75123141e+00],
[ -8.81622294e+01, -9.91135656e+01],
[ -8.70472247e+01, -8.48220083e+01],
[ 7.23969500e+01, 7.14964319e+01],
[ 2.35059210e+01, 5.20683432e+01],
[ -4.42381392e+00, 4.54559952e+01],
[ 1.02718054e+01, 7.23534434e+01],
[ 1.07252450e+02, 9.06331944e+01],
[ -7.57130290e+00, 1.79457873e+01],
[ 1.08843815e+01, 4.55904383e+01],
[ 1.47778746e+01, 6.75029672e+01],
[ -1.66796790e+01, 9.49962510e-01],
[ 5.50620403e+00, 3.02944433e+01],
[ 7.20168767e+00, 6.38510782e+00],
[ -4.27170093e+01, -1.81727727e+01],
[ -3.98313240e+01, -1.03686979e+01],
[ -4.09126168e+01, -2.66002747e+01],
[ -5.44307995e+01, -4.02548763e+01],
[ 8.86048329e-01, -4.06978644e+00],
[ -1.99943640e+01, -1.46541117e+01],
[ -1.76822311e+00, -1.32123577e+01],
[ -1.60374910e+01, 3.14149513e+01],
[ -7.90536629e+01, -8.13677465e+01],
[ -6.25636662e+01, -2.04243149e+01],
[ -3.07229004e+01, -6.38533461e+01],
[ 4.13415973e+00, -4.47442583e+01],
[ 5.45096701e+01, 7.65868818e+01],
[ 5.64490611e+00, 5.15878010e+01],
[ -7.81343451e+01, -1.19390776e+02],
[ 9.67893980e-01, 4.96521825e-01],
[ -7.95078824e+01, -8.77522397e+01],
[ -8.88050364e+00, 7.61399652e+00],
[ 1.36551847e+01, 4.49722410e+01],
[ 2.05569675e+01, -4.96169424e-01],
[ -8.40852418e+00, 8.34359180e+01],
[ -2.53260780e+01, -2.19572443e+01],
[ 6.68057229e+01, 1.29067680e+01],
[ -5.95429103e+01, -5.83588676e+01],
[ 6.03947767e+00, 2.23981665e+00],
[ 3.05547694e+01, 7.80232233e+01],
[ -2.90871255e+01, -3.28070157e+01],
[ -1.96019663e+01, -3.09834307e+01],
[ -7.56966288e+01, -9.37226632e+01],
[ 7.55566996e+00, 4.87836740e+01],
[ 7.17808733e+00, 3.14558368e+01],
[ 1.91970435e+01, 4.21492914e+01],
[ 6.28322181e+01, 9.02204533e+01],
[ 2.41713835e+01, -6.17648856e+01],
[ 6.48185757e-02, 8.84676806e+00],
[ 6.43091465e+01, 3.16220589e+01],
[ 6.49845895e+01, 7.46283260e+01],
[ -1.01311383e+01, -4.02404004e+01],
[ -3.47273942e+01, -3.86795846e+01],
[ -3.97845352e+01, -5.16338892e+01],
[ -2.04241652e+01, -6.08776492e+00],
[ -8.55999267e+00, -1.47520846e+01],
[ -4.01986956e+01, -3.61239276e+01],
[ 6.56516557e+00, -2.80343757e+01],
[ -3.68203129e+01, -3.30406179e+00],
[ -3.37768274e+01, 7.23352435e+01],
[ 9.22294238e+01, 7.58326191e+01],
[ -3.83840301e+01, -5.06163863e+01],
[ -5.02349714e+01, -5.40857580e+01],
[ 3.41336971e+01, 4.69431523e+01],
[ -5.59742244e+01, -5.01394710e+01],
[ -5.31908748e+00, 5.25630642e+00],
[ -7.80575099e+00, 3.79530078e+01],
[ -1.04556169e+01, 3.02720639e+01],
[ -6.27465605e+01, -1.04291658e+02],
[ -2.72709256e+01, -5.33931281e+01],
[ -8.40066689e+01, -1.39477435e+02],
[ 2.94920941e+01, 2.38451717e+01],
[ -8.35476449e+01, -1.17860252e+02],
[ 4.78892016e+01, -6.10016960e+01],
[ -2.33176748e+00, -1.80794834e+01],
[ 8.44724036e+00, 7.15162661e+01],
[ -1.00558137e+01, 2.55515640e+01],
[ -2.82893495e+01, -2.83655772e+01],
[ -7.67813929e+01, -1.09117481e+02],
[ -3.48570217e+01, -3.98137167e+01],
[ -3.06506335e+01, -4.85179886e+01],
[ 3.33286658e+01, 7.90402342e+00],
[ -4.08781971e+01, -8.06524680e+01],
[ 6.75910599e+01, 7.32196740e-01],
[ 4.30770356e+00, 6.71375282e+01],
[ 1.11383196e+01, 3.13151668e+01],
[ -1.64789427e+01, 4.13270737e+01],
[ -4.40333721e+00, -2.43450997e+00],
[ -7.30087922e+01, -3.49975128e+01],
[ 4.70338583e+00, 9.70990830e+00],
[ -6.14831728e+01, -8.37006414e+01],
[ 2.60937085e+01, 2.42384206e+01],
[ -3.41030987e+01, -9.73633227e+01],
[ 5.18392864e+01, -3.32843904e+01],
[ 3.33150907e+00, 4.07423623e+01],
[ -3.39021336e+01, 4.30057892e+01],
[ -7.37786723e+00, 5.85820770e+01],
[ -8.08320564e+00, 9.99704826e+00],
[ -9.57716833e+01, -5.02748209e+01],
[ 1.98493432e+01, 3.43659805e+00],
[ -8.06321677e+01, -5.15373140e+01],
[ -8.89422510e+00, -5.66990103e+01],
[ -5.96856293e+00, 2.54494038e+01],
[ -1.47125858e+01, 3.57880640e+01],
[ -3.63115424e+01, -1.03219039e+02],
[ -3.38550029e+00, -4.69118254e+01],
[ -6.88082782e+01, -2.28367243e+01],
[ -4.23159829e+01, -1.34189218e+01],
[ -7.61244904e+01, -6.45903097e+01],
[ -9.49717732e+00, -2.10083125e+01],
[ 2.51545777e+01, 2.17442525e+01],
[ -5.42322563e+01, -1.01434343e+02],
[ -1.78060336e+01, 2.31292504e+01],
[ -2.37854214e+01, 3.16078768e+01],
[ -9.44838801e+01, -9.87571871e+01],
[ -1.82232828e+01, 3.35791249e+01],
[ -3.65191925e+01, -6.39902052e+01],
[ -1.80492481e+01, 5.93612473e+00],
[ -1.72214094e+01, 1.33129351e+01],
[ 5.07161780e+01, -2.03423271e+01],
[ 2.97304659e+01, -2.84394705e+01],
[ -8.26279515e+00, 4.10961450e+01],
[ -3.56409044e+01, -5.90879486e+01],
[ 2.71355895e+01, -2.00927291e+01],
[ -3.46939628e+01, -4.62152025e+01],
[ 2.69927631e+01, -2.27732773e+00],
[ 3.68552111e+01, -1.76153702e+00],
[ -8.96481127e+00, 1.06568193e+01],
[ -7.96404323e+01, -9.92250393e+01],
[ -6.61439930e+01, -5.34088378e+01],
[ -3.39365984e+01, 2.90194480e+01],
[ -4.53618406e+01, -7.57534719e+01],
[ -4.23714214e+01, -6.17151410e+01],
[ 6.57113459e+01, -1.41148903e+01],
[ -2.77083818e+01, 4.58005570e+01],
[ 7.35482599e+00, 4.11110595e+01],
[ -2.26585846e+01, 5.42164443e+01],
[ 3.70196441e+01, -4.06798560e+01],
[ -7.52238760e+01, -7.87949202e+01],
[ -7.44148416e+01, -9.06192160e+01],
[ -4.09447868e+01, -7.30779333e+01],
[ -5.48753870e+00, -1.42526435e+01],
[ -7.15579178e+01, -2.64281591e+01],
[ -2.62553494e+01, 1.79822315e+01],
[ 4.60600080e+01, -7.65606223e+00],
[ -5.92189812e+01, -7.52374321e+01],
[ 1.37601144e+01, 4.49603667e+00],
[ -3.31360542e+01, -3.47472848e+01],
[ -3.04873481e+01, -2.52848500e+00],
[ -3.42548958e+01, -2.42141622e+01],
[ -2.14325975e+01, 3.72191260e+01],
[ 1.60822062e+00, 4.46251463e+01],
[ -4.90627549e+01, -8.02949005e+01],
[ -1.29401460e-01, 2.01844132e+01],
[ -2.81861514e+01, -5.95892881e+00],
[ -8.21135427e+00, 1.12484573e+01],
[ 5.70809730e+00, -5.93851479e+01],
[ -2.94744183e+01, 3.62889331e+01],
[ -3.46236374e+01, -4.32383028e+01],
[ -4.36520564e+01, -7.77582520e+01],
[ -4.69603659e+01, -7.46796979e+01],
[ -6.25903542e+01, -2.74598921e+01],
[ -7.49744295e+01, -6.66595136e+01],
[ 1.77290619e+01, 2.01632692e+01],
[ -3.21693498e+01, 2.53795455e+01],
[ -5.05337477e+00, -1.07238108e+01],
[ 6.96548703e+01, -2.10307924e+01],
[ -5.29945555e+01, -6.00678736e+01],
[ -6.19364252e+01, -6.06278698e+01],
[ 5.01120807e+01, -2.73801478e-01],
[ -1.37761998e+01, -3.86256931e+01],
[ 2.35729462e+01, 2.52171607e+00],
[ -2.41767160e+01, -8.66087384e+01],
[ -1.15151537e+01, 5.28877582e+01],
[ -6.06707943e+01, 2.76723225e-01],
[ 3.60641426e+00, 7.54529218e+01],
[ -6.55384683e+01, -9.06634358e+01],
[ -2.07628477e+01, 3.98144772e+01],
[ -3.88858674e+01, 1.30983966e+01],
[ -2.43383945e+01, -5.80040245e+01],
[ 3.59298559e+01, -3.68331211e+01],
[ -1.34045974e+01, 3.89178550e+01],
[ -2.88383257e+00, 1.58036871e+01]]),
array([[ -3.18056146e+01, -2.97813485e+01],
[ -3.63458015e+01, 8.30585643e+00],
[ -2.09108800e+01, -2.33695473e+01],
[ -4.58936445e+01, -7.14065100e+01],
[ 2.01026705e+01, -4.02875781e+01],
[ -4.31356612e+01, -8.04194320e+01],
[ 1.45908831e+01, 5.25960781e+01],
[ -3.43060970e+01, -1.65129691e+01],
[ -2.71594422e+01, -5.58981872e+01],
[ -1.06302716e+01, -9.71334128e+00],
[ -1.34055907e+01, 4.06932982e+00],
[ -6.48772248e+01, -9.99818923e+01],
[ 6.17220900e+01, 3.88076286e+01],
[ -7.87137261e+01, -1.23885710e+02],
[ 1.79000414e+00, -1.09516498e+01],
[ 3.70752976e+01, 7.07269605e+01],
[ -4.62478912e+01, 1.42070942e+01],
[ 7.01626969e+00, -5.90680303e+00],
[ -2.03178979e+01, -6.78746281e+00],
[ -3.81935518e+01, -6.23071134e+01],
[ 3.47657549e+00, 6.10867647e+00],
[ -7.24484063e+01, -9.12444381e+01],
[ 1.69865679e+01, 1.29779619e+01],
[ -3.42893822e+01, -9.60668678e+01],
[ 5.31382918e-01, -5.40893495e+01],
[ 3.14872836e+01, 9.24077579e+01],
[ -3.30649479e+00, 4.82906575e+01],
[ -6.19176118e+01, -3.51729418e+01],
[ 1.96264440e+01, 4.63540026e+00],
[ -3.51823680e+01, -4.77689276e+01],
[ 4.06663131e+00, -3.81619526e+01],
[ -5.80755850e+01, -6.70327609e+01],
[ 2.30214723e+01, 1.39103088e+01],
[ 2.12692568e+01, 3.40720986e+01],
[ -2.59019724e+01, 2.31307218e+01],
[ 4.26235349e+01, 6.96782067e+01],
[ 2.09538425e+01, 1.96999464e+01],
[ -1.15460054e+01, -2.95797110e+01],
[ -3.66425907e+01, 4.19972394e+00],
[ -7.08280318e+01, -9.00701096e+01],
[ -1.70225664e+01, -4.62291557e+01],
[ 4.27509036e+01, 3.60875222e+01],
[ -1.29475125e+01, -6.55334920e+01],
[ -1.33696926e+01, 2.61025288e+01],
[ -1.85574167e+01, -7.93571344e+00],
[ -7.76461669e+01, -9.78920435e+01],
[ 2.96026102e+01, 6.53760729e+01],
[ -2.26232641e+01, -6.32096356e+01],
[ -2.28425322e+01, 3.38167625e+01],
[ -4.63267096e+01, 8.87424143e-01],
[ -3.99389896e+01, -1.28779067e+01],
[ -2.84496198e+01, -4.01117305e+01],
[ -2.88998525e+01, -2.69647059e+00],
[ -6.59461988e+00, -1.84794298e+01],
[ -2.31106818e+01, -3.54517110e+01],
[ -1.93601002e+01, -1.32482279e+01],
[ -3.53706430e+01, -6.83001855e+01],
[ -2.27184037e+01, -3.40336602e+01],
[ 1.66592523e+01, 5.37210183e+01],
[ -3.93270993e+01, -9.70180290e+01],
[ -7.51101639e+01, -1.35175447e+02],
[ 2.18201340e+01, -2.52664297e+01],
[ -6.67274216e+01, -1.25149569e+02],
[ -4.12820724e+01, -9.66679258e+01],
[ 1.39266037e+01, -1.54018934e+01],
[ 8.88474950e-01, 6.37597391e+01],
[ 2.10208470e+01, 6.47563063e+01],
[ 7.07707629e+01, 3.65370439e+01],
[ 3.63315648e+01, 8.00405302e+01],
[ -1.10753452e+01, 2.64828941e+01],
[ -2.31774694e+01, -2.96284612e+01],
[ 3.00009398e+01, 4.11152875e+01],
[ 5.54529527e+00, -1.45040123e+01],
[ -3.54770693e+01, -8.18263667e+01],
[ 4.34214656e+00, 2.96187062e+01],
[ -8.11220961e+00, -7.39890174e+01],
[ 2.65747575e+01, 5.81081804e+01],
[ -4.79076881e+01, -1.12323154e+02],
[ -1.26073619e+01, -2.48344126e+01],
[ -2.76160375e+01, -1.39669644e+00],
[ -4.92698149e+01, -5.78872163e+01],
[ -4.76197101e+00, 1.43730729e+01],
[ 9.96552552e+00, 5.64332798e+01],
[ -1.43734045e+01, -9.27335685e+01],
[ -3.81166799e+00, 1.02153448e+01],
[ -1.70817771e+01, -9.26831397e+00],
[ -2.52036884e+01, -5.21023268e+01],
[ 4.17507834e+01, 8.08653506e+01],
[ 1.22180282e+00, 6.29861066e+01],
[ -4.40185286e+01, -1.22236333e+02],
[ -1.48180921e+01, -4.88339826e+01],
[ -1.37808807e+01, -1.02513869e+02],
[ -5.48923185e+01, -1.27561963e+02],
[ -1.47456267e+01, 2.40516555e+01],
[ -1.73808922e+00, -1.06630718e+01],
[ -8.12048473e+00, 4.26860416e+01],
[ -1.89925948e+00, 1.08394697e+01],
[ 1.75460489e+01, -3.87903219e+00],
[ -4.86536438e+01, -1.27168722e+02],
[ 3.13161399e+01, 8.39852173e+01],
[ 3.80991138e+01, -2.87304312e+01],
[ -1.20617078e+01, -2.33461967e+01],
[ 2.02390185e+01, 6.78786908e+01],
[ -3.90323787e+01, -3.50137676e+01],
[ 3.17515708e+01, 8.57346677e+01],
[ -4.85334577e+01, -7.11278444e+01],
[ -9.59398068e+00, 2.92564622e+01],
[ -3.86557710e+01, -9.82756666e+01],
[ 1.64717830e+01, 2.60985133e+00],
[ 3.52010365e+00, 5.43377497e+01],
[ 2.23486350e+01, 6.49388479e+01],
[ 6.13829467e+01, 6.56156893e+01],
[ 1.00837126e+01, 1.77990338e+01],
[ -3.96188628e+01, -3.02579723e+01],
[ 1.71606376e+01, 2.76488718e+01],
[ -3.97555306e+01, -2.31817520e+01],
[ -3.25049377e+01, -9.13984579e+00],
[ 4.99521240e+00, 7.77433846e+01],
[ 7.87780437e+00, -3.59475262e+00],
[ -7.00674013e+01, -5.34878660e+01],
[ 1.27302157e+01, 4.13417415e+01],
[ 2.67529419e+01, 6.61490194e+01],
[ -3.44840727e+01, -1.65159722e+01],
[ -5.31016925e+01, -5.40445723e+01],
[ 6.20580039e+01, 5.26382984e+01],
[ 3.55380855e+01, -2.69496357e+01],
[ -1.02068255e+00, 7.30313186e-01],
[ -1.62509168e+01, 4.15972532e+00],
[ -1.09794938e+02, -9.65724027e+01],
[ -2.74283590e+01, 3.48318182e+01],
[ -2.33110475e+01, 6.97218478e-01],
[ -1.02020490e+02, -1.67333025e+02],
[ -1.39426087e+01, -1.09100612e+00],
[ -2.60368372e+01, -8.36473949e+01],
[ 9.81440937e+00, 2.92561144e+01],
[ 5.89424151e+00, 1.00023359e+02],
[ -8.61983724e-02, 4.47903337e+01],
[ 1.87660661e+00, -7.09117993e+00],
[ -1.17850799e+01, -2.91901223e+01],
[ -5.86930244e+01, -9.58512106e+01],
[ 2.30075386e+01, -1.11010098e+01],
[ -3.03350323e+01, -1.10269632e+02],
[ -2.78914017e+01, -2.84443958e+01],
[ -6.11206778e+01, -1.27400129e+02],
[ 5.30261462e+00, 4.21395803e+01],
[ 1.11355361e+01, 3.02636514e+01],
[ -1.84942325e+01, 5.92079650e+01],
[ 2.37351349e+01, -4.29730519e+00],
[ 3.24190136e+00, 8.89430664e+00],
[ -6.38447325e+01, -1.04496155e+02],
[ -1.20560136e+01, 3.23104485e+01],
[ -6.24963346e+01, -1.24244167e+02],
[ 4.19984525e+00, -3.87090056e+01],
[ -2.13534122e+01, -9.14227926e+01],
[ 1.32873337e+01, -2.59778589e+01],
[ 4.27924777e+01, 9.55570218e+01],
[ 4.50017405e+00, 5.28235897e+01],
[ 3.84957139e+01, -1.23396643e+01],
[ 2.08096011e+01, -3.34510316e+00],
[ -3.23603927e+01, -6.58802466e+01],
[ -2.11759890e+00, -2.61211872e+01],
[ -5.96684490e+01, -1.07042049e+02],
[ 2.86410098e+01, 8.63905834e+01],
[ 1.89509600e+01, 1.03480382e+02],
[ 4.62316394e+01, 3.04975726e+01],
[ 8.13685333e+00, 1.07695160e+02],
[ 2.10333794e+01, 5.09745103e+00],
[ -8.99379690e+01, -8.19491265e+01],
[ 3.71873034e+00, -2.40208941e+01],
[ -3.88326001e+01, -4.59935959e+01],
[ 3.59776912e+00, -1.06760541e+01],
[ 2.14373409e+01, 1.00459106e+01],
[ -1.13276739e+02, -1.61110999e+02],
[ -2.94240817e+01, 3.85438299e-01],
[ -3.02082229e+01, -1.16478915e+01],
[ -5.91888925e+01, -1.14618584e+02],
[ 2.04874676e+00, 7.29056258e+01],
[ -8.38997565e+01, -1.46949848e+02],
[ -2.81931712e+01, 4.75959194e+00],
[ -2.42574566e+01, 1.98573934e+01],
[ -3.10254229e+01, 1.00039230e+01],
[ -8.45190335e+00, -3.49042074e+00],
[ 2.43500235e+00, 1.47538714e+01],
[ -4.22615291e+01, -6.47293437e+01],
[ 1.60130488e+01, 3.98840766e+01],
[ -1.70137881e+01, -1.46011542e+01],
[ -6.95329283e+01, -1.07383528e+02],
[ 5.01063077e+00, 2.90637208e+01],
[ 1.28549056e+01, 4.93922005e+01],
[ -4.22151043e+01, -1.24111692e+02],
[ -7.30595037e+00, -1.05682393e+02],
[ 6.61752813e+01, 1.55104413e+01],
[ -4.69710721e+01, -1.16508404e+02],
[ -2.92513672e+01, -1.03086823e+02],
[ 6.79835527e+01, -4.95196983e+01],
[ -9.12793256e+00, 4.52375291e+01],
[ 1.86699770e+01, 4.23704359e+01],
[ 4.65315672e+00, 3.36462224e+01],
[ -1.70527305e+00, -4.43716477e+01],
[ -4.09513899e+01, -4.34374086e+01],
[ -2.39425139e+01, -8.99868988e+01],
[ 1.41920097e+01, 7.47563089e+01],
[ 3.28885334e+00, 6.20549683e+00],
[ -1.62013914e+01, -9.11653546e+01],
[ 4.33148322e+01, 1.04535799e+02],
[ 1.18563813e+01, 5.06510932e+00],
[ 3.13453758e+01, -1.03596478e-01],
[ -7.80898897e+00, 1.19724085e+01],
[ 1.13588975e+00, -2.10380376e+01],
[ -8.61649851e+00, 5.20725350e-02],
[ -8.37792732e+01, -1.27493762e+02],
[ -1.40136562e+01, 5.56307170e+00],
[ 5.01643392e+01, 3.89728166e+01],
[ -1.75799984e+01, -9.43101474e+01],
[ -1.97685070e+01, 1.21174929e+01],
[ -4.99079577e+01, -1.37843813e+02],
[ 4.59507291e+01, -4.33159058e+00],
[ -4.81335395e+01, -9.71516753e+01],
[ -7.95860423e+01, -1.45605312e+02],
[ -5.63073799e+01, -1.11104781e+02],
[ -1.14013231e+01, -2.07468168e+01],
[ -6.51549446e+01, -6.02160843e+01],
[ -3.22884230e+01, -1.27575386e+01],
[ -2.14840960e+01, 3.34585188e+01],
[ -3.40604979e+01, -5.42359221e+01],
[ 2.83988827e+01, 2.19223415e+01],
[ -2.65791059e+01, -8.72688840e+01],
[ -4.58395022e+01, -8.58653220e+01],
[ 1.29050690e+01, -1.17264833e+01],
[ -1.79194610e+01, -1.81833120e+01],
[ 1.08329885e+01, 1.07297615e+02],
[ -3.29719466e+01, -8.35562262e+01],
[ -7.13811586e+00, 6.65657450e+01],
[ -3.70644598e+01, -9.63884610e+01],
[ 1.14902184e+01, 5.11819963e+01],
[ -7.44506687e+01, -9.67282356e+01],
[ 2.24428771e+01, -1.40734247e+01],
[ 3.56235567e+01, 1.24101909e+02],
[ 1.06146795e+01, -4.82338157e+01],
[ 1.72794340e+01, -3.72535334e+01],
[ 1.95171344e+01, 2.06207856e+00],
[ 3.45760251e+01, 7.45998084e+01],
[ -1.29882524e+01, -7.12422132e+00],
[ 1.83066291e+00, 3.94781729e+01],
[ -3.60745046e+01, 1.67214689e+01],
[ 1.97720481e+01, 1.06250453e+02],
[ 2.38995668e+01, 1.15619988e+02],
[ -7.44068376e+00, -9.76421452e+01],
[ -1.70107436e+01, -4.71864433e+01],
[ -4.33654787e+01, -6.03405762e+01],
[ 6.29134570e+00, 2.92820162e+01],
[ -6.67959349e+01, -3.25384589e+01],
[ -1.22547324e+01, 2.24985191e+00],
[ -7.24926486e+01, -9.83363996e+01],
[ -1.67705798e+01, -5.63257327e+00],
[ 5.74682317e+00, 2.56004831e+01],
[ -2.14658437e+01, -7.62548436e+00],
[ -8.21480827e+00, 1.52086562e+01],
[ -1.68582518e+01, 3.94209437e+00],
[ -4.53258620e+01, -6.88811944e+01],
[ 4.67147707e+01, 7.58368848e+01],
[ -2.76875684e+01, -4.22800933e+01],
[ 4.68635548e+00, 6.46423610e+01],
[ -6.65319390e+01, -5.03562371e+00],
[ -7.52282762e+01, -4.82734357e+01],
[ 2.77459217e+01, 2.23751331e+01],
[ -1.78900451e+01, -1.92289936e+01],
[ -8.50657221e+00, -5.54672664e+01],
[ -1.90284131e+01, -3.83828281e+00],
[ -6.68680226e+01, -8.49107343e+01],
[ 5.81123202e+01, 7.58420176e+01],
[ -2.92480631e+01, 5.30968645e+01],
[ 5.14500923e+00, 5.97181753e+01],
[ 1.23527305e+01, 1.82361569e+01],
[ -1.22010998e+01, 3.17718673e+01],
[ -1.92160784e+01, 3.37933300e+01],
[ -1.62361953e+01, -1.13038374e+01],
[ -1.93831045e+01, -3.51471836e+01],
[ -1.82374046e+01, -1.15015381e+01],
[ -5.99462302e+01, -8.16171720e+01],
[ 8.70188638e+01, 9.88312397e+01],
[ -1.35494444e+00, 5.81828540e+00],
[ 3.68754002e+01, 2.66397190e+01],
[ -1.83167129e+01, -7.06388290e+00],
[ -6.43374489e+00, 5.12500565e+01],
[ -5.81508440e+01, -1.12278824e+02],
[ -1.06748554e+01, -2.54180684e+00],
[ -8.12527644e+01, -8.65721040e+01],
[ -6.35012080e+00, 7.01628287e-01],
[ -5.62022407e+01, -6.33273583e-01],
[ -1.36783937e+01, 5.60405924e+01],
[ -5.24387880e+01, 1.95795813e+01],
[ -3.47479695e+01, -3.62846348e+01],
[ -2.12123906e+01, -4.09178370e+01],
[ -6.61846626e+01, -6.56800263e+01],
[ -8.18225964e+01, -4.04273892e+01],
[ -2.69103519e+01, -3.69885750e+01],
[ 8.95608625e+01, 4.52457367e+01],
[ 5.01260958e+01, 7.02252585e+01],
[ 1.94484652e+00, 3.84813753e+00],
[ -4.28872361e+01, -3.20589920e+01],
[ -8.98564239e+01, -8.23745469e+01],
[ 2.98895928e+00, -6.91559878e+00],
[ -2.77333725e+01, -2.96273702e+01],
[ -3.77593476e+01, 2.27121819e+01],
[ -2.79891153e+01, -2.05309095e+01],
[ -3.57432734e+01, -2.50527766e+01],
[ -5.70882986e+01, -3.64720080e+00],
[ -5.46994736e+01, -2.63330874e+01],
[ -5.07665137e+01, -3.39588190e+01],
[ -2.87982268e+01, -1.17080609e+01],
[ -3.04189882e+01, -1.04789375e-01],
[ -4.45084656e+01, -1.30849337e+02],
[ -3.04406065e+01, -7.81328306e+00],
[ -9.63503569e+00, 8.99003473e+00],
[ -7.60431946e+01, -6.25971896e+01],
[ -5.77468535e+01, -1.03657968e+02],
[ -5.09229171e+01, -1.75123141e+00],
[ -8.81622294e+01, -9.91135656e+01],
[ -8.70472247e+01, -8.48220083e+01],
[ 7.23969500e+01, 7.14964319e+01],
[ 2.35059210e+01, 5.20683432e+01],
[ -4.42381392e+00, 4.54559952e+01],
[ 1.02718054e+01, 7.23534434e+01],
[ 1.07252450e+02, 9.06331944e+01],
[ -7.57130290e+00, 1.79457873e+01],
[ 1.08843815e+01, 4.55904383e+01],
[ 1.47778746e+01, 6.75029672e+01],
[ -1.66796790e+01, 9.49962510e-01],
[ 5.50620403e+00, 3.02944433e+01],
[ 7.20168767e+00, 6.38510782e+00],
[ -4.27170093e+01, -1.81727727e+01],
[ -3.98313240e+01, -1.03686979e+01],
[ -4.09126168e+01, -2.66002747e+01],
[ -5.44307995e+01, -4.02548763e+01],
[ 8.86048329e-01, -4.06978644e+00],
[ -1.99943640e+01, -1.46541117e+01],
[ -1.76822311e+00, -1.32123577e+01],
[ -1.60374910e+01, 3.14149513e+01],
[ -7.90536629e+01, -8.13677465e+01],
[ -6.25636662e+01, -2.04243149e+01],
[ -3.07229004e+01, -6.38533461e+01],
[ 4.13415973e+00, -4.47442583e+01],
[ 5.45096701e+01, 7.65868818e+01],
[ 5.64490611e+00, 5.15878010e+01],
[ -7.81343451e+01, -1.19390776e+02],
[ 9.67893980e-01, 4.96521825e-01],
[ -7.95078824e+01, -8.77522397e+01],
[ -8.88050364e+00, 7.61399652e+00],
[ 1.36551847e+01, 4.49722410e+01],
[ 2.05569675e+01, -4.96169424e-01],
[ -8.40852418e+00, 8.34359180e+01],
[ -2.53260780e+01, -2.19572443e+01],
[ 6.68057229e+01, 1.29067680e+01],
[ -5.95429103e+01, -5.83588676e+01],
[ 6.03947767e+00, 2.23981665e+00],
[ 3.05547694e+01, 7.80232233e+01],
[ -2.90871255e+01, -3.28070157e+01],
[ -1.96019663e+01, -3.09834307e+01],
[ -7.56966288e+01, -9.37226632e+01],
[ 7.55566996e+00, 4.87836740e+01],
[ 7.17808733e+00, 3.14558368e+01],
[ 1.91970435e+01, 4.21492914e+01],
[ 6.28322181e+01, 9.02204533e+01],
[ 2.41713835e+01, -6.17648856e+01],
[ 6.48185757e-02, 8.84676806e+00],
[ 6.43091465e+01, 3.16220589e+01],
[ 6.49845895e+01, 7.46283260e+01],
[ -1.01311383e+01, -4.02404004e+01],
[ -3.47273942e+01, -3.86795846e+01],
[ -3.97845352e+01, -5.16338892e+01],
[ -2.04241652e+01, -6.08776492e+00],
[ -8.55999267e+00, -1.47520846e+01],
[ -4.01986956e+01, -3.61239276e+01],
[ 6.56516557e+00, -2.80343757e+01],
[ -3.68203129e+01, -3.30406179e+00],
[ -3.37768274e+01, 7.23352435e+01],
[ 9.22294238e+01, 7.58326191e+01],
[ -3.83840301e+01, -5.06163863e+01],
[ -5.02349714e+01, -5.40857580e+01],
[ 3.41336971e+01, 4.69431523e+01],
[ -5.59742244e+01, -5.01394710e+01],
[ -5.31908748e+00, 5.25630642e+00],
[ -7.80575099e+00, 3.79530078e+01],
[ -1.04556169e+01, 3.02720639e+01],
[ -6.27465605e+01, -1.04291658e+02],
[ -2.72709256e+01, -5.33931281e+01],
[ -8.40066689e+01, -1.39477435e+02],
[ 2.94920941e+01, 2.38451717e+01],
[ -8.35476449e+01, -1.17860252e+02],
[ 4.78892016e+01, -6.10016960e+01],
[ -2.33176748e+00, -1.80794834e+01],
[ 8.44724036e+00, 7.15162661e+01],
[ -1.00558137e+01, 2.55515640e+01],
[ -2.82893495e+01, -2.83655772e+01],
[ -7.67813929e+01, -1.09117481e+02],
[ -3.48570217e+01, -3.98137167e+01],
[ -3.06506335e+01, -4.85179886e+01],
[ 3.33286658e+01, 7.90402342e+00],
[ -4.08781971e+01, -8.06524680e+01],
[ 6.75910599e+01, 7.32196740e-01],
[ 4.30770356e+00, 6.71375282e+01],
[ 1.11383196e+01, 3.13151668e+01],
[ -1.64789427e+01, 4.13270737e+01],
[ -4.40333721e+00, -2.43450997e+00],
[ -7.30087922e+01, -3.49975128e+01],
[ 4.70338583e+00, 9.70990830e+00],
[ -6.14831728e+01, -8.37006414e+01],
[ 2.60937085e+01, 2.42384206e+01],
[ -3.41030987e+01, -9.73633227e+01],
[ 5.18392864e+01, -3.32843904e+01],
[ 3.33150907e+00, 4.07423623e+01],
[ -3.39021336e+01, 4.30057892e+01],
[ -7.37786723e+00, 5.85820770e+01],
[ -8.08320564e+00, 9.99704826e+00],
[ -9.57716833e+01, -5.02748209e+01],
[ 1.98493432e+01, 3.43659805e+00],
[ -8.06321677e+01, -5.15373140e+01],
[ -8.89422510e+00, -5.66990103e+01],
[ -5.96856293e+00, 2.54494038e+01],
[ -1.47125858e+01, 3.57880640e+01],
[ -3.63115424e+01, -1.03219039e+02],
[ -3.38550029e+00, -4.69118254e+01],
[ -6.88082782e+01, -2.28367243e+01],
[ -4.23159829e+01, -1.34189218e+01],
[ -7.61244904e+01, -6.45903097e+01],
[ -9.49717732e+00, -2.10083125e+01],
[ 2.51545777e+01, 2.17442525e+01],
[ -5.42322563e+01, -1.01434343e+02],
[ -1.78060336e+01, 2.31292504e+01],
[ -2.37854214e+01, 3.16078768e+01],
[ -9.44838801e+01, -9.87571871e+01],
[ -1.82232828e+01, 3.35791249e+01],
[ -3.65191925e+01, -6.39902052e+01],
[ -1.80492481e+01, 5.93612473e+00],
[ -1.72214094e+01, 1.33129351e+01],
[ 5.07161780e+01, -2.03423271e+01],
[ 2.97304659e+01, -2.84394705e+01],
[ -8.26279515e+00, 4.10961450e+01],
[ -3.56409044e+01, -5.90879486e+01],
[ 2.71355895e+01, -2.00927291e+01],
[ -3.46939628e+01, -4.62152025e+01],
[ 2.69927631e+01, -2.27732773e+00],
[ 3.68552111e+01, -1.76153702e+00],
[ -8.96481127e+00, 1.06568193e+01],
[ -7.96404323e+01, -9.92250393e+01],
[ -6.61439930e+01, -5.34088378e+01],
[ -3.39365984e+01, 2.90194480e+01],
[ -4.53618406e+01, -7.57534719e+01],
[ -4.23714214e+01, -6.17151410e+01],
[ 6.57113459e+01, -1.41148903e+01],
[ -2.77083818e+01, 4.58005570e+01],
[ 7.35482599e+00, 4.11110595e+01],
[ -2.26585846e+01, 5.42164443e+01],
[ 3.70196441e+01, -4.06798560e+01],
[ -7.52238760e+01, -7.87949202e+01],
[ -7.44148416e+01, -9.06192160e+01],
[ -4.09447868e+01, -7.30779333e+01],
[ -5.48753870e+00, -1.42526435e+01],
[ -7.15579178e+01, -2.64281591e+01],
[ -2.62553494e+01, 1.79822315e+01],
[ 4.60600080e+01, -7.65606223e+00],
[ -5.92189812e+01, -7.52374321e+01],
[ 1.37601144e+01, 4.49603667e+00],
[ -3.31360542e+01, -3.47472848e+01],
[ -3.04873481e+01, -2.52848500e+00],
[ -3.42548958e+01, -2.42141622e+01],
[ -2.14325975e+01, 3.72191260e+01],
[ 1.60822062e+00, 4.46251463e+01],
[ -4.90627549e+01, -8.02949005e+01],
[ -1.29401460e-01, 2.01844132e+01],
[ -2.81861514e+01, -5.95892881e+00],
[ -8.21135427e+00, 1.12484573e+01],
[ 5.70809730e+00, -5.93851479e+01],
[ -2.94744183e+01, 3.62889331e+01],
[ -3.46236374e+01, -4.32383028e+01],
[ -4.36520564e+01, -7.77582520e+01],
[ -4.69603659e+01, -7.46796979e+01],
[ -6.25903542e+01, -2.74598921e+01],
[ -7.49744295e+01, -6.66595136e+01],
[ 1.77290619e+01, 2.01632692e+01],
[ -3.21693498e+01, 2.53795455e+01],
[ -5.05337477e+00, -1.07238108e+01],
[ 6.96548703e+01, -2.10307924e+01],
[ -5.29945555e+01, -6.00678736e+01],
[ -6.19364252e+01, -6.06278698e+01],
[ 5.01120807e+01, -2.73801478e-01],
[ -1.37761998e+01, -3.86256931e+01],
[ 2.35729462e+01, 2.52171607e+00],
[ -2.41767160e+01, -8.66087384e+01],
[ -1.15151537e+01, 5.28877582e+01],
[ -6.06707943e+01, 2.76723225e-01],
[ 3.60641426e+00, 7.54529218e+01],
[ -6.55384683e+01, -9.06634358e+01],
[ -2.07628477e+01, 3.98144772e+01],
[ -3.88858674e+01, 1.30983966e+01],
[ -2.43383945e+01, -5.80040245e+01],
[ 3.59298559e+01, -3.68331211e+01],
[ -1.34045974e+01, 3.89178550e+01],
[ -2.88383257e+00, 1.58036871e+01]]))
In [48]:
X_ = X.dot(A.T)
X_.shape
Out[48]:
(500, 2)
In [49]:
(A.T).shape
Out[49]:
(64, 2)
In [50]:
X.dot(A.T)
Out[50]:
array([[ -3.18056146e+01, -2.97813485e+01],
[ -3.63458015e+01, 8.30585643e+00],
[ -2.09108800e+01, -2.33695473e+01],
[ -4.58936445e+01, -7.14065100e+01],
[ 2.01026705e+01, -4.02875781e+01],
[ -4.31356612e+01, -8.04194320e+01],
[ 1.45908831e+01, 5.25960781e+01],
[ -3.43060970e+01, -1.65129691e+01],
[ -2.71594422e+01, -5.58981872e+01],
[ -1.06302716e+01, -9.71334128e+00],
[ -1.34055907e+01, 4.06932982e+00],
[ -6.48772248e+01, -9.99818923e+01],
[ 6.17220900e+01, 3.88076286e+01],
[ -7.87137261e+01, -1.23885710e+02],
[ 1.79000414e+00, -1.09516498e+01],
[ 3.70752976e+01, 7.07269605e+01],
[ -4.62478912e+01, 1.42070942e+01],
[ 7.01626969e+00, -5.90680303e+00],
[ -2.03178979e+01, -6.78746281e+00],
[ -3.81935518e+01, -6.23071134e+01],
[ 3.47657549e+00, 6.10867647e+00],
[ -7.24484063e+01, -9.12444381e+01],
[ 1.69865679e+01, 1.29779619e+01],
[ -3.42893822e+01, -9.60668678e+01],
[ 5.31382918e-01, -5.40893495e+01],
[ 3.14872836e+01, 9.24077579e+01],
[ -3.30649479e+00, 4.82906575e+01],
[ -6.19176118e+01, -3.51729418e+01],
[ 1.96264440e+01, 4.63540026e+00],
[ -3.51823680e+01, -4.77689276e+01],
[ 4.06663131e+00, -3.81619526e+01],
[ -5.80755850e+01, -6.70327609e+01],
[ 2.30214723e+01, 1.39103088e+01],
[ 2.12692568e+01, 3.40720986e+01],
[ -2.59019724e+01, 2.31307218e+01],
[ 4.26235349e+01, 6.96782067e+01],
[ 2.09538425e+01, 1.96999464e+01],
[ -1.15460054e+01, -2.95797110e+01],
[ -3.66425907e+01, 4.19972394e+00],
[ -7.08280318e+01, -9.00701096e+01],
[ -1.70225664e+01, -4.62291557e+01],
[ 4.27509036e+01, 3.60875222e+01],
[ -1.29475125e+01, -6.55334920e+01],
[ -1.33696926e+01, 2.61025288e+01],
[ -1.85574167e+01, -7.93571344e+00],
[ -7.76461669e+01, -9.78920435e+01],
[ 2.96026102e+01, 6.53760729e+01],
[ -2.26232641e+01, -6.32096356e+01],
[ -2.28425322e+01, 3.38167625e+01],
[ -4.63267096e+01, 8.87424143e-01],
[ -3.99389896e+01, -1.28779067e+01],
[ -2.84496198e+01, -4.01117305e+01],
[ -2.88998525e+01, -2.69647059e+00],
[ -6.59461988e+00, -1.84794298e+01],
[ -2.31106818e+01, -3.54517110e+01],
[ -1.93601002e+01, -1.32482279e+01],
[ -3.53706430e+01, -6.83001855e+01],
[ -2.27184037e+01, -3.40336602e+01],
[ 1.66592523e+01, 5.37210183e+01],
[ -3.93270993e+01, -9.70180290e+01],
[ -7.51101639e+01, -1.35175447e+02],
[ 2.18201340e+01, -2.52664297e+01],
[ -6.67274216e+01, -1.25149569e+02],
[ -4.12820724e+01, -9.66679258e+01],
[ 1.39266037e+01, -1.54018934e+01],
[ 8.88474950e-01, 6.37597391e+01],
[ 2.10208470e+01, 6.47563063e+01],
[ 7.07707629e+01, 3.65370439e+01],
[ 3.63315648e+01, 8.00405302e+01],
[ -1.10753452e+01, 2.64828941e+01],
[ -2.31774694e+01, -2.96284612e+01],
[ 3.00009398e+01, 4.11152875e+01],
[ 5.54529527e+00, -1.45040123e+01],
[ -3.54770693e+01, -8.18263667e+01],
[ 4.34214656e+00, 2.96187062e+01],
[ -8.11220961e+00, -7.39890174e+01],
[ 2.65747575e+01, 5.81081804e+01],
[ -4.79076881e+01, -1.12323154e+02],
[ -1.26073619e+01, -2.48344126e+01],
[ -2.76160375e+01, -1.39669644e+00],
[ -4.92698149e+01, -5.78872163e+01],
[ -4.76197101e+00, 1.43730729e+01],
[ 9.96552552e+00, 5.64332798e+01],
[ -1.43734045e+01, -9.27335685e+01],
[ -3.81166799e+00, 1.02153448e+01],
[ -1.70817771e+01, -9.26831397e+00],
[ -2.52036884e+01, -5.21023268e+01],
[ 4.17507834e+01, 8.08653506e+01],
[ 1.22180282e+00, 6.29861066e+01],
[ -4.40185286e+01, -1.22236333e+02],
[ -1.48180921e+01, -4.88339826e+01],
[ -1.37808807e+01, -1.02513869e+02],
[ -5.48923185e+01, -1.27561963e+02],
[ -1.47456267e+01, 2.40516555e+01],
[ -1.73808922e+00, -1.06630718e+01],
[ -8.12048473e+00, 4.26860416e+01],
[ -1.89925948e+00, 1.08394697e+01],
[ 1.75460489e+01, -3.87903219e+00],
[ -4.86536438e+01, -1.27168722e+02],
[ 3.13161399e+01, 8.39852173e+01],
[ 3.80991138e+01, -2.87304312e+01],
[ -1.20617078e+01, -2.33461967e+01],
[ 2.02390185e+01, 6.78786908e+01],
[ -3.90323787e+01, -3.50137676e+01],
[ 3.17515708e+01, 8.57346677e+01],
[ -4.85334577e+01, -7.11278444e+01],
[ -9.59398068e+00, 2.92564622e+01],
[ -3.86557710e+01, -9.82756666e+01],
[ 1.64717830e+01, 2.60985133e+00],
[ 3.52010365e+00, 5.43377497e+01],
[ 2.23486350e+01, 6.49388479e+01],
[ 6.13829467e+01, 6.56156893e+01],
[ 1.00837126e+01, 1.77990338e+01],
[ -3.96188628e+01, -3.02579723e+01],
[ 1.71606376e+01, 2.76488718e+01],
[ -3.97555306e+01, -2.31817520e+01],
[ -3.25049377e+01, -9.13984579e+00],
[ 4.99521240e+00, 7.77433846e+01],
[ 7.87780437e+00, -3.59475262e+00],
[ -7.00674013e+01, -5.34878660e+01],
[ 1.27302157e+01, 4.13417415e+01],
[ 2.67529419e+01, 6.61490194e+01],
[ -3.44840727e+01, -1.65159722e+01],
[ -5.31016925e+01, -5.40445723e+01],
[ 6.20580039e+01, 5.26382984e+01],
[ 3.55380855e+01, -2.69496357e+01],
[ -1.02068255e+00, 7.30313186e-01],
[ -1.62509168e+01, 4.15972532e+00],
[ -1.09794938e+02, -9.65724027e+01],
[ -2.74283590e+01, 3.48318182e+01],
[ -2.33110475e+01, 6.97218478e-01],
[ -1.02020490e+02, -1.67333025e+02],
[ -1.39426087e+01, -1.09100612e+00],
[ -2.60368372e+01, -8.36473949e+01],
[ 9.81440937e+00, 2.92561144e+01],
[ 5.89424151e+00, 1.00023359e+02],
[ -8.61983724e-02, 4.47903337e+01],
[ 1.87660661e+00, -7.09117993e+00],
[ -1.17850799e+01, -2.91901223e+01],
[ -5.86930244e+01, -9.58512106e+01],
[ 2.30075386e+01, -1.11010098e+01],
[ -3.03350323e+01, -1.10269632e+02],
[ -2.78914017e+01, -2.84443958e+01],
[ -6.11206778e+01, -1.27400129e+02],
[ 5.30261462e+00, 4.21395803e+01],
[ 1.11355361e+01, 3.02636514e+01],
[ -1.84942325e+01, 5.92079650e+01],
[ 2.37351349e+01, -4.29730519e+00],
[ 3.24190136e+00, 8.89430664e+00],
[ -6.38447325e+01, -1.04496155e+02],
[ -1.20560136e+01, 3.23104485e+01],
[ -6.24963346e+01, -1.24244167e+02],
[ 4.19984525e+00, -3.87090056e+01],
[ -2.13534122e+01, -9.14227926e+01],
[ 1.32873337e+01, -2.59778589e+01],
[ 4.27924777e+01, 9.55570218e+01],
[ 4.50017405e+00, 5.28235897e+01],
[ 3.84957139e+01, -1.23396643e+01],
[ 2.08096011e+01, -3.34510316e+00],
[ -3.23603927e+01, -6.58802466e+01],
[ -2.11759890e+00, -2.61211872e+01],
[ -5.96684490e+01, -1.07042049e+02],
[ 2.86410098e+01, 8.63905834e+01],
[ 1.89509600e+01, 1.03480382e+02],
[ 4.62316394e+01, 3.04975726e+01],
[ 8.13685333e+00, 1.07695160e+02],
[ 2.10333794e+01, 5.09745103e+00],
[ -8.99379690e+01, -8.19491265e+01],
[ 3.71873034e+00, -2.40208941e+01],
[ -3.88326001e+01, -4.59935959e+01],
[ 3.59776912e+00, -1.06760541e+01],
[ 2.14373409e+01, 1.00459106e+01],
[ -1.13276739e+02, -1.61110999e+02],
[ -2.94240817e+01, 3.85438299e-01],
[ -3.02082229e+01, -1.16478915e+01],
[ -5.91888925e+01, -1.14618584e+02],
[ 2.04874676e+00, 7.29056258e+01],
[ -8.38997565e+01, -1.46949848e+02],
[ -2.81931712e+01, 4.75959194e+00],
[ -2.42574566e+01, 1.98573934e+01],
[ -3.10254229e+01, 1.00039230e+01],
[ -8.45190335e+00, -3.49042074e+00],
[ 2.43500235e+00, 1.47538714e+01],
[ -4.22615291e+01, -6.47293437e+01],
[ 1.60130488e+01, 3.98840766e+01],
[ -1.70137881e+01, -1.46011542e+01],
[ -6.95329283e+01, -1.07383528e+02],
[ 5.01063077e+00, 2.90637208e+01],
[ 1.28549056e+01, 4.93922005e+01],
[ -4.22151043e+01, -1.24111692e+02],
[ -7.30595037e+00, -1.05682393e+02],
[ 6.61752813e+01, 1.55104413e+01],
[ -4.69710721e+01, -1.16508404e+02],
[ -2.92513672e+01, -1.03086823e+02],
[ 6.79835527e+01, -4.95196983e+01],
[ -9.12793256e+00, 4.52375291e+01],
[ 1.86699770e+01, 4.23704359e+01],
[ 4.65315672e+00, 3.36462224e+01],
[ -1.70527305e+00, -4.43716477e+01],
[ -4.09513899e+01, -4.34374086e+01],
[ -2.39425139e+01, -8.99868988e+01],
[ 1.41920097e+01, 7.47563089e+01],
[ 3.28885334e+00, 6.20549683e+00],
[ -1.62013914e+01, -9.11653546e+01],
[ 4.33148322e+01, 1.04535799e+02],
[ 1.18563813e+01, 5.06510932e+00],
[ 3.13453758e+01, -1.03596478e-01],
[ -7.80898897e+00, 1.19724085e+01],
[ 1.13588975e+00, -2.10380376e+01],
[ -8.61649851e+00, 5.20725350e-02],
[ -8.37792732e+01, -1.27493762e+02],
[ -1.40136562e+01, 5.56307170e+00],
[ 5.01643392e+01, 3.89728166e+01],
[ -1.75799984e+01, -9.43101474e+01],
[ -1.97685070e+01, 1.21174929e+01],
[ -4.99079577e+01, -1.37843813e+02],
[ 4.59507291e+01, -4.33159058e+00],
[ -4.81335395e+01, -9.71516753e+01],
[ -7.95860423e+01, -1.45605312e+02],
[ -5.63073799e+01, -1.11104781e+02],
[ -1.14013231e+01, -2.07468168e+01],
[ -6.51549446e+01, -6.02160843e+01],
[ -3.22884230e+01, -1.27575386e+01],
[ -2.14840960e+01, 3.34585188e+01],
[ -3.40604979e+01, -5.42359221e+01],
[ 2.83988827e+01, 2.19223415e+01],
[ -2.65791059e+01, -8.72688840e+01],
[ -4.58395022e+01, -8.58653220e+01],
[ 1.29050690e+01, -1.17264833e+01],
[ -1.79194610e+01, -1.81833120e+01],
[ 1.08329885e+01, 1.07297615e+02],
[ -3.29719466e+01, -8.35562262e+01],
[ -7.13811586e+00, 6.65657450e+01],
[ -3.70644598e+01, -9.63884610e+01],
[ 1.14902184e+01, 5.11819963e+01],
[ -7.44506687e+01, -9.67282356e+01],
[ 2.24428771e+01, -1.40734247e+01],
[ 3.56235567e+01, 1.24101909e+02],
[ 1.06146795e+01, -4.82338157e+01],
[ 1.72794340e+01, -3.72535334e+01],
[ 1.95171344e+01, 2.06207856e+00],
[ 3.45760251e+01, 7.45998084e+01],
[ -1.29882524e+01, -7.12422132e+00],
[ 1.83066291e+00, 3.94781729e+01],
[ -3.60745046e+01, 1.67214689e+01],
[ 1.97720481e+01, 1.06250453e+02],
[ 2.38995668e+01, 1.15619988e+02],
[ -7.44068376e+00, -9.76421452e+01],
[ -1.70107436e+01, -4.71864433e+01],
[ -4.33654787e+01, -6.03405762e+01],
[ 6.29134570e+00, 2.92820162e+01],
[ -6.67959349e+01, -3.25384589e+01],
[ -1.22547324e+01, 2.24985191e+00],
[ -7.24926486e+01, -9.83363996e+01],
[ -1.67705798e+01, -5.63257327e+00],
[ 5.74682317e+00, 2.56004831e+01],
[ -2.14658437e+01, -7.62548436e+00],
[ -8.21480827e+00, 1.52086562e+01],
[ -1.68582518e+01, 3.94209437e+00],
[ -4.53258620e+01, -6.88811944e+01],
[ 4.67147707e+01, 7.58368848e+01],
[ -2.76875684e+01, -4.22800933e+01],
[ 4.68635548e+00, 6.46423610e+01],
[ -6.65319390e+01, -5.03562371e+00],
[ -7.52282762e+01, -4.82734357e+01],
[ 2.77459217e+01, 2.23751331e+01],
[ -1.78900451e+01, -1.92289936e+01],
[ -8.50657221e+00, -5.54672664e+01],
[ -1.90284131e+01, -3.83828281e+00],
[ -6.68680226e+01, -8.49107343e+01],
[ 5.81123202e+01, 7.58420176e+01],
[ -2.92480631e+01, 5.30968645e+01],
[ 5.14500923e+00, 5.97181753e+01],
[ 1.23527305e+01, 1.82361569e+01],
[ -1.22010998e+01, 3.17718673e+01],
[ -1.92160784e+01, 3.37933300e+01],
[ -1.62361953e+01, -1.13038374e+01],
[ -1.93831045e+01, -3.51471836e+01],
[ -1.82374046e+01, -1.15015381e+01],
[ -5.99462302e+01, -8.16171720e+01],
[ 8.70188638e+01, 9.88312397e+01],
[ -1.35494444e+00, 5.81828540e+00],
[ 3.68754002e+01, 2.66397190e+01],
[ -1.83167129e+01, -7.06388290e+00],
[ -6.43374489e+00, 5.12500565e+01],
[ -5.81508440e+01, -1.12278824e+02],
[ -1.06748554e+01, -2.54180684e+00],
[ -8.12527644e+01, -8.65721040e+01],
[ -6.35012080e+00, 7.01628287e-01],
[ -5.62022407e+01, -6.33273583e-01],
[ -1.36783937e+01, 5.60405924e+01],
[ -5.24387880e+01, 1.95795813e+01],
[ -3.47479695e+01, -3.62846348e+01],
[ -2.12123906e+01, -4.09178370e+01],
[ -6.61846626e+01, -6.56800263e+01],
[ -8.18225964e+01, -4.04273892e+01],
[ -2.69103519e+01, -3.69885750e+01],
[ 8.95608625e+01, 4.52457367e+01],
[ 5.01260958e+01, 7.02252585e+01],
[ 1.94484652e+00, 3.84813753e+00],
[ -4.28872361e+01, -3.20589920e+01],
[ -8.98564239e+01, -8.23745469e+01],
[ 2.98895928e+00, -6.91559878e+00],
[ -2.77333725e+01, -2.96273702e+01],
[ -3.77593476e+01, 2.27121819e+01],
[ -2.79891153e+01, -2.05309095e+01],
[ -3.57432734e+01, -2.50527766e+01],
[ -5.70882986e+01, -3.64720080e+00],
[ -5.46994736e+01, -2.63330874e+01],
[ -5.07665137e+01, -3.39588190e+01],
[ -2.87982268e+01, -1.17080609e+01],
[ -3.04189882e+01, -1.04789375e-01],
[ -4.45084656e+01, -1.30849337e+02],
[ -3.04406065e+01, -7.81328306e+00],
[ -9.63503569e+00, 8.99003473e+00],
[ -7.60431946e+01, -6.25971896e+01],
[ -5.77468535e+01, -1.03657968e+02],
[ -5.09229171e+01, -1.75123141e+00],
[ -8.81622294e+01, -9.91135656e+01],
[ -8.70472247e+01, -8.48220083e+01],
[ 7.23969500e+01, 7.14964319e+01],
[ 2.35059210e+01, 5.20683432e+01],
[ -4.42381392e+00, 4.54559952e+01],
[ 1.02718054e+01, 7.23534434e+01],
[ 1.07252450e+02, 9.06331944e+01],
[ -7.57130290e+00, 1.79457873e+01],
[ 1.08843815e+01, 4.55904383e+01],
[ 1.47778746e+01, 6.75029672e+01],
[ -1.66796790e+01, 9.49962510e-01],
[ 5.50620403e+00, 3.02944433e+01],
[ 7.20168767e+00, 6.38510782e+00],
[ -4.27170093e+01, -1.81727727e+01],
[ -3.98313240e+01, -1.03686979e+01],
[ -4.09126168e+01, -2.66002747e+01],
[ -5.44307995e+01, -4.02548763e+01],
[ 8.86048329e-01, -4.06978644e+00],
[ -1.99943640e+01, -1.46541117e+01],
[ -1.76822311e+00, -1.32123577e+01],
[ -1.60374910e+01, 3.14149513e+01],
[ -7.90536629e+01, -8.13677465e+01],
[ -6.25636662e+01, -2.04243149e+01],
[ -3.07229004e+01, -6.38533461e+01],
[ 4.13415973e+00, -4.47442583e+01],
[ 5.45096701e+01, 7.65868818e+01],
[ 5.64490611e+00, 5.15878010e+01],
[ -7.81343451e+01, -1.19390776e+02],
[ 9.67893980e-01, 4.96521825e-01],
[ -7.95078824e+01, -8.77522397e+01],
[ -8.88050364e+00, 7.61399652e+00],
[ 1.36551847e+01, 4.49722410e+01],
[ 2.05569675e+01, -4.96169424e-01],
[ -8.40852418e+00, 8.34359180e+01],
[ -2.53260780e+01, -2.19572443e+01],
[ 6.68057229e+01, 1.29067680e+01],
[ -5.95429103e+01, -5.83588676e+01],
[ 6.03947767e+00, 2.23981665e+00],
[ 3.05547694e+01, 7.80232233e+01],
[ -2.90871255e+01, -3.28070157e+01],
[ -1.96019663e+01, -3.09834307e+01],
[ -7.56966288e+01, -9.37226632e+01],
[ 7.55566996e+00, 4.87836740e+01],
[ 7.17808733e+00, 3.14558368e+01],
[ 1.91970435e+01, 4.21492914e+01],
[ 6.28322181e+01, 9.02204533e+01],
[ 2.41713835e+01, -6.17648856e+01],
[ 6.48185757e-02, 8.84676806e+00],
[ 6.43091465e+01, 3.16220589e+01],
[ 6.49845895e+01, 7.46283260e+01],
[ -1.01311383e+01, -4.02404004e+01],
[ -3.47273942e+01, -3.86795846e+01],
[ -3.97845352e+01, -5.16338892e+01],
[ -2.04241652e+01, -6.08776492e+00],
[ -8.55999267e+00, -1.47520846e+01],
[ -4.01986956e+01, -3.61239276e+01],
[ 6.56516557e+00, -2.80343757e+01],
[ -3.68203129e+01, -3.30406179e+00],
[ -3.37768274e+01, 7.23352435e+01],
[ 9.22294238e+01, 7.58326191e+01],
[ -3.83840301e+01, -5.06163863e+01],
[ -5.02349714e+01, -5.40857580e+01],
[ 3.41336971e+01, 4.69431523e+01],
[ -5.59742244e+01, -5.01394710e+01],
[ -5.31908748e+00, 5.25630642e+00],
[ -7.80575099e+00, 3.79530078e+01],
[ -1.04556169e+01, 3.02720639e+01],
[ -6.27465605e+01, -1.04291658e+02],
[ -2.72709256e+01, -5.33931281e+01],
[ -8.40066689e+01, -1.39477435e+02],
[ 2.94920941e+01, 2.38451717e+01],
[ -8.35476449e+01, -1.17860252e+02],
[ 4.78892016e+01, -6.10016960e+01],
[ -2.33176748e+00, -1.80794834e+01],
[ 8.44724036e+00, 7.15162661e+01],
[ -1.00558137e+01, 2.55515640e+01],
[ -2.82893495e+01, -2.83655772e+01],
[ -7.67813929e+01, -1.09117481e+02],
[ -3.48570217e+01, -3.98137167e+01],
[ -3.06506335e+01, -4.85179886e+01],
[ 3.33286658e+01, 7.90402342e+00],
[ -4.08781971e+01, -8.06524680e+01],
[ 6.75910599e+01, 7.32196740e-01],
[ 4.30770356e+00, 6.71375282e+01],
[ 1.11383196e+01, 3.13151668e+01],
[ -1.64789427e+01, 4.13270737e+01],
[ -4.40333721e+00, -2.43450997e+00],
[ -7.30087922e+01, -3.49975128e+01],
[ 4.70338583e+00, 9.70990830e+00],
[ -6.14831728e+01, -8.37006414e+01],
[ 2.60937085e+01, 2.42384206e+01],
[ -3.41030987e+01, -9.73633227e+01],
[ 5.18392864e+01, -3.32843904e+01],
[ 3.33150907e+00, 4.07423623e+01],
[ -3.39021336e+01, 4.30057892e+01],
[ -7.37786723e+00, 5.85820770e+01],
[ -8.08320564e+00, 9.99704826e+00],
[ -9.57716833e+01, -5.02748209e+01],
[ 1.98493432e+01, 3.43659805e+00],
[ -8.06321677e+01, -5.15373140e+01],
[ -8.89422510e+00, -5.66990103e+01],
[ -5.96856293e+00, 2.54494038e+01],
[ -1.47125858e+01, 3.57880640e+01],
[ -3.63115424e+01, -1.03219039e+02],
[ -3.38550029e+00, -4.69118254e+01],
[ -6.88082782e+01, -2.28367243e+01],
[ -4.23159829e+01, -1.34189218e+01],
[ -7.61244904e+01, -6.45903097e+01],
[ -9.49717732e+00, -2.10083125e+01],
[ 2.51545777e+01, 2.17442525e+01],
[ -5.42322563e+01, -1.01434343e+02],
[ -1.78060336e+01, 2.31292504e+01],
[ -2.37854214e+01, 3.16078768e+01],
[ -9.44838801e+01, -9.87571871e+01],
[ -1.82232828e+01, 3.35791249e+01],
[ -3.65191925e+01, -6.39902052e+01],
[ -1.80492481e+01, 5.93612473e+00],
[ -1.72214094e+01, 1.33129351e+01],
[ 5.07161780e+01, -2.03423271e+01],
[ 2.97304659e+01, -2.84394705e+01],
[ -8.26279515e+00, 4.10961450e+01],
[ -3.56409044e+01, -5.90879486e+01],
[ 2.71355895e+01, -2.00927291e+01],
[ -3.46939628e+01, -4.62152025e+01],
[ 2.69927631e+01, -2.27732773e+00],
[ 3.68552111e+01, -1.76153702e+00],
[ -8.96481127e+00, 1.06568193e+01],
[ -7.96404323e+01, -9.92250393e+01],
[ -6.61439930e+01, -5.34088378e+01],
[ -3.39365984e+01, 2.90194480e+01],
[ -4.53618406e+01, -7.57534719e+01],
[ -4.23714214e+01, -6.17151410e+01],
[ 6.57113459e+01, -1.41148903e+01],
[ -2.77083818e+01, 4.58005570e+01],
[ 7.35482599e+00, 4.11110595e+01],
[ -2.26585846e+01, 5.42164443e+01],
[ 3.70196441e+01, -4.06798560e+01],
[ -7.52238760e+01, -7.87949202e+01],
[ -7.44148416e+01, -9.06192160e+01],
[ -4.09447868e+01, -7.30779333e+01],
[ -5.48753870e+00, -1.42526435e+01],
[ -7.15579178e+01, -2.64281591e+01],
[ -2.62553494e+01, 1.79822315e+01],
[ 4.60600080e+01, -7.65606223e+00],
[ -5.92189812e+01, -7.52374321e+01],
[ 1.37601144e+01, 4.49603667e+00],
[ -3.31360542e+01, -3.47472848e+01],
[ -3.04873481e+01, -2.52848500e+00],
[ -3.42548958e+01, -2.42141622e+01],
[ -2.14325975e+01, 3.72191260e+01],
[ 1.60822062e+00, 4.46251463e+01],
[ -4.90627549e+01, -8.02949005e+01],
[ -1.29401460e-01, 2.01844132e+01],
[ -2.81861514e+01, -5.95892881e+00],
[ -8.21135427e+00, 1.12484573e+01],
[ 5.70809730e+00, -5.93851479e+01],
[ -2.94744183e+01, 3.62889331e+01],
[ -3.46236374e+01, -4.32383028e+01],
[ -4.36520564e+01, -7.77582520e+01],
[ -4.69603659e+01, -7.46796979e+01],
[ -6.25903542e+01, -2.74598921e+01],
[ -7.49744295e+01, -6.66595136e+01],
[ 1.77290619e+01, 2.01632692e+01],
[ -3.21693498e+01, 2.53795455e+01],
[ -5.05337477e+00, -1.07238108e+01],
[ 6.96548703e+01, -2.10307924e+01],
[ -5.29945555e+01, -6.00678736e+01],
[ -6.19364252e+01, -6.06278698e+01],
[ 5.01120807e+01, -2.73801478e-01],
[ -1.37761998e+01, -3.86256931e+01],
[ 2.35729462e+01, 2.52171607e+00],
[ -2.41767160e+01, -8.66087384e+01],
[ -1.15151537e+01, 5.28877582e+01],
[ -6.06707943e+01, 2.76723225e-01],
[ 3.60641426e+00, 7.54529218e+01],
[ -6.55384683e+01, -9.06634358e+01],
[ -2.07628477e+01, 3.98144772e+01],
[ -3.88858674e+01, 1.30983966e+01],
[ -2.43383945e+01, -5.80040245e+01],
[ 3.59298559e+01, -3.68331211e+01],
[ -1.34045974e+01, 3.89178550e+01],
[ -2.88383257e+00, 1.58036871e+01]])
In [51]:
def objective(A,X,Y):
assert(X.shape[1]==A.shape[0])
X_ = X.dot(A)
P_ = stoch_neighbor_assignments(X_)
#p_ = correct_classification_prob(P_,Y)
#correct_class_expectation_ = sum(p_) / len(p_)
#return correct_class_expectation_
return exp_class_accuracy_vectorized(P_,Y)
In [52]:
A = npr.randn(64,2)
In [53]:
objective(A,X,Y)
Out[53]:
0.29509658631114022
In [54]:
plt.scatter(X.dot(A)[:,0],X.dot(A)[:,1],c=Y)
Out[54]:
<matplotlib.collections.PathCollection at 0x10bb4df10>
In [55]:
%timeit objective(A,X,Y)
100 loops, best of 3: 9.05 ms per loop
In [56]:
%prun objective(A,X,Y)
In [276]:
# for large inputs, use ball-trees instead of computing the full P_ij matrix
In [57]:
# construct a function we can pass to scipy optimize
def objective_vec(A):
A_ = np.reshape(A,(X.shape[1],2))
return objective(A_,X,Y)
In [58]:
A = npr.randn(X.shape[1]*2)
A_ = np.reshape(A,(X.shape[1],2))
A_.shape
Out[58]:
(64, 2)
In [59]:
objective_vec(npr.randn(64*2))
/Users/joshuafass/anaconda/envs/py27/lib/python2.7/site-packages/IPython/kernel/__main__.py:5: RuntimeWarning: invalid value encountered in divide
Out[59]:
0.37512276719190729
In [ ]:
In [303]:
from scipy.optimize import minimize,basinhopping
In [296]:
A_init = pca.components_.T
A_init.shape
Out[296]:
(64, 2)
In [298]:
objective(A_init,X,Y)
Out[298]:
0.58038054627365865
In [299]:
A_init_vec = np.reshape(A_init,np.prod(A_init.shape))
In [301]:
obj_min = lambda A:-objective_vec(A)
In [306]:
obj_min(A_init_vec)
Out[306]:
-0.58038054627365865
In [307]:
res = minimize(obj_min,A_init_vec,options={'maxiter':2,'disp':True})
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-307-14b235d5df2a> in <module>()
----> 1 res = minimize(obj_min,A_init_vec,options={'maxiter':2,'disp':True})
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/_minimize.py in minimize(fun, x0, args, method, jac, hess, hessp, bounds, constraints, tol, callback, options)
417 return _minimize_cg(fun, x0, args, jac, callback, **options)
418 elif meth == 'bfgs':
--> 419 return _minimize_bfgs(fun, x0, args, jac, callback, **options)
420 elif meth == 'newton-cg':
421 return _minimize_newtoncg(fun, x0, args, jac, hess, hessp, callback,
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in _minimize_bfgs(fun, x0, args, jac, callback, gtol, norm, eps, maxiter, disp, return_all, **unknown_options)
853 alpha_k, fc, gc, old_fval, old_old_fval, gfkp1 = \
854 _line_search_wolfe12(f, myfprime, xk, pk, gfk,
--> 855 old_fval, old_old_fval)
856 except _LineSearchError:
857 # Line search failed to find a better solution.
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in _line_search_wolfe12(f, fprime, xk, pk, gfk, old_fval, old_old_fval, **kwargs)
688 ret = line_search_wolfe1(f, fprime, xk, pk, gfk,
689 old_fval, old_old_fval,
--> 690 **kwargs)
691
692 if ret[0] is None:
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/linesearch.py in line_search_wolfe1(f, fprime, xk, pk, gfk, old_fval, old_old_fval, args, c1, c2, amax, amin, xtol)
94 stp, fval, old_fval = scalar_search_wolfe1(
95 phi, derphi, old_fval, old_old_fval, derphi0,
---> 96 c1=c1, c2=c2, amax=amax, amin=amin, xtol=xtol)
97
98 return stp, fc[0], gc[0], fval, old_fval, gval[0]
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/linesearch.py in scalar_search_wolfe1(phi, derphi, phi0, old_phi0, derphi0, c1, c2, amax, amin, xtol)
166 alpha1 = stp
167 phi1 = phi(stp)
--> 168 derphi1 = derphi(stp)
169 else:
170 break
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/linesearch.py in derphi(s)
83
84 def derphi(s):
---> 85 gval[0] = fprime(xk + s*pk, *newargs)
86 if gradient:
87 gc[0] += 1
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in function_wrapper(*wrapper_args)
280 def function_wrapper(*wrapper_args):
281 ncalls[0] += 1
--> 282 return function(*(wrapper_args + args))
283
284 return ncalls, function_wrapper
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in approx_fprime(xk, f, epsilon, *args)
614
615 """
--> 616 return _approx_fprime_helper(xk, f, epsilon, args=args)
617
618
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in _approx_fprime_helper(xk, f, epsilon, args, f0)
554 ei[k] = 1.0
555 d = epsilon * ei
--> 556 grad[k] = (f(*((xk + d,) + args)) - f0) / d[k]
557 ei[k] = 0.0
558 return grad
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in function_wrapper(*wrapper_args)
280 def function_wrapper(*wrapper_args):
281 ncalls[0] += 1
--> 282 return function(*(wrapper_args + args))
283
284 return ncalls, function_wrapper
<ipython-input-301-1883b3e6bc6a> in <lambda>(A)
----> 1 obj_min = lambda A:-objective_vec(A)
<ipython-input-283-7f8acf3b6a29> in objective_vec(A)
2 def objective_vec(A):
3 A_ = np.reshape(A,(X.shape[1],2))
----> 4 return objective(A_,X,Y)
<ipython-input-272-4acce4b08f9c> in objective(A, X, Y)
2 assert(X.shape[1]==A.shape[0])
3 X_ = X.dot(A)
----> 4 P_ = stoch_neighbor_assignments(X_)
5 #p_ = correct_classification_prob(P_,Y)
6 #correct_class_expectation_ = sum(p_) / len(p_)
<ipython-input-144-a4200001157f> in stoch_neighbor_assignments(X)
1 # stochastic neighbor assignments
2 def stoch_neighbor_assignments(X):
----> 3 P = squareform(np.exp(-(pdist(X)**2)))
4 P -= np.diag(P)
5 return np.nan_to_num(P/P.sum(1)) # columns sum to 1
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/spatial/distance.py in pdist(X, metric, p, w, V, VI)
1219 # TypeError('A double array must be passed.')
1220 if mstr in set(['euclidean', 'euclid', 'eu', 'e']):
-> 1221 _distance_wrap.pdist_euclidean_wrap(_convert_to_double(X), dm)
1222 elif mstr in set(['sqeuclidean', 'sqe', 'sqeuclid']):
1223 _distance_wrap.pdist_sqeuclidean_wrap(_convert_to_double(X), dm)
KeyboardInterrupt:
In [310]:
def gradient(func,x0,h=0.001):
x0 = np.array(x0)#,dtype=float)
y = func(x0)
deriv = np.zeros(len(x0))
for i in range(len(x0)):
x = np.array(x0)
x[i] += h
deriv[i] = (func(x) - y)/h
return deriv
In [311]:
%timeit obj_min(A_init_vec)
1 loops, best of 3: 167 ms per loop
In [312]:
len(A_init_vec)
Out[312]:
128
In [313]:
gradient(obj_min,A_init_vec)
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-313-6c7e032d8459> in <module>()
----> 1 gradient(obj_min,A_init_vec)
<ipython-input-310-0b13708518ed> in gradient(func, x0, h)
6 x = np.array(x0)
7 x[i] += h
----> 8 deriv[i] = (func(x) - y)/h
9 return deriv
<ipython-input-301-1883b3e6bc6a> in <lambda>(A)
----> 1 obj_min = lambda A:-objective_vec(A)
<ipython-input-283-7f8acf3b6a29> in objective_vec(A)
2 def objective_vec(A):
3 A_ = np.reshape(A,(X.shape[1],2))
----> 4 return objective(A_,X,Y)
<ipython-input-272-4acce4b08f9c> in objective(A, X, Y)
2 assert(X.shape[1]==A.shape[0])
3 X_ = X.dot(A)
----> 4 P_ = stoch_neighbor_assignments(X_)
5 #p_ = correct_classification_prob(P_,Y)
6 #correct_class_expectation_ = sum(p_) / len(p_)
KeyboardInterrupt:
In [ ]:
def obj_grad(A,X,Y)
In [ ]:
def gradient(A,X,Y):
X_ = X.dot(A)
P_ = stoch_neighbor_assignments(X_)
s = 0
for i in range(len(X_)):
s+=
return
In [302]:
res = basinhopping(obj_min,A_init_vec,disp=True)
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-302-b4ecb7578def> in <module>()
----> 1 res = basinhopping(obj_min,A_init_vec,disp=True)
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/_basinhopping.py in basinhopping(func, x0, niter, T, stepsize, minimizer_kwargs, take_step, accept_test, callback, interval, disp, niter_success)
604
605 bh = BasinHoppingRunner(x0, wrapped_minimizer, take_step_wrapped,
--> 606 accept_tests, disp=disp)
607
608 # start main iteration loop
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/_basinhopping.py in __init__(self, x0, minimizer, step_taking, accept_tests, disp)
70
71 # do initial minimization
---> 72 minres = minimizer(self.x)
73 if not minres.success:
74 self.res.minimization_failures += 1
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/_basinhopping.py in __call__(self, x0)
277 return self.minimizer(x0, **self.kwargs)
278 else:
--> 279 return self.minimizer(self.func, x0, **self.kwargs)
280
281
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/_minimize.py in minimize(fun, x0, args, method, jac, hess, hessp, bounds, constraints, tol, callback, options)
417 return _minimize_cg(fun, x0, args, jac, callback, **options)
418 elif meth == 'bfgs':
--> 419 return _minimize_bfgs(fun, x0, args, jac, callback, **options)
420 elif meth == 'newton-cg':
421 return _minimize_newtoncg(fun, x0, args, jac, hess, hessp, callback,
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in _minimize_bfgs(fun, x0, args, jac, callback, gtol, norm, eps, maxiter, disp, return_all, **unknown_options)
853 alpha_k, fc, gc, old_fval, old_old_fval, gfkp1 = \
854 _line_search_wolfe12(f, myfprime, xk, pk, gfk,
--> 855 old_fval, old_old_fval)
856 except _LineSearchError:
857 # Line search failed to find a better solution.
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in _line_search_wolfe12(f, fprime, xk, pk, gfk, old_fval, old_old_fval, **kwargs)
688 ret = line_search_wolfe1(f, fprime, xk, pk, gfk,
689 old_fval, old_old_fval,
--> 690 **kwargs)
691
692 if ret[0] is None:
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/linesearch.py in line_search_wolfe1(f, fprime, xk, pk, gfk, old_fval, old_old_fval, args, c1, c2, amax, amin, xtol)
94 stp, fval, old_fval = scalar_search_wolfe1(
95 phi, derphi, old_fval, old_old_fval, derphi0,
---> 96 c1=c1, c2=c2, amax=amax, amin=amin, xtol=xtol)
97
98 return stp, fc[0], gc[0], fval, old_fval, gval[0]
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/linesearch.py in scalar_search_wolfe1(phi, derphi, phi0, old_phi0, derphi0, c1, c2, amax, amin, xtol)
166 alpha1 = stp
167 phi1 = phi(stp)
--> 168 derphi1 = derphi(stp)
169 else:
170 break
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/linesearch.py in derphi(s)
83
84 def derphi(s):
---> 85 gval[0] = fprime(xk + s*pk, *newargs)
86 if gradient:
87 gc[0] += 1
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in function_wrapper(*wrapper_args)
280 def function_wrapper(*wrapper_args):
281 ncalls[0] += 1
--> 282 return function(*(wrapper_args + args))
283
284 return ncalls, function_wrapper
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in approx_fprime(xk, f, epsilon, *args)
614
615 """
--> 616 return _approx_fprime_helper(xk, f, epsilon, args=args)
617
618
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in _approx_fprime_helper(xk, f, epsilon, args, f0)
554 ei[k] = 1.0
555 d = epsilon * ei
--> 556 grad[k] = (f(*((xk + d,) + args)) - f0) / d[k]
557 ei[k] = 0.0
558 return grad
/Users/joshuafass/anaconda/lib/python3.4/site-packages/scipy/optimize/optimize.py in function_wrapper(*wrapper_args)
280 def function_wrapper(*wrapper_args):
281 ncalls[0] += 1
--> 282 return function(*(wrapper_args + args))
283
284 return ncalls, function_wrapper
<ipython-input-301-1883b3e6bc6a> in <lambda>(A)
----> 1 obj_min = lambda A:-objective_vec(A)
<ipython-input-283-7f8acf3b6a29> in objective_vec(A)
2 def objective_vec(A):
3 A_ = np.reshape(A,(X.shape[1],2))
----> 4 return objective(A_,X,Y)
<ipython-input-272-4acce4b08f9c> in objective(A, X, Y)
2 assert(X.shape[1]==A.shape[0])
3 X_ = X.dot(A)
----> 4 P_ = stoch_neighbor_assignments(X_)
5 #p_ = correct_classification_prob(P_,Y)
6 #correct_class_expectation_ = sum(p_) / len(p_)
<ipython-input-144-a4200001157f> in stoch_neighbor_assignments(X)
2 def stoch_neighbor_assignments(X):
3 P = squareform(np.exp(-(pdist(X)**2)))
----> 4 P -= np.diag(P)
5 return np.nan_to_num(P/P.sum(1)) # columns sum to 1
KeyboardInterrupt:
In [308]:
from scipy.optimize import minimize, rosen, rosen_der
In [309]:
x0 = [1.3, 0.7, 0.8, 1.9, 1.2]
res = minimize(rosen, x0, method='Nelder-Mead')
res.x
Out[309]:
array([ 0.99910115, 0.99820923, 0.99646346, 0.99297555, 0.98600385])
In [63]:
from autograd import grad
import autograd.numpy as np
In [64]:
grad(objective_vec)(npr.randn(64*2))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-64-c9f5181bb145> in <module>()
----> 1 grad(objective_vec)(npr.randn(64*2))
/Users/joshuafass/anaconda/envs/py27/lib/python2.7/site-packages/autograd/core.pyc in gradfun(*args, **kwargs)
13 the same type as the argument."""
14 def gradfun(*args,**kwargs):
---> 15 return backward_pass(*forward_pass(fun,args,kwargs,argnum))
16
17 try:
/Users/joshuafass/anaconda/envs/py27/lib/python2.7/site-packages/autograd/core.pyc in forward_pass(fun, args, kwargs, argnum)
31 args = list(args)
32 args[argnum] = merge_tapes(start_node, arg_wrt)
---> 33 end_node = fun(*args, **kwargs)
34 return start_node, end_node, tape
35
<ipython-input-57-7f8acf3b6a29> in objective_vec(A)
2 def objective_vec(A):
3 A_ = np.reshape(A,(X.shape[1],2))
----> 4 return objective(A_,X,Y)
<ipython-input-51-4acce4b08f9c> in objective(A, X, Y)
2 assert(X.shape[1]==A.shape[0])
3 X_ = X.dot(A)
----> 4 P_ = stoch_neighbor_assignments(X_)
5 #p_ = correct_classification_prob(P_,Y)
6 #correct_class_expectation_ = sum(p_) / len(p_)
<ipython-input-11-a4200001157f> in stoch_neighbor_assignments(X)
1 # stochastic neighbor assignments
2 def stoch_neighbor_assignments(X):
----> 3 P = squareform(np.exp(-(pdist(X)**2)))
4 P -= np.diag(P)
5 return np.nan_to_num(P/P.sum(1)) # columns sum to 1
/Users/joshuafass/anaconda/envs/py27/lib/python2.7/site-packages/scipy/spatial/distance.pyc in pdist(X, metric, p, w, V, VI)
1176
1177 # The C code doesn't do striding.
-> 1178 [X] = _copy_arrays_if_base_present([_convert_to_double(X)])
1179
1180 s = X.shape
/Users/joshuafass/anaconda/envs/py27/lib/python2.7/site-packages/scipy/spatial/distance.pyc in _convert_to_double(X)
111 def _convert_to_double(X):
112 if X.dtype != np.double:
--> 113 X = X.astype(np.double)
114 if not X.flags.contiguous:
115 X = X.copy()
TypeError: float() argument must be a string or a number
In [ ]:
Content source: maxentile/msm-learn
Similar notebooks: