Machine Learning

Machine learning er et område inden for datalogi, som gør det muligt for computere at lære nye ting uden at man har programmeret hvordan læringen foregår.

Book mig som softwareudvikler her, hvis du har brug for hjælp angående machine learning.

Machine Learning problemer og opgaver

Problemer og opgaver der involverer brugen af Machine learning er ofte klassificeret I 3 forskellige kategorier. Supervised learning, unsupervised learning og reinforcement learning.

Supervised learning

Supervised learning er hvor en algoritme bliver præsenteret for inputs og deres ønskede outputs. Her er målet at finde frem til en generel regel (funktion), som mapper input til output, som så kan bruges til at forudsige nye inputs som ikke er set før.

Super learning kan fx bruges til klassifikation (classification) af data. Spam filtre er et godt eksempel på klassifikation, hvor inputs er emails der klassificeres som spam eller ikke spam.

Unsupervised learning

Unsupervised learning er hvor en algoritme kun bliver præsenteret for inputs, hvor algoritmen prøver at frem til en funktion der fortæller noget om strukturen og forholdene mellem inputs. Unsupervised learning kan fx bruges til gruppering af data (clustering), hvor data splittes i grupper kaldt clusters. Det kan i den virkelig verden bruges til segmentering af kunder i forhold markeder eller til analyse af sociale netværk. Du kan fx se at der er rigtig mange kunder, brugere i den her del af verden, og du bør derfor på sigt åbne et nyt varelager eller datacenter i det her område.

Reinforcement learning

Reinforcement learning er hvor en algoritme integrerer med en dynamisk verden, hvor algoritmen skal opnå et bestemt mål. Fx klare en bane i et computerspil. Algoritmen får feedback ved hjælp af belønning og straf. Hvis algoritmen gør noget godt, bliver den belønnet for sin handling. Hvis den gør noget dårligt bliver den straffet. Over tid bliver algoritmen bedre og bedre, da den maksimerer efter at opnå sit mål, og gør derfor mere og mere af de handlinger den bliver belønnet for at gøre.

Machine Learning algoritmer

Her er en liste med Machine Learning algoritmer, som TB Coding har kendskab til.

Neural Networks

Vi har i TB Coding kodet vores eget neural network i Python, som vi har trænet til at forstå håndskrevne tal fra 1-9 med en god performance på niveau med andre kendte neural networks. Vi startede med at træne vores neural network med 100 billeder af håndskreve tal. Vi testede med 10 nye håndskrevne tal, og her kunne vores neural network gætte 6 ud af 10 rigtige. En performance score på 60 %. Vi trænede derefter vores neural network med et dataset på 60.000 billeder af håndskrevne tal. Herefter gik performance scoren helt op på 94-95%. Med lidt finjusteringer kunne vi få performance endnu højere. Her prøvede vi med en højere og lavere learnings rate, få kontra mange nodes, samt loop af træningsdata flere gange.

Vil du vide mere?

Så kontakt TB Coding eller læs vores afsnit om kunstig intelligens.