From 26fd2383c38aa862fd24bdfadf3ba219fa1cd4dd Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Wed, 14 Nov 2018 15:37:36 +0100 Subject: [PATCH] Finish TP3 exo2. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- TP3/exo2/tp3_exo2.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) 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) -- 2.34.1