Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Anpassa en Linje med Gradientnedstigning | Matematisk Analys
Matematik för datavetenskap

bookUtmaning: Anpassa en Linje med Gradientnedstigning

Uppgift

Swipe to start coding

En student vill använda gradientnedstigning för att anpassa en rät linje till en datamängd som visar antal år av erfarenhet mot lön (i tusental). Målet är att hitta den bäst anpassade linjen genom att justera lutningen (mm) och skärningen (bb) med hjälp av iterativa uppdateringar.

Du behöver minimera förlustfunktionen:

1ni=1n(yi(mxi+b))2\frac{1}{n}\sum^n_{i=1}(y_i - (mx_i + b))^2

Uppdateringsreglerna för gradientnedstigning är:

mmαJmbbαJbm \larr m - \alpha \frac{\partial J}{\partial m} \\[6 pt] b \larr b - \alpha \frac{\partial J}{\partial b}

Där:

  • α\alpha är inlärningshastigheten (stegstorlek);
  • Jm\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial m$}} är den partiella derivatan av förlustfunktionen med avseende på mm;
  • Jb\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial b$}} är den partiella derivatan av förlustfunktionen med avseende på bb.

Din uppgift:

  1. Fyll i Python-koden nedan för att implementera gradientnedstigningsstegen.
  2. Fyll i de saknade uttrycken med grundläggande Python-operationer.
  3. Följ hur m och b förändras när algoritmen körs.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 11
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 1.96

bookUtmaning: Anpassa en Linje med Gradientnedstigning

Svep för att visa menyn

Uppgift

Swipe to start coding

En student vill använda gradientnedstigning för att anpassa en rät linje till en datamängd som visar antal år av erfarenhet mot lön (i tusental). Målet är att hitta den bäst anpassade linjen genom att justera lutningen (mm) och skärningen (bb) med hjälp av iterativa uppdateringar.

Du behöver minimera förlustfunktionen:

1ni=1n(yi(mxi+b))2\frac{1}{n}\sum^n_{i=1}(y_i - (mx_i + b))^2

Uppdateringsreglerna för gradientnedstigning är:

mmαJmbbαJbm \larr m - \alpha \frac{\partial J}{\partial m} \\[6 pt] b \larr b - \alpha \frac{\partial J}{\partial b}

Där:

  • α\alpha är inlärningshastigheten (stegstorlek);
  • Jm\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial m$}} är den partiella derivatan av förlustfunktionen med avseende på mm;
  • Jb\frac{\raisebox{1pt}{$\partial J$}}{\raisebox{-1pt}{$\partial b$}} är den partiella derivatan av förlustfunktionen med avseende på bb.

Din uppgift:

  1. Fyll i Python-koden nedan för att implementera gradientnedstigningsstegen.
  2. Fyll i de saknade uttrycken med grundläggande Python-operationer.
  3. Följ hur m och b förändras när algoritmen körs.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 11
single

single

some-alt