“Mini Projet RSL
tags:: #compte_rendu🔖
date:: 2023-05-24
élément:: RSL
classe: 2GLT - EHTP - Pr H. EL HASSANI
”
Travail à rendre le 31/05/2023
1. Déroulement Général
DataSet Modèle fonction coût
critère d'arrêt
Modèle final
paramètres
apprentissage
amélioration
algorithme d'apprentissage
2. Dataset (X, y) : fichier X1X2Y.mat
soit un dataset m exemples et 2 variable x.
(1) (1)
⎛x x ⎞
1 2
⋮ ⋮
(1)
(m) (m)
⎝ ⎠
x x
1 2
(1)
⎛y ⎞
⋮
(2)
⎝ (m) ⎠
y
w1
W = ( ) (3)
w2
b (4)
DATASET
3. Modèle : model(X, W, b)
z = w1 x1 + w2 x2 + b (5)
1
a = (6)
−z
1 + e
En calcule la matrice Z puis on la passe dans la fonction d'activation pour obtenir la matrice A.
Z = X. W + b (7)
1
A = (8)
−Z
1 + e
4. Fonction Coût : log_loss(A, y)
m
1
L = − ∑ y × log(A) + (1 − y) × log(1 − A) (9)
m
i=1
5. Gradients(A, X, y)
donner les étapes de dérivation de L pour démontrer ces résultats :
6. Descente Du Gradient : Update(W, b, dW, db)
∂L
W = W − α (10)
∂W
∂L
b = b − α (11)
∂b
7. Sortie
sortie
tracer les résultats de l'évolution de la fonction cout et commenter.
Coding MATLAB - compléter le code
%% ***********************************************************************
%% classification par 1NN (un seul neurone)
%% ***********************************************************************
%% DATA
load X1X2Y.mat
% les points jaunes classe 1
% les points bleus classe 0
scatter(X1X2Y(:,1),X1X2Y(:,2),[],X1X2Y(:,3),'filled')
X = X1X2Y(:,1:2);
Y = X1X2Y(:,3);
learning_rate = 0.1;
n_iter = 1000;
%% learning
[Wfinal, bfinal] = neuron_1NN(X, Y, learning_rate, n_iter)
%% Frontiere de décision w1x1+w2x2+b=0
hold
x1 =
x2 =
plot(x1, x2)
%% prédiction d'un point par le modèle
point = [2,2.77];
scatter(point(1),point(2),'r','filled');
P = predict_1NN(point, Wfinal, bfinal)
Codeblock 1 ( language-matlab )
Fonctions
%% NEURON
function [W, b] = neuron_1NN(X, y, learning_rate, n_iter)
[W, b] = initialisation(X);
for c = 1:n_iter
A = MODEL_1NN(X, W, b);
[dW, db] = grad_1NN(A, X, y);
[W, b] = update_1NN(dW, db, W, b, learning_rate);
end
y_pred = predict_1NN(X, W, b);
end
Codeblock 2 ( language-matlab )
function [W,b] = initialisation(X)
end
Codeblock 3 ( language-matlab )
function A = MODEL_1NN(X,W,b)
end
Codeblock 4 ( language-matlab )
function [dW, db] = grad_1NN(A, X, y)
end
Codeblock 5 ( language-matlab )
function [W, b] = update_1NN(dW, db, W, b, learning_rate)
end
Codeblock 6 ( language-matlab )
function P = predict_1NN(X, W, b)
end
Codeblock 7 ( language-matlab )
Caution
envoyer un fichier word unique contenant le compte rendu, script(textes et non images), plots
des figures et commentaires : CR6_2GLT_NOM_PRENOM.word