Problem A
MiNISTer
Languages
en
sv
Statsministern av Tredkåja har fått in förtroendesiffror
från folket i Tredkåja. Tyvärr är sättet alla siffror samlas in
på väldigt gammeldags. Varje invånare skickar nämligen en
pappersbit som är $28 \times
28$ pixlar stor där de har skrivit deras förtroende för
statsministern, en siffra mellan 0-9.
Eftersom Tredkåja inte har genomgått någon större teknologisk
utveckling, har statsministern tidigare behövt räkna alla dessa
för hand. Men han frågar nu dig istället att identifiera
siffran på alla pappersbitar.
Ditt mål är nu att skriva ett program som läser in alla
handskriva siffror, och försöker avgöra för varje vilken siffra
som står på papperslappen.
Till din hjälp har han även givit dig en lista youtube-videor
och artiklar:
-
https://youtube.com/playlist?list=PLCC34OHNcOtpcgR9LEYSdi9r7XIbpkpK1&si=yB7XLd7H7kNI1vUX
-
https://www.kaggle.com/code/abhinand05/mnist-introduction-to-computervision-with-pytorch
För den här uppgiften har vi inte gett er någon träningsdata, det är därför tillåtet att använda all träningsdata ni än vill ha från internet.
Indata
Ladda ner filen med testdata (testdata.in). Denna hittas längst ned vid "attachments". Den innehåller 10000 bilder där varje bild beskrivs av en $28 \times 28$ stor heltalsmatris som består av grayscale värdena på varje bild (ett heltal 0-255). Du kan läsa mer om grayscale-färgsystemet här: https://en.wikipedia.org/wiki/Grayscale.
Utdata
För varje bild, skriv ut en siffra mellan 0 och 9: siffran som finns i bilden. Skriv ut dessa på en enda rad utan mellanslag.
Poäng
Under tävlingen kommer din lösning testas på en slumpmässig delmängd av 30% av de siffror du har skrivit ut. Notera att det alltid är samma 30% som blir testade under tävlingen. Du får sedan poäng baserat på hur många procent rätt du har, på en skala mellan 10% rätt och en hypotetisk bästa lösning som får 100%. Anta att din lösning har ”Din” procent rätt. Då får du såhär många poäng:
\[ 100 \cdot \frac{Din - 10}{100 - 10} \]I synnerhet får du 100 poäng om din lösning är bäst eller lika bra som den bästa.
Vid slutet av tävlingen testas alla lösningar om på resterande 70% av siffrorna. Din poäng i slutet av tävlingen är alltså endast poängen på de resterande 70% av siffrorna, de 30% som du testats på hittills har ingen påverkan. Det är garanterat att de 30% som testas under tävlingen har valts uniformt slumpmässigt och är helt disjunkta från de 70% som du testas på i slutet. Därmed borde resultaten på de 30% som du testas på under tävlingen ses som en stark indikator på hur bra din lösning är. Samtidigt är det dåligt överanpassa (overfitta) din lösning till testdatan.