Menu de navigation ouvert
Fermer les suggestions
Recherche
Recherche
fr
Change Language
Changer de langue
Importer
Chargement...
Paramètres de l'utilisateur
close menu
Bienvenue sur Scribd !
Importer
Lisez gratuitement
FAQ et assistance
Langue (FR)
Se connecter
0 évaluation
0% ont trouvé ce document utile (0 vote)
27 vues
TP1RL
Transféré par
ikram mbr
Droits d'auteur :
© All Rights Reserved
Formats disponibles
Téléchargez
comme PDF ou lisez en ligne sur Scribd
Télécharger
Enregistrer
Enregistrer TP1RL pour plus tard
0%
0% ont trouvé ce document utile, undefined
0%
, undefined
Intégrer
Partager
Imprimer
Signaler
TP1RL
Transféré par
ikram mbr
0 évaluation
0% ont trouvé ce document utile (0 vote)
27 vues
7 pages
Informations du document
cliquez pour développer les informations du document
Copyright
© © All Rights Reserved
Formats disponibles
PDF ou lisez en ligne sur Scribd
Partager ce document
Partager ou intégrer le document
Options de partage
Partager sur Facebook, ouvre une nouvelle fenêtre
Facebook
Partager sur Twitter, ouvre une nouvelle fenêtre
Twitter
Partager sur LinkedIn, ouvre une nouvelle fenêtre
LinkedIn
Partage par courriel, ouvre le client de courriel
Courriel
Copier le lien
Copier le lien
Avez-vous trouvé ce document utile ?
0%
0% ont trouvé ce document utile, Marquez ce document comme utile
0%
0 % ont trouvé ce document inutile, Marquez ce document comme n'étant pas utile
Ce contenu est-il inapproprié ?
Signaler
Droits d'auteur :
© All Rights Reserved
Formats disponibles
Téléchargez
comme PDF ou lisez en ligne sur Scribd
Télécharger maintenant
Télécharger au format pdf
Enregistrer
Enregistrer TP1RL pour plus tard
0 évaluation
0% ont trouvé ce document utile (0 vote)
27 vues
7 pages
TP1RL
Transféré par
ikram mbr
Droits d'auteur :
© All Rights Reserved
Formats disponibles
Téléchargez
comme PDF ou lisez en ligne sur Scribd
Enregistrer
Enregistrer TP1RL pour plus tard
0%
0% ont trouvé ce document utile, undefined
0%
, undefined
Intégrer
Partager
Imprimer
Signaler
Télécharger maintenant
Télécharger au format pdf
Passer à la page
Vous êtes sur la page 1
sur 7
Rechercher à l'intérieur du document
USTHB, FGE, ELN Master 1 ESE TP Intelligence arti TP N°1: REGRESSION LINEAIRE Serer Définir le made de régrossion linéaire et expliquer son application Définir la fonction du cout et du gradient. Présentation des résultats sous forme graphiques et évaluation de modéle. Appliquer l’équation de régression a la prédiction. Présentation des résultats avec le module fitlm et comparaison avec la méthode normale. * Matlab * Liste de bases de dornées (ville txt et salaires.txt) * S'apporter votre PC. 1 Partie théorique 1.1 Descente du gradient Dans cette section, vous allez ajuster les parametres de régression linéaire 0 a notre base de données en utilisant la descente du gradient 1.2 Mise a jour des parametres du modéle Lrobjectif de la régression linéaire est de minimiser la fonction de cout 100) = 3 ¥ (he (x) —¥9)” 0) mt ou I’hypothese hip (x*) est donnee par le modele Inneaire ho (x) Ty = by + Ox Q) Rappelons que les parambtres de votre modale sont les valeurs @;. Ce sont les valeurs que vous allez ajuster pour minimiser le coat J (0). Une fagon de le faire est d’utiliser I’algorithme itératif de descente du gradient. Dans ect algorithme, a chaque itération exécute une mise a jour. wy (e) G8) 25 (hw (x0) yl) 9! (wae pour toute es) Une forme vectorielle de I’équation (3) eat donnée par : pe s= opt — x (xT (x of""—y)) @ Mr. E.Meftah 1 2022/2023USTHB, FGE, ELI Master 1 ESE TP Intelligence artificielle A chaque étape de la descerte du gradient, vos parameétres 6; se rapprochent de plus en plus des valeurs optimales qui permettront d’obtenir le coftt minimal J (@).. @) A qnoi sert la descente du gradient dans la régression linéaire? (Q2): Démontrez Véquation @), a dérivation de la fonction de coat dela régression linéaire. 2 Partie pratique Dans ce TP, vous allez implémenter la régression linéaire 4 une variable pour prédire les bénéfices dune chaine de restaurants traditionnels. Supposons que vous étes les gérants et que vous prévoyez @ouvrir un nouveau point de vente dans différentes villes. La chaine posséde déja de nombreux restaurants dans différentes villes et vous disposez de données sur les bénéfices et la population de ces villes. Le fichier ville.txt contient la base de données de notre probleme de régression linéaire. La premigre colonne est la population d’une ville et la seconde est le bénéiice dun restaurant dans cette ville. Une valeur négative indique une perte. 2.1 Affichage des données Avant de commencer une tache, il est souvent utile de comprendre les données en les visualisant Pour la base de données ville txt, vous pouvez utiliser un nuage de points afin de visualiser les don- nées, puisqu’ll n’y a que deux propriétés a représenter (le bénéfice et la population). (De nombreux problémes que vous rencont-erez dans la vie réelle sont multidimensionnels et ne peuvent pas étre représentés sur un graphique a deux dimensions). Dans TP1.m, la base de données est importée & partir du fichier de données sous forme de variables X ety. Wh Initialisation clear ; close all ; cle data = load(‘ville.txt'); % lire des donnees separees par des virgules X = data(:, 1); y = data(:, 2); m= length(y); % nomore d'exemples d'apprentissage plot(x, y, 'bo', 'MarkerSize', 11); % Affichez les donnees ylabel('Benefice en 10000$'); % Definir le label de l'axe des y xlabel('Population d2 la ville en 10 000 habitants'); % Definir le label de l'axe des x 2.2. Implémentation Dans TP1.m, nous avons déja configuré les données pour la régression linéaire. Dans les lignes ci- dessous, nous ajoutons une autre dimension a nos données pour tenir compte du terme d’intercep- tion @). Nous initialisons également les paramétres initiaux a 0 et le taux d’apprentissage alpha & 0,01. X = Cones(m, 1), data(:,1)]; % Ajouter une colonne de "uns" a X theta = zeros(2, 1); % Initialiser les parametres d'ajustement iterations = 1500; alpha = 0.01; Mr. E.Meftah 2 2022/2023USTHB, FGE, ELI Master 1 ESE TP Intelligence artificielle @ [Note cimplementation :] Nous stockons chaque exemple comme une ligne dans la matrice X. Pour prendre en compte le terme d’interception (@y), nous ajoutons une premiére colonne supplémentaire 4 X et ui attribuons tous des uns. Cela nous permet de traiter 8 comme une autre “caractéristique-feature’ 2.2.1 Calculer le coat J (9) En effectuant la descente du gradient pour apprendre & minimiser la fonction de coitt | (9), il est intéressant de surveiller la convergence en calculant le coat. Dans cette section, vous allez implé- menter une fonction permettant de calculer J (@) de fagon a pouvoir verifier la convergence de votre algorithme. Votre prochaine tache consiste a compléter le code du fichier CalulCost.m, qui est une fonction per- mettant de calculer J (@). Raspelez-vous que les variables X et y ne sont pas des valeurs scalaires, mais des matrices dont les lignes représentent les exemples de l'ensemble d’apprentissage. function J = CalculCost(X, y, theta) CalculCost Calcule le cout de la regression lineaire J = Calulcost(Xx, y, theta) determine le cout de l'utilisation de theta comme parametre de regression lineaire afin d'ajuster les points de donnees en X et y Initialiser quelques valeurs utiles m = length(y); % nomore d'exemples d'apprentissage % Vous davaz retournar corractamant las variahlas suivantes J=0 VOTRE CODE Icr Instructions : Calculer le cout d'un choix particulier de theta % Vous devez fixer J au cout h_theta =... ; %Uompleter 1a Ligne en vous servant de 1'eq(2) sum_sq = sum(....); ZCompleter la ligne en vous servant de 1'eq(1). J = sum_sq+i/(2*m); ) Apres avoir terminé le fonction, appelez. cette fonction sur le programme initial TP1.m, et affichez la valeur de coat J. @ Répétez le méme calcul pour @ = [@;)] = [=1;2] , Que remarquez-vous? 2.2.2 Descente du gradient Maintenant, vous allez implémenter la descente du gradient dans le ficaier DesctGrad.m. La structure de la boucle a été écrite pour vous, et vous navez qu’a fournir les mises a jour de @ a chaque itération. Lorsque vous programmez, assurez-vous de comprendre ce que vous essayez.d'optimiser et ce que vous mettez a jour. N’oubliez pas que le coat J (8) est paramétré par le vecteur @, et non par X et/ou y. Autrement dit, nous minimisons la valeur de [ (0) en changeant les valeurs du vecteur @, et non en changeant X et/ou y (Se référer a V’équation (3)) function [theta, J_hist] = DesctGrad(X, y, theta, alpha, iterations) % DesctGrad Effectue une descente du gradient pour apprendre le theta Initialiser quelques valeurs utiles m= length(y); % nomore d'exemples d'apprentissage J_hist = zeros(iterations, 1); Mr. E.Meftah 3 2022/2023USTHB, FGE, ELI Master 1 ESE TP Intelligence artificielle for iter = 1:iterations % VOTRE CODE Ict Instructions : Effectuer une seule tape de gradient sur le vecteur paranetre theta. UL'impl mentation vectorielle de 1a descente du gradient selon 1'Eq (4) est theta : % Sauvegarder le cout J a chaque it ration || J_hist (iter) = CalculCost(x, y, theta); end end ° ®@® Une fois que vous aver terminé, donnez les valeurs dajustement @y et 4; ainsi que le coat J (@) aprés la convergence. Vous pouvez utiliser vos paramétres finaux dans TP1.m pour tracer la droite de la régression linéaire. Vos valeurs finales pour 9 seront également utilisées pour effectuer des prédictions sur les béné- fices dans des zones de 40000 et 80000 habitants. Donnez. ces prédictions, en servant 'example predict1 = [1, 4] * theta*10000; predict2 = [1, 8] * theta+10000; ® Tracez la courbe | (8) = f(it), le coat en fonction le nombre d’itération et déduisez le nombre ditération nécessaire a‘in d’assurer la convergence ( plot(1 :numel(J_his), J_his, '-b’, 'LineWid- th’, 2)3) Quel est I'intéret de fixer un nombre des itérations? Appliquer la décente da gradient sur les 3 initialisations des paramétres (thetas) : @@ (a) Initialisation aléatoire (©) Initialisation a zero (©) Initialisation A un Est-ce que initialisation des parametres affecte la convergence? ® 2.3. Régression linéaire par la fonction fitim Matlab propose une methode plus simple d’ajustement des modeles linéaires : la fonction fitIm. Pour utiliser fitlm, nous commengons par placer nos données dans un modéle : mdl = fitlm(X,y) {%Ajustez un modele de regreseioa lineaire en utilisant fitim. Tracez la droite de la régression linéaire (plot(mdl)). Mr. E.Meftah 4 2022/2023USTHB, FGE, ELI Master 1 ESE TP Intelligence artificielle Le modéle affiche également les informations sur les coefficients estiriés, qui sont stockées dans la propriété Coefficients (mdl.Coetficients). Les resutats sont donnés par : Estimé (Estimate) Interception (p) XH (Q2): Donnez les valeurs d’zjustement 8) et 6), et comparez les avec ceux trouver dans la section 2.2.2. Que remarquez-vous? 3 HomeWork En tant qu’employé, vous devez connaitre plusieurs facteurs qui peuvent affecter votre salaire. U'un de ces facteurs est le nombre d’années d’expérience. En effet, si vous avez plus d’expérience dans un domaine, vous pouvez obtenir un meilleur salaire. Dans ce cas, vous réaliserez quelques prédictions en utilisant la base de données salaires.txt qui couvrait le lien entre larnée d’expérience et le salaire. @:) Reprenez la partie 2.2.2, Ensuite, donnez la prédiction du salaire d’un employé dans 4 ans, et dans 8 ans Reprenez la partie 2.3. 4 Taches optionnelles Dans cette section, nous avons inclus quelques codes Python™ @(facultatifs). Ils vous aideront a ap- profondir votre compréhension du TP, et si vous étes en mesure de le faire, nous vous encourageons a les compléter également, Mr. E.Meftah 5 2022/2023(il: USTHB, FGE, ELI Master 1 ESE TP Intelligence artificielle 4.1 Affichage des données 4.2.2 Descente di gradient # chargenent de bibliotheques loftiedoeneee nity ren # Calcul scientifique e: uectoriel ens Cat Desetine eemtnecene ioe python ters): import auspy as np ‘# Initialiser quelques valeursy # utilisé pour manipuler Les chemingy wutéles “de répertoire m = len(y) import oc cout = np.zeros(iters) # didliothéque permet de tracer et dey theta = theta. copy()
Vous aimerez peut-être aussi
Solution Série 1
Document
5 pages
Solution Série 1
ikram mbr
Pas encore d'évaluation
Chapitre 4 Performances Des Systèmes Linéaires
Document
23 pages
Chapitre 4 Performances Des Systèmes Linéaires
ikram mbr
Pas encore d'évaluation
Serie 1
Document
1 page
Serie 1
ikram mbr
Pas encore d'évaluation
Chapitre 2 Jonction PN
Document
25 pages
Chapitre 2 Jonction PN
ikram mbr
Pas encore d'évaluation
Polycopié ELT Fondamentale - Compressed-Partie1
Document
53 pages
Polycopié ELT Fondamentale - Compressed-Partie1
ikram mbr
Pas encore d'évaluation
Un Circuit de Comptage
Document
2 pages
Un Circuit de Comptage
ikram mbr
Pas encore d'évaluation
TEC-Etude D'une Cellule Photovoltaique - Converti
Document
17 pages
TEC-Etude D'une Cellule Photovoltaique - Converti
ikram mbr
Pas encore d'évaluation
TP 02
Document
10 pages
TP 02
ikram mbr
Pas encore d'évaluation