Salut !
J'ai un devoir à faire sur de la régression linéaire.
J'ai une liste de points, et je dois trouver l'approximation du polynôme qui correspond à ces points.
Problème : ça part en cacahuète !
Je vous mets un pastebin de mon code, j'espère qu'il sera assez clair :
http://pastebin.com/PjRPJGnP
En gros, tout le calcul se fait à la ligne 89 : on prend chaque coefficient et on le corrige pour coller un peu mieux au polynôme, en utilisant la dérivée partielle.
En output, j'ai ça :
Degree 0 : 105.802815937
Error for training : 21514.6556167
Error for validation : 28732.7032908
Degree 1 : -134986910.298 + -558197532.843*x^1
Error for training : 2.73769200114e+18
Error for validation : 2.93348096277e+18
Degree 2 : 1.33617152136e+37 + 5.72394413375e+37*x^1 + -2.25890120264e+39*x^2
Error for training : 1.4602163449e+81
Error for validation : 1.65646332725e+81
Degree 3 : -1.37426830468e+105 + -6.71275099619e+105*x^1 + 2.63400809692e+107*x^2 + -4.90825978843e+110*x^3
Error for training : 3.00869354773e+225
Error for validation : 3.59263054293e+225
Degree 4 : 8.98157808457e+228 + 4.5612563011e+229*x^1 + -1.77835090733e+231*x^2 + 3.31386657033e+234*x^3 + -2.82003535777e+239*x^4
Error for training : inf
Error for validation : inf
Normalement, l'erreur est censée baisser jusqu'à arriver à un truc très faible au degré 4, puisque la fonction qui me sert de test est : pow(x,4)*0.5 - pow(x,3)*2 + 1
Voilà, si vous voyez où se situe le problème, c'est cool 
Merci 