From: Jérôme Benoit Date: Wed, 14 Nov 2018 14:37:36 +0000 (+0100) Subject: Finish TP3 exo2. X-Git-Url: https://git.piment-noir.org/?p=TP_AA.git;a=commitdiff_plain;h=26fd2383c38aa862fd24bdfadf3ba219fa1cd4dd Finish TP3 exo2. Signed-off-by: Jérôme Benoit --- diff --git a/TP3/exo2/tp3_exo2.py b/TP3/exo2/tp3_exo2.py index b97c6ea..7ceadb1 100755 --- a/TP3/exo2/tp3_exo2.py +++ b/TP3/exo2/tp3_exo2.py @@ -112,7 +112,12 @@ def k1(X1, X2): + X1[0] * X1[1] * X2[0] * X2[1] + X1[1]**2 * X2[1]**2 -def kg(x, y, sigma=10): +def kg(x, y): + # sigma = 20 # do not converge + # sigma = 10 # do not converge + sigma = 1 + # sigma = 0.5 # overfitting + # sigma = 0.2 # overfitting return np.exp(-((x[0] - y[0])**2 + (x[1] - y[1])**2) / sigma**2) @@ -140,14 +145,16 @@ def f(w, x, y): pl.scatter(X[:, 0], X[:, 1], c=Y, s=training_set_size) -pl.title(u"Perceptron - hyperplan") +pl.title(u"Perceptron - prolontaged hyperplan") -coeffs, support_set = perceptron_k(X, Y, k1) -# coeffs, support_set = perceptron_k(X, Y, kg) +# k = k1 +# coeffs, support_set = perceptron_k(X, Y, k) +k = kg +coeffs, support_set = perceptron_k(X, Y, k) res = training_set_size for x in range(res): for y in range(res): - if abs(f_from_k(coeffs, support_set, k1, [-3 / 2 + 3 * x / res, -3 / 2 + 3 * y / res])) < 0.01: + if abs(f_from_k(coeffs, support_set, k, [-3 / 2 + 3 * x / res, -3 / 2 + 3 * y / res])) < 0.01: pl.plot(-3 / 2 + 3 * x / res, -3 / 2 + 3 * y / res, 'xr') # X = apply_plongement(X, plongement_phi)