Categories
Matematik Software

Lineær regression med maskinlæring

Kunstig intelligens bygger på metoden maskinlæring, hvorfor pædagogiske introduktioner til maskinlæring søges. Det tager lidt, at lave ansigts-genkendelses med maskinlæring, men et første skridt kan være lineær regression.

Der er bedre måder, at lave lineær regression end maskinlæring, fx. mindste kvadraters metode (jeg tør ikke sige, at MK-metode løser problemet eksakt). Så dette er en introduktion til at gradvist tilpasse sine parametre ud fra kendte data.

Her har jeg fremstillede nogle data i Excel, som næsten ligger på en ret linje, og gemt dem som en .csv fil:

Jeg har brugt sproget Python i miljøet Jupyter, men en simplere editor kan let findes: Elevernes Excel eller CAS-værktøj kan også gøre det.

Koden behøver ikke være længere end som vist herunder. genfromtxt omdanner to søjler i Excel til en liste af lister (matrice). Hver liste indeholder et datapar (x,y). Variablen “points [j][1]” henviser derfor til en y-værdi i datapar nr. j.

Det mest interessante sker nok i opdateringen af a og b, hvor d(error)/d(a)=x og d(error)/d(b)=1 anvendes.

Min maskinlærings-algoritme giver:

y=2,08x+3,72

Excel giver:

y=2,05x+3,8

Det er da ret godt gået, de få punkter taget i betragtning.

Jeg ville også lave nogle grafiske repræsentationer af processen. Så blev koden noget længere.

Summen af (error)^2 for hver gang datasættet løbes igennem (1 epoch), falder i løbet af de første ca. 10 iterationer (figur t.h.). Error kvadreres for at tage højde for positive og negative error-værdier.

Summen af errors^2 dækker over nogle udsving mellem positive og negative error-værdier, som jeg kan se når jeg printer alle error-værdierne. Det er måske forklaringen på, at jeg ikke kommer nærmere Excel’s løsning.

For 50 iterationer og startværdier på a=1 og b=0 (blå linje), ses herunder hvordan linjen drejes opad og b løfter sig med hver gentagelse. Mest i starten, derefter finjustering:

Hvis learning rate hæves for meget, herunder 0,1, fås nonsens. Algoritmen springer mellem over- og undershoot?

Vi vil gerne undgå: ”De [eleverne] taster noget ind på lommeregneren eller computeren, men har ikke forståelsen af, hvad de gør.” Leslie Christensen, CBS, Gymnasieskolen 29.april 2016.

Hvordan skal eleverne arbejde med forstå algoritmen?  Manuelt gennemregne et par iterationer? En bedre grafisk animation af linjerne, ville også være rart.

Perspektivet i metoden er også et par tanker værd..

Categories
Matematik Software Studiekompetencer

Maskinlæring i gymnasiet

Hvordan kommer “egernet” Scrat til sit agern?

Kilde: https://studio.code.org/hoc/17

 

Scrat kan styres til sit agern med en løkke og en forgrening:

Det er den traditionelle måde, som mennesker laver computerkode. Vi analyserer problemet, og udtænker en eksekverbar løsning. Men nogle gange er problemet større end vi kan overskue. En anden måde at løse det er maskinlæring (machine learning): computeren afprøver og lærer en generaliseret løsning ud fra data.

Data skal her forstås, som alt der kan omsættes til tal inkl. tekst, billeder m.m. På den måde kan vi få ny viden og nye anvendelser ud af vores data. Maskinlæring foregår ofte i kunstige neurale netværk og kan føre til kunstig intelligens (AI). Der er ingen magi i maskinlæring, men så mange data og beregninger, at vi mennesker ikke kan overskue systemet.

Maskinlæring anses for det mest lovende område inden for IT. Mange af de nye teknologier og værdiforøgelser, som vi kan forvente, involverer maskinlæring. Men maskinlæring og kunstig intelligens er også nogle af de mest hypede begreber, og analyseinstituttet Gartner har helt ekstraordinært opfordret til reflekteret brug af AI-begreber bl.a. for at undgå AI-wash -alle firmaer skal have en smart eller intelligent løsning, uden den er gennemtestet eller tilpasset brugerne.

Givet flere data og mere computerkraft, bruges maskinlæring allerede i mange tjenester, formentlig uden brugerne opdager det. De fem store (Google, Facebook osv.) bruger det i udbredt grad, først og fremmest til at skabe indkomst ud fra brugernes data og trafik gennem målrettede reklamer. Men også for at give bedre brugeroplevelser. Og sundhedssektoren er begyndt at anvende maskinlæring til at analysere resultater (fx genbanker), diagnosticere og styre operationsrobotter.

Skal maskinlæring ind i uddannelserne? Fx under den brede ‘computational thinking‘ paraply. Trods overvurdering, er maskinlæring og kunstig intelligens måske så lovende, at de bør indgå i enhver refleksion over hvordan computeren kan bidrage til løsninger. Og derfor skal vi overveje, om de unge skal introduceres til maskinlæring som kompetence, og så de kan deltage i debatten på et mere oplyst grundlag.

Underviser Du i maskinlæring, så lad os høre om det!

Arbejder man fx i matematik med lineær regression via mindste kvadraters metode, kan man overveje at udskifte den med regression via maskinlæring.

Perspektiverne i “tænkende” maskiner er mange, både gode og dårlige. Vil mennesket miste noget, hvis en del af tænkearbejdet overlades til algoritmer, eller kaster vi os blot over andre udfordringer.

Vi skal undervise i at undersøge problemer, og i hvordan man designer og udvikler løsninger fx gennem maskinlæring. Vi skal i mindre grad undervise i, hvordan man bruger en smart færdig løsning til at tænke for sig.

Categories
OneNote

Undervisningsbeskrivelse via OneNote

Det har længe irriteret mig, at jeg pumper meget information fra min undervisning ind i OneNote, men lektier og generering af undervisningsbeskrivelse (UVB) skal foregå via en anden platform (Lectio i mit tilfælde).

Dvs. at jeg gør nogle ting dobbelt, fx hvis holdet skal læse en tekst eller arbejde med et link i et modul, formidler jeg det via OneNote, men er også nødt til at taste det ind i Lectio, hvis det skal fremgå af UVB’en.

Hvorfor ikke automatisk hive den relevante information ud af OneNote, når jeg alligevel har lagt den derind?

Så jeg har sat et lille forsøg i gang, med risiko for at gøre tingene endnu mere besværlige for mig selv :-). Funktionerne jeg bruger et vist pt. kun tilgængelige i Windows.

1. Mærker
OneNote kan ekstrahere information, som er givet et mærke (tag), og samle den i en liste. Hvis jeg kan skrive de sider, som holdet læser (som lektie eller i modulerne), ind i OneNote og give dem et mærke, kan OneNote samle en oversigt over siderne.

Mærkerne kan jeg selv definere med tekst og symbol, og de tilføjes en tastatur-genvej:

Dvs. hvis jeg har et link i OneNote, som skal fremgå af UVB’en, så vælger jeg mærket “Website der skal besøges” ved at trykke Ctrl+7.

Jeg er så heldig, at bruge en fast lærebog, som jeg har givet dens eget mærke. Læser vi sider i bogen BasiskemiC, får de mærket “Mygind m.fl. Basiskemi, Haase 1. udgave 2008” via Ctrl+5.

Forsøg som skal med i UVB får Ctrl+8, og jeg kan også mærke vedhæftede dokumenter fx øvelsesvejledninger, hvis jeg synes de skal med i UVB’en.

2. Liste mærkerne

“Find mærker”-funktionen i OneNote kan oprette en liste over afsnit, som har et bestemt mærke. I dette forløb har fx været tre links:

Og vi har læst siderne:

OneNote kan ikke selv lægge siderne sammen, som Lectio kan. F.eks. har vi læse side 53-64+67-75, men jeg synes listen ovenfor er acceptabel.

Alle listerne samler OneNote på en side. Jeg forventer at oprette min UVB i Lectio og kopiere listerne med kilder, sider, links m.m. fra OneNote over i UVB’en.

3. Sideskabeloner
Bliver jeg ikke træt af at taste titel ind, hver gang vi skal læse i lærebogen? Her benytter jeg, at vi arbejder med en primær lærebog, og at OneNote kan oprette sideskabeloner.

Jeg har oprettet en fagspecifik forside-skabelon, som bliver forside til hvert modul. Af den fremgår titlen på lærebogen (se nedenfor). Dvs. at jeg blot skal indtaste sidetal og sætte evt. andre kilder eller links ind -mærkerne er allerede indsat. Skriver jeg ikke noget, ignorerer OneNote mærket eller jeg kan vælge at slette det.

Forside-skabelon til kemi-moduler:

4. Lektier
Bliver jeg ikke træt af at skulle lægge lektier både i OneNote og en anden platform (Lectio)? En del af eksperimentet går ud på, at tvinge eleverne til at se lektier i OneNote.

Jeg har, som en service i begyndelsen, oprettet et link til modulets forside (højreklik på siden), hvor lektien fremgår, og jeg lægger linket ind på modulet i Lectio. Eleven skal åbne Lectio, klikke på linket, som bringer eleven til siden i OneNote Online.

Med tiden, vil jeg blot smide et link i Lectio til den sektion i arbejder i under forløbet. Senere må eleverne selv finde siden i OneNote. Fx denne:

Afslutning
Noget af det, som OneNote ikke kan hjælpe med, er kalender-funktioner. Fx regne ud hvor mange moduler hvert forløb tager. Eller føre fravær. Måske nogen kommer op med en løsning på det.

Den beskrevne tilgang kræver lidt selvdisciplin, som alle vane-skift. Det er ikke noget jeg ville kaste mig ud i, som nybegynder. Men måske kommer der add-ons, som kan tilbyde lignende løsninger.

Jeg håber, at når tilgangen bliver vane for mig og eleverne, kan jeg spare noget tid, ved at hente den relevante information ud af OneNote, som jeg alligevel putter derind. Og jeg kan samtidig få endnu mere glæde af den fleksibilitet, overblik og navigation, som jeg elsker ved OneNote.

Hvis Du kaster dig ud i lignende eksperimenter, så lad os høre om dine erfaringer.

Categories
Gamification Quizlet Quizværktøjer

Kahoots overmand, Quizlet Live

Mange elever elsker Kahoot. Det er sjovt med en lille konkurrence. Du kan læse mere om Kahoot her. Jeg har brugt det mest meningsfuldt, når eleverne laver spørgsmålene, eller når jeg knytter nogle kommentarer til spørgsmålene, så Kahoot erstatter et traditionelt tavleoplæg, fx opsamling på lektien.

Alligevel har jeg ikke været specielt begejstret for nogen af delene. Individuelt multiple choice giver ikke meget læring ifølge min forståelse, og jeg synes, at jeg ser elever, som bliver direkte umotiverede af quizzen, mens de dygtige soler sig.

Quizlet Live er et nyt format på Quizlet.com. Du skal bruge en quiz, som du, eleverne eller en kollega har lavet. Eleverne kommer ind på quizzen via en kode (pin) på tavlen. Ingen login påkrævet.

yfR5b-o

I Quizlet Live inddeles automatisk eleverne i grupper. Hver gruppe får et spørgsmål, og nogle svarmuligheder på deres skærme. Kun en elev i gruppen sidder med det rigtige svar foran sig. Svarer gruppen rigtigt rykker de frem på et scoreboard, som er vist oppe på tavlen.

ys7hv-o

Svarer gruppen forkert bare en gang, ryger deres score tilbage til nul. Første gruppe til 12 point vinder.

Pointen er, at eleverne er nødt til at snakke sammen for at finde det rigtige svar og score point. De sidder med forskellige svarmuligheder og er lidt tidspresset af de andre grupper, hvorfor flere i gruppen hjælper til. Ansvaret for succes og fiasko er fordelt på flere skuldre.

Til slut viser quizzen, hvor der har været flest forkerte svar. Jeg har desuden oprettet mig som bruger på quizlt.com, og endda købt det billigste abonnement, men jeg mener ikke det er et krav.

Jeg har brugt Quizlet Live, som indledning til repetition af forløb, som vi arbejdede med for over et halvt år siden. Eleverne får støvet deres viden af, derefter går vi højere op i taksonomi.

Om Quizlet Live er Kahoots overmand ved jeg ikke, men jeg synes, Quizlet Live kan nogle andre ting, som giver mere mening i min undervisning.

Billede1

Categories
Quizværktøjer

Træning med billeder

Som en del af elevernes videnskonstruktion, sætter jeg dem af og til, til at løse forskellige små træningsopgaver med begrebskort, navngivning og lignende. Kolleger fra Nyborg Gymnasium har gjort mig opmærksom på en side, som har mange små værktøjer til den slags:

learningapps.org.

Værktøjerne er meget enkle, og der er mange opgavetyper og quizformater på sitet f.eks. puslespil, krydsogtværs, hangman, osv.

Det som er nyt for mig er, at indholdet kan være en blanding af tekst, billeder, lyd og video (YouTube). Jeg er særligt glad for billederne.

Blandt formaterne er for eksempel: Sæt de rigtige navne på delene i billedet. Eksempel.

LA1

LA2

I mine fag kan det være en celle eller et atom, hvor eleverne skal kende navne på bastanddele. Eksempel2.

Jeg har set noget lignende hos quia.com, men i modsætning hertil, er Learningapps gratis (quia koster p.t. ca. 300,- om året). En ulempe er, at elevernes resultater ikke kan følges lige så nemt i Learningapps, men læreren kan oprette logins og passwords til eleverne. Den mulighed har jeg dog ikke udforsket.

Der er også opgavetyper med at sætte indhold (billeder/tekst/lyd/video) i rigtig rækkefølge. F.eks. trin i fremstillingen af bioethanol.

Og eleverne kan selvfølgelig selv lave quizzer og opgaver. Det kræver et login, som klassen evt. kan have i fællesskab.

Bruger skolen Office365(Sharepoint) eller Google Apps, kan man på under et minut indlejre en opgave på et websted, som vist her for Office365. For mange opgaver på et websted, gør dog siden tung, og man kan oprette undersider eller bare lægge et link til eleverne f.eks. i OneNote.