Articles

anvendt AI – strategi og rådgivning | InnoArchiTech

artikler i denne serie

  1. oversigt, mål, læringstyper og algoritmer

  2. datavalg, forberedelse og modellering

  3. modelevaluering, Validering, kompleksitet og forbedring

  4. model ydeevne og fejlanalyse

  5. uovervåget læring, relaterede felter og maskinindlæring i praksis

introduktion

velkommen! Dette er den første artikel i en fem-delt serie om maskinindlæring.

maskinlæring er et meget varmt emne af mange hovedårsager, og fordi det giver mulighed for automatisk at få dyb indsigt, genkende ukendte mønstre og skabe højtydende forudsigelige modeller ud fra data, alt sammen uden at kræve eksplicitte programmeringsinstruktioner.

på trods af emnets Popularitet forstås machine learning ‘ s sande formål og detaljer ikke godt, undtagen af meget tekniske folk og/eller dataforskere.

denne serie er beregnet til at være en omfattende, dybdegående guide til maskinindlæring og bør være nyttig for alle fra virksomhedsledere til maskinindlæringsudøvere. Det dækker stort set alle aspekter af maskinindlæring (og mange relaterede felter) på et højt niveau og bør tjene som en tilstrækkelig introduktion eller henvisning til feltets terminologi, begreber, værktøjer, overvejelser og teknikker.

denne forståelse på højt niveau er kritisk, hvis den nogensinde er involveret i en beslutningsproces omkring brugen af maskinlæring, hvordan den kan hjælpe med at nå forretnings-og projektmål, hvilke maskinlæringsteknikker der skal bruges, potentielle faldgruber og hvordan man fortolker resultaterne.

Bemærk, at de fleste af de emner, der diskuteres i denne serie, også er direkte anvendelige på områder som forudsigelig analyse, data mining, statistisk læring, kunstig intelligens og så videre.

maskinlæring defineret

den ofte citerede og bredt accepterede formelle definition af maskinlæring som angivet af feltpioneren Tom M. Mitchell er:

et computerprogram siges at lære af erfaring E med hensyn til en klasse af opgaver T og præstationsmåling P, hvis dens ydeevne ved opgaver i T, målt ved P, forbedres med erfaring E

følgende er min mindre formelle måde at beskrive maskinindlæring på.

maskinlæring er et underfelt af datalogi, men kaldes ofte også forudsigelig analyse eller forudsigelig modellering. Dets mål og anvendelse er at opbygge nye og/eller udnytte eksisterende algoritmer til at lære af data for at opbygge generaliserbare modeller, der giver nøjagtige forudsigelser, eller for at finde mønstre, især med nye og usete lignende data.

Maskinindlæringsproces oversigt

Forestil dig et datasæt som en tabel, hvor rækkerne er hver observation (aka måling, datapunkt osv.), og kolonnerne for hver observation repræsenterer funktionerne i denne observation og deres værdier.

i starten af et maskinlæringsprojekt er et datasæt normalt opdelt i to eller tre undergrupper. De mindste delmængder er Trænings-og testdatasæt, og ofte oprettes også et valgfrit tredje valideringsdatasæt.

når disse dataundersæt er oprettet fra det primære datasæt, trænes en forudsigelig model eller klassifikator ved hjælp af træningsdataene, og derefter bestemmes modellens forudsigelige nøjagtighed ved hjælp af testdataene.

som nævnt udnytter maskinlæring algoritmer til automatisk at modellere og finde mønstre i data, normalt med det mål at forudsige noget måloutput eller respons. Disse algoritmer er stærkt baseret på statistik og matematisk optimering.

optimering er processen med at finde den mindste eller største værdi (minima eller maksima) af en funktion, ofte omtalt som et tab eller omkostningsfunktion i minimeringssagen. En af de mest populære optimeringsalgoritmer, der bruges i maskinindlæring, kaldes gradientafstamning, og en anden er kendt som den normale ligning.

i en nøddeskal, machine learning handler om automatisk at lære en meget præcis prædiktiv eller klassificeringsmodel, eller finde ukendte mønstre i data, ved at udnytte læring algoritmer og optimering teknikker.

typer af læring

de primære kategorier af maskinlæring er overvåget, uovervåget og semi-overvåget læring. Vi vil fokusere på de to første i denne artikel.

i overvåget læring indeholder dataene responsvariablen (etiket), der modelleres, og med det mål at du gerne vil forudsige værdien eller klassen af de usete data. Uovervåget læring involverer læring fra et datasæt, der ikke har nogen etiket eller responsvariabel, og handler derfor mere om at finde mønstre end forudsigelse.

da jeg er en stor NFL og Chicago Bears fan, vil mit team hjælpe med at eksemplificere disse typer læring! Antag, at du har masser af Chicago Bears-data og statistikker, der stammer fra, da holdet blev chartret medlem af NFL (1920) indtil nutiden (2016).

Forestil dig, at hver række af dataene i det væsentlige er et holdbillede (eller observation) af relevant statistik for hvert spil siden 1920. Kolonnerne i dette tilfælde og dataene i hver repræsenterer funktionerne (værdierne) af dataene og kan omfatte funktionsdata såsom spildato, spilmodstander, sæsongevinster, sæsontab, sæsonafslutning divisionsposition, post-sæson kaj (Y/N), post-sæson statistik og måske statistik, der er specifik for de tre faser af spillet: lovovertrædelse, forsvar og specialhold.

i det overvågede tilfælde kan dit mål være at bruge disse data til at forudsige, om Bears vinder eller taber mod et bestemt hold under et givet spil og på et givet felt (hjemme eller ude). Husk, at alt kan ske i fodbold med hensyn til skader før og spiltid, vejrforhold, dårlige dommeropkald osv., så tag dette blot som et eksempel på en anvendelse af overvåget læring med et ja eller nej svar (forudsigelse) i modsætning til at bestemme sandsynligheden eller sandsynligheden for, at ‘da Bears’ får sejren.

da du har Historiske data om sejre og tab (svaret) mod bestemte hold på bestemte fodboldbaner, kan du udnytte overvåget læring til at oprette en model for at gøre denne forudsigelse.

Antag nu, at dit mål er at finde mønstre i de Historiske data og lære noget, som du ikke allerede kender, eller gruppere holdet på bestemte måder gennem historien. For at gøre det kører du en ikke-overvåget maskinlæringsalgoritme, der klynger (grupperer) dataene automatisk, og analyserer derefter klyngeresultaterne.

med en smule analyse kan man opleve, at disse automatisk genererede klynger tilsyneladende grupperer holdet i følgende eksempelkategorier over tid:

  • stærkt forsvar, svag løbende lovovertrædelse, stærk passerende lovovertrædelse, svage specialhold, playoff-kaj

  • stærkt forsvar, stærk løbende lovovertrædelse, svag passerende lovovertrædelse, gennemsnitlige specialhold, playoff-kaj

  • svagt forsvar, stærk allround-lovovertrædelse, stærke specialhold, savnede slutspillet

  • og så videre

et eksempel på uovervåget klyngeanalyse ville være at finde en potentiel grund til, at de gik glip af slutspillet i den tredje klynge ovenfor. Måske på grund af det svage forsvar? Bjørne har traditionelt været et stærkt defensivt hold, og nogle siger, at forsvaret vinder mesterskaber. Bare at sige …

i begge tilfælde kan hver af de ovennævnte klassifikationer vise sig at relatere til en bestemt tidsramme, som man ville forvente. Måske var holdet præget af en af disse grupperinger mere end en gang i hele deres historie og i forskellige perioder.

for at karakterisere holdet på denne måde uden maskinlæringsteknikker, skulle man hælde gennem alle Historiske data og statistikker, manuelt finde mønstrene og tildele klassifikationerne (klynger) for hvert år under hensyntagen til alle data og kompilere oplysningerne. Det ville bestemt ikke være en hurtig og nem opgave.

Alternativt kan du skrive et eksplicit kodet program for at hælde gennem dataene, og det skal vide, hvilken holdstatistik der skal overvejes, hvilke tærskler der skal tages i betragtning for hver stat osv. Det ville tage en betydelig mængde tid at skrive koden, og forskellige programmer skal skrives for hvert problem, der har brug for et svar.

eller… du kan anvende en maskinlæringsalgoritme til at gøre alt dette automatisk for dig på få sekunder.

Machine Learning mål og output

Machine learning algoritmer bruges primært til følgende typer af output:

  • Clustering (uden opsyn)

  • to-klasse og multi-klasse klassificering (Overvåget)

  • Regression: Univariate, Multivariate, etc. (Overvåget)

  • anomali detection (uden opsyn og overvåget)

  • Anbefalingssystemer (aka anbefalingsmotor)

specifikke algoritmer, der bruges til hver Outputtype, diskuteres i næste afsnit, men lad os først give et generelt overblik over hver af ovenstående output eller problemtyper.

Som diskuteret er klyngedannelse en uovervåget teknik til at opdage sammensætningen og strukturen af et givet datasæt. Det er en proces med sammenklumpning af data i klynger for at se, hvilke grupperinger der opstår, hvis nogen. Hver klynge er kendetegnet ved et indeholdt sæt datapunkter og en klyngecentroid. Cluster centroid er dybest set gennemsnittet (gennemsnittet) af alle de datapunkter, som klyngen indeholder, på tværs af alle funktioner.

Klassificeringsproblemer involverer placering af et datapunkt (aka observation) i en foruddefineret klasse eller kategori. Nogle gange tildeler klassificeringsproblemer simpelthen en klasse til en observation, og i andre tilfælde er målet at estimere sandsynlighederne for, at en observation hører til hver af de givne klasser.

et godt eksempel på en to-klasses klassificering er at tildele klassen Spam eller skinke til en indgående e-mail, hvor skinke bare betyder ‘ikke spam’. Multi-klasse klassificering betyder bare mere end to mulige klasser. Så i spam-eksemplet ville måske en tredje klasse være’ukendt’.

Regression er bare et fancy ord for at sige, at en model vil tildele en kontinuerlig værdi (svar) til en dataobservation i modsætning til en diskret klasse. Et godt eksempel på dette ville være at forudsige slutkursen for det industrielle gennemsnit på en given dag. Denne værdi kan være et hvilket som helst tal og ville derfor være en perfekt kandidat til regression.

Bemærk, at ordet regression undertiden bruges i navnet på en algoritme, der faktisk bruges til klassificeringsproblemer eller til at forudsige et diskret kategorisk svar (f.eks. spam eller skinke). Et godt eksempel er logistisk regression, som forudsiger sandsynligheder for en given diskret værdi.

en anden problemtype er anomali detektion. Selvom vi gerne vil tro, at data er velopdragen og fornuftig, er det desværre ofte ikke tilfældet. Nogle gange er der fejlagtige datapunkter på grund af funktionsfejl eller fejl i måling, eller nogle gange på grund af svig. Andre gange kan det være, at unormale målinger er tegn på et svigtende stykke udstyr eller elektronik.

undertiden er anomalier tegn på et reelt problem og forklares ikke let, såsom en produktionsfejl, og i dette tilfælde giver detektering af anomalier et mål for kvalitetskontrol samt indsigt i, om skridt, der er taget for at reducere defekter, har fungeret eller ej. I begge tilfælde er der tidspunkter, hvor det er fordelagtigt at finde disse anomale værdier, og visse maskinlæringsalgoritmer kan bruges til netop det.

den endelige type problem løses med et anbefalingssystem eller også kaldet anbefalingsmotor. Anbefalingssystemer er en type informationsfiltreringssystem og er beregnet til at komme med anbefalinger i mange applikationer, herunder film, musik, bøger, restauranter, artikler, produkter og så videre. De to mest almindelige tilgange er indholdsbaseret og samarbejdsfiltrering.

to gode eksempler på populære anbefalingsmotorer er dem, der tilbydes af . Vi giver anbefalinger for at holde seerne engagerede og forsynet med masser af indhold at se. Med andre ord, for at holde folk ved hjælp af Netfinder. De gør dette med deres “Fordi du har set …”, “topvalg til Aleks” og “forslag til dig” anbefalinger.gør en lignende ting for at øge salget gennem up-selling, opretholde salget gennem brugerengagement og så videre. De gør dette gennem deres” kunder, der har købt denne vare også købt”,” anbefalinger til dig, Aleks”,” relateret til varer, du har set”, og” flere varer at overveje ” anbefalinger.

maskinlæringsalgoritmer

Vi har nu dækket maskinlæringsproblemtyperne og de ønskede output. Nu vil vi give et højt niveau overblik over relevante machine learning algoritmer.

Her er en liste over algoritmer, både overvåget og uovervåget, der er meget populære og værd at vide om på et højt niveau. Bemærk, at nogle af disse algoritmer vil blive diskuteret i større dybde senere i denne serie.

Overvåget Regression

  • enkel og multipel lineær regression

  • beslutningstræ eller skovregression

  • kunstige neurale netværk

  • Ordinal regression

    Poisson regression

  • nærmeste nabo metoder (f. eks. K-nn eller k-nærmeste naboer)

Overvåget to-klasse & klassificering i flere klasser

  • logistisk regression og multinomial regression

  • kunstige neurale netværk

  • beslutningstræ, skov og jungler

  • SVM (Support Vector Machine)

  • Perceptron metoder

  • Bayesian klassifikatorer (f. eks. Naive Bayes)

  • nærmeste nabo metoder (f. eks. K-nn eller k-nærmeste naboer)

  • en versus alle multiklasser

uovervåget

  • K-betyder klyngedannelse

  • hierarkisk klyngedannelse

anomali Detection

  • Support vector machine (en klasse)

  • PCA (principle component analysis)

bemærk, at en teknik, der ofte bruges til at forbedre Modelydelsen, er at kombinere resultaterne af flere modeller. Denne tilgang udnytter det, der er kendt som ensemblemetoder, og tilfældige skove er et godt eksempel (diskuteret senere).

Hvis intet andet, er det en god ide at i det mindste gøre sig bekendt med navnene på disse populære algoritmer og have en grundlæggende ide om den type maskinindlæringsproblem og output, som de kan være velegnede til.

Resume

maskinlæring, forudsigelig analyse og andre relaterede emner er meget spændende og kraftfulde felter.

selvom disse emner kan være meget tekniske, er mange af de involverede begreber relativt enkle at forstå på et højt niveau. I mange tilfælde er en simpel forståelse alt, hvad der kræves for at have diskussioner baseret på maskinindlæringsproblemer, projekter, teknikker og så videre.

del to af denne serie vil give en introduktion til modelydelse, dække maskinindlæringsprocessen og diskutere modelvalg og tilhørende afvejninger i detaljer.

Stay tuned!

om forfatteren

Aleks er grundlæggeren af InnoArchiTech og InnoArchiTech Institute samt forfatteren af AI for People and Business udgivet af O ‘ Reilly Media.