% régression linéaire de points sur une parabole bruitée % exercice 6 du TD 1 du Master IAC 2010 % tronc commun ASO (Apprentissage Statistique et Optimisation) function erreur = regressionLineaire(numPoints,bruit=0) % numPoints : nombre de points (si si) % bruit : niveau de bruit (ici additif) % on va calculer "à la main" (et pas par polyfit) les coefficients % de la droite de régression en annulant les dérivées partielles % de l'erreur au sens des moindres carrés % Les données - parabole bruitée sur [1-10] x=1:10/(numPoints-1):10; y=x.*x + bruit*rand(1,size(x,2)); A = [ sum(x.*x) sum(x) ; mean(x) 1]; B = [sum(x.*y) ; mean(y)]; sol =A\B; % contient Wopt et b w=sol(1,1) b=sol(2,1) regress = w*x+b; plot(x,y,'+', x,regress); % calcul de l'erreur au sens de moindres carrés erreur = sumsq(regress-y); disp(["Erreur au sens des moindres carres : " num2str(erreur)]);