Som enhver Pythonista kan fortælle dig, har dette sjove, Monty Python-inspirerede programmeringssprog eksisteret i lidt over 30 år, men det har kun været kendt og populært i det sidste årti eller deromkring. Undrer du dig ikke over hvorfor?

Guido van Rossum, Pythons skaber og velvillige diktator for livet, hævder, at hans sprog blev født ud fra frustrationen over alt for komplicerede programmeringssprog, der fandtes i 1989; specielt ABC, som skulle være enklere end Pascal og BASIC.

Husk på, at computere dengang var langt fra mainstream - den offentlige adgang til World Wide Web lå stadig fire år ude i fremtiden, og kunstig intelligens var stadig science fiction.

I dag er selvkørende biler takket være forbløffende fremskridt på forskellige teknologiske fronter i testfasen, og intelligente robotter er en alvorlig mulighed. For at de kan blive til virkelighed, skal disse maskiner lære af deres erfaringer og blive konditioneret til at træffe beslutninger på grundlag af disse erfaringer.

Det er kort sagt definitionen af maskinlæring. Python er vel nok det bedste sprog til det.

Man kan sige, at Python efter den årtier lange ventetid endelig har fundet sit formål - hvilket forklarer dette sprogs pludselige popularitet. Eller også kan man lade være. Lad Superprof hjælpe dig med at afklare denne ubeslutsomhed. Vil du lære det selv? Få et privat programmeringskursus med en af vores dygtige programmører. Det giver dig muligheden for at lære sproget på rekordtid.

De bedste undervisere i programmering
Asger
4,8
4,8 (5 anmeldelser)
Asger
250kr
/t
Gift icon
1. undervisning gratis!
Alex
5
5 (1 anmeldelser)
Alex
350kr
/t
Gift icon
1. undervisning gratis!
Daniel
5
5 (1 anmeldelser)
Daniel
210kr
/t
Gift icon
1. undervisning gratis!
Christian
5
5 (1 anmeldelser)
Christian
200kr
/t
Gift icon
1. undervisning gratis!
Kristian
Kristian
180kr
/t
Gift icon
1. undervisning gratis!
Joachim
4
4 (1 anmeldelser)
Joachim
150kr
/t
Gift icon
1. undervisning gratis!
Charlie
Charlie
200kr
/t
Gift icon
1. undervisning gratis!
Laust
Laust
200kr
/t
Gift icon
1. undervisning gratis!
Asger
4,8
4,8 (5 anmeldelser)
Asger
250kr
/t
Gift icon
1. undervisning gratis!
Alex
5
5 (1 anmeldelser)
Alex
350kr
/t
Gift icon
1. undervisning gratis!
Daniel
5
5 (1 anmeldelser)
Daniel
210kr
/t
Gift icon
1. undervisning gratis!
Christian
5
5 (1 anmeldelser)
Christian
200kr
/t
Gift icon
1. undervisning gratis!
Kristian
Kristian
180kr
/t
Gift icon
1. undervisning gratis!
Joachim
4
4 (1 anmeldelser)
Joachim
150kr
/t
Gift icon
1. undervisning gratis!
Charlie
Charlie
200kr
/t
Gift icon
1. undervisning gratis!
Laust
Laust
200kr
/t
Gift icon
1. undervisning gratis!
Kom i gang

Hvad er læring?

Kig tilbage på dine læringsoplevelser. Ingen vil bebrejde dig, hvis skolen er den første tanke, der dukker op i dit hoved, og det vil være en god idé til vores afhandling. Hvordan lærte du i skolen?

Nogen, som regel en lærer, leverede information, som du bearbejdede og lagrede. Så langt, så godt; det lyder præcis som at programmere en computer. Den eneste forskel er, at du ikke fik serveret individuelle klumper af viden i et vakuum; alt det, du lærte, hang på en måde sammen, og oftest var det op til dig selv at skabe disse forbindelser.

python programmering kursus
Det meste af det, vi lærte som babyer, var gennem eksperimenter og leg. (Kilde: Unsplash)

Gå nu lidt længere tilbage, til din læring før den formelle uddannelse. Hvordan lærte du der?

Mennesker (og andre dyr) optager information fra en række forskellige input og træffer beslutninger på baggrund af deres erfaringer. Det gør ondt at falde ned og slå hovedet; lad os gøre vores bedste for ikke at slå hovedet. At slå og bide andre børn giver vrede reaktioner og fremkalder måske straf; vi lærte hurtigt at lade være med at bide eller slå andre børn.

Vi lærer ikke kun gennem negative oplevelser. Vær vidne til en forælders glæde, når et barn tager sine første skridt, spiser selv for første gang eller lærer at kontrollere sine kropsfunktioner.

Godkendelse og positiv forstærkning er et lige så godt læremiddel som deres negative modstykker. Bedre redskaber, vil de fleste hævde. Så barnet vil gentage den velbelønnede adfærd for at gentage oplevelsen af at modtage positiv feedback.

Det forbløffende ved småbørn, der træffer sådanne eksekutive beslutninger, er, at de har meget lidt erfaring eller information at basere disse beslutninger på, og endnu mere forbløffende er det, at de aldrig har lært at beslutte noget som helst.

Maskiner er slet ikke sådan.

For det første har de kun én kilde til input: deres programmør(er). For det andet skal de lære at træffe beslutninger; hvis De på nogen måde er bekendt med computersprog, så tænk blot på alle de "if/else"-, "with"-, "def"- og "try"-sætninger, der gennemsyrer enhver kode.

Endelig har de intet incitament til at lære eller præstere. Maskiner kan ikke belønnes for at gøre det godt - i hvert fald ikke på den måde, som mennesker definerer en belønning (mere om det om lidt). De kan heller ikke straffes for at gøre det dårligt.

De vil behandle de data, de får, med de instruktioner, de er programmeret med. I modsætning til følende væsener, hvis intuitionsspring ansporer til læring langt bedre end det at give dem oplysninger, kan maskiner kun fungere som de er programmeret til.

Så selv om Python er inspireret af et af de største komedietrupper nogensinde, kan Python-programmerede robotter aldrig lære at sætte pris på Monty Pythons absurditet.

Alligevel er der masser af værdi i at programmere maskiner til at lære; lad os finde ud af, hvordan de gør det. Hvis du selv vil lære det, kan du få online kurser programmering, der gør det nemt og behageligt at lære en ny kompetence hurtigt.

Hvordan maskiner lærer

Maskinlæring begynder med programmering for at træffe beslutninger baseret på ønskede resultater, forventede resultater eller forventningen om, at maskinen vil scanne sine input for at finde struktur på egen hånd; applikationer, der oftest anvendes i statistik, til at estimere tætheden af kontinuerlige tilfældige variabler.

Disse tre typer læring kaldes henholdsvis overvåget læring, forstærket læring og uovervåget læring.

Den type maskinlæring, som du sandsynligvis er mest bekendt med, uanset om du kender den eller ej, er forstærkningslæring. Den indebærer, at en maskine interagerer med et dynamisk miljø, hvor maskinen skal udføre en række handlinger.

Lad os se på selvparkerende biler i forhold til selvkørende biler. Begge involverer et dynamisk miljø, hvor maskinen skal træffe beslutninger og udføre handlinger. For selvparkerende biler er det miljø, de opererer i, ret begrænset: køretøjets hastighed er lavere, det rum, det bevæger sig i, er mindre, og de potentielle risici er lettere at analysere.

Det skal sammenholdes med den enorme mængde data, som selvkørende biler skal behandle. Alt fra fodgængere og andre køretøjer i bevægelse til de kørebaner, de bevæger sig i, og trafiklys, er det let at se, hvordan selvkørende biler kan kassere data som ikke relevante for deres beslutningsprocesser.

python programmering kursus
Selvkørende biler er fyldt med sensorer, der konstant giver dem oplysninger. (Kilde: Unsplash)

Som vi påpegede i det foregående segment, kan straf og belønning forstærke adfærd ... kan du se, hvor vi vil hen med dette?

Med forstærkende læring kan maskiner forvente en belønning for at udføre enhver positivt fortolket handling. Hele sammenhængen omkring belønninger er for omfattende til at dække her; lad os blot sige, at disse belønninger er kumulative, hvilket betyder, at jo flere ønskede reaktioner der leveres, jo større vil maskinens belønning være, når opgaven er fuldført.

Det gør forstærkende læring til det ideelle undervisningsværktøj til selvkørende biler og til computerspil som AlphaGo og Deep Blue, IBM's skakspillende computer.

Python og maskinlæring

Tidligere nævnte vi, at Pythons tid var kommet, hvilket er blevet bekræftet af det omfattende bibliotek af softwarepakker, der indeholder funktionalitet inden for et væld af forskellige sektorer, f.eks:

  • grafiske brugergrænseflader (GUI'er)
  • computernetværk
  • multimedier
  • dataanalyse
  • forvaltning af databaser
  • videnskabelig databehandling
  • webscraping

og naturligvis maskinlæring - og dette er blot en kort liste over Python-anvendelser. I marts 2021 var der i Python Package Index (PyPI) mere end 290.000 softwarepakker til at opfylde en række forskellige funktionelle behov.

Får det dig ikke til at undre dig over, hvordan Python og datalogi kan arbejde sammen?

For at forstå, hvordan det er muligt, skal du vide, at Python er modulær. Det indeholder hundredtusindvis af allerede scriptede moduler, der er designet til at fungere som udvidelser af dets minimale kernesprog og i tandem med mere komplekse programmeringssprog.

Pythons biblioteker - bl.a. TensorFlow, Scikit-learn og Pytorch - giver programmører et udvalg af værktøjer til at udvikle deres projekter inden for kunstig intelligens og maskinlæring.

Og du burde se, hvad Python kan gøre med webudvikling!

python programmering kursus
Du kan møde og interagere med andre Pythonistaer på Python-konventioner eller PyCons. (Kilde: Unsplash)

Hvorfor Python er bedst til maskinlæring

Der findes masser af programmeringssprog derude; hvad gør Python så unikt tilpasningsdygtigt til maskinlæring?

Det er enkelt og nemt at bruge.

Mens mange sprog er fyldt med syntaks, er Python rent og funktionelt. Hvis du f.eks. ville skrive et program, der skulle udføre en række opgaver eller levere et bestemt resultat i et andet programmeringssprog, skulle du skrive hele koden eller låne fra et kodebibliotek og tilpasse den til dine behov.

Sådan er det ikke med Python. Vi har tidligere nævnt dets omfattende bibliotek af moduler; hver enkelt er skrevet til en bestemt opgave eller række af opgaver. Du behøver blot at søge i biblioteket for at indsætte det, du ønsker. Derfor er det et optimalt sprog at begynde med, for dig der ønsker et programmering for begyndere kursus.

Nogle programmeringssprog egner sig til et enkelt paradigme - handling, logik, datastrøm eller begivenhedsstyret.

Python understøtter mange paradigmer; det kan bruges i applikationer, der kræver logik, og fungere lige så godt ved at køre en applikationsprogrammeringsgrænseflade (API). Python er desuden objektorienteret; de forskellige "objekter" - datafelter, variabler og endda kode - interagerer med hinanden og kan endda ændre det grundlæggende program.

Hvis en maskine er ved at lære, ville det så ikke være bedst for den at fungere fleksibelt i stedet for at følge et stift, forudbestemt sæt af instruktioner?

Trods al sin tilpasningsevne er Python enkel. Det er ikke kun godt for nybegyndere, der endnu ikke har lært hele W3C's leksikon udenad, det er også godt for nye udviklere. Den præcise syntaks og den lette læsbarhed betyder, at du ikke behøver at undervise nye medarbejdere i dit projekt, og takket være den modulære struktur skal du blot sætte det ind, som du ønsker, at din maskine skal gøre, og så er den i gang med det!

Endelig er der Python-fællesskabet.

Vi taler ikke kun om alle de Pythonistas derude - programmører, der er begejstrede for Python, selv om de er en af de bedste grunde til at tage sproget til sig. Ud over dem er der så meget støtte at hente.

Python er open source;. der findes (næsten) tonsvis af dokumentation derude, fra enkeltpersoner, der har prøvet og fejlet på et projekt, til how-tos og analyser af høj kvalitet, og programmører og softwareingeniører tilføjer hele tiden noget til biblioteket.

Mellem dette omfattende PyPI-katalog og de Pythonister, der kan hjælpe dig med at forstå, hvordan du får mest muligt ud af det, er det et under, at du ikke tænker på, hvor du kan bruge Python endnu ... eller gør du?

>

Platformen der forbinder undervisere og elever

Første undervisning gratis

Kunne du lide denne artikel? Skriv en anmeldelse!

5,00 (1 anmeldelse(r))
Loading...

Adil

Adil bor i København, hvor hun arbejder som freelanceoversætter og underviser i dansk. Udover dansk taler Adil også engelsk, russisk og tysk. Når Adil ikke arbejder elsker hun at rejse, løbe og dyrke yoga.