Seneste maskinlæringsprojekter at prøve i 2019



Denne artikel vil give dig en omfattende viden om maskinlæringsprojekter i branchen og gennembruddene inden for dette område.

er helt klart et felt, der har set skøre fremskridt de sidste par år. Denne tendens og fremskridt har skabt mange jobmuligheder i branchen. Behovet for Machine Learning Engineers er meget efterspurgte, og denne stigning skyldes udviklende teknologi og generering af enorme mængder data aka Big Data. Så i denne artikel vil jeg diskutere de mest fantastiske maskinindlæringsprojekter, man absolut burde kende og arbejde med, i følgende rækkefølge:

Hvad er maskinindlæring?

Machine Learning er et koncept, der gør det muligt for maskinen at lære af eksempler og erfaringer, og det også uden at være eksplicit programmeret. Så i stedet for at du skriver koden, føder du data til den generiske algoritme, og algoritmen / maskinen bygger logikken baseret på de givne data.





Hvem er en ML-ingeniør

Trin for maskinindlæring

Enhver maskinlæringsalgoritme følger et fælles mønster eller trin.



Indsamling af data: Denne fase involverer indsamling af alle relevante data fra forskellige kilder

Data Wrangling: Det er processen med rengøring og konvertering af 'rådata' til et format, der giver praktisk forbrug

Analyser data: Data analyseres for at vælge og filtrere de data, der kræves for at forberede modellen



Togalgoritme: Algoritmen trænes i træningsdatasættet, hvorigennem algoritmen forstår mønsteret og de regler, der styrer dataene

Testmodel: Testdatasættet bestemmer nøjagtigheden af ​​vores model.

Implementering: Hvis hastigheden og nøjagtigheden af ​​modellen er acceptabel, skal den model implementeres i det virkelige system. Efter at modellen er implementeret baseret på dens ydeevne, opdateres og forbedres modellen, hvis der er en dip i ydeevne, er modellen omskolet.

Typer af maskinindlæring

Machine Learning er underkategoriseret i tre typer:

Overvåget læring: Det er den, hvor du har inputvariabler (x) og en outputvariabel (Y), og du bruger en algoritme til at lære kortlægningsfunktionen fra input til output.

Uovervåget læring: Nogle gange er de givne data ustrukturerede og umærkede. Så det bliver svært at klassificere disse data i forskellige kategorier. Uovervåget læring hjælper med at løse dette problem. Denne læring bruges til at samle inputdataene i klasser på baggrund af deres statistiske egenskaber.

Læring af forstærkning: Det handler om at tage passende skridt for at maksimere belønningen i en bestemt situation.
når det kommer til forstærkningslæring, er der ingen forventet output. Forstærkningsagenten beslutter, hvilke handlinger der skal foretages for at udføre en given opgave. I mangel af et træningsdatasæt er det bundet til at lære af dets erfaring.

Lad os nu se på et par Real-Life Machine Learning-projekter, der kan hjælpe virksomheder med at generere overskud.

Industri brugssager

1. MOTION STUDIO

Domæne: Halvt

Fokus: Optimer udvælgelsesprocessen

forskel mellem hash-kort og hash-tabel

Forretningsudfordring: Motion Studio er det største radioproduktionshus i Europa. Med en omsætning på mere end en milliard dollars har virksomheden besluttet at lancere et nyt reality-show: RJ Star. Svaret på showet er uden fortilfælde, og virksomheden er oversvømmet med stemmeklip. Du som ML-ekspert er nødt til at klassificere stemmen som enten mand / kvinde, så det første filtreringsniveau bliver hurtigere.

Nøgle problemer: Stemmeprøve er på tværs af accenter.

Forretningsfordel: Siden RJ Star er et reality show, er tiden til at vælge kandidater meget kort. Hele showets succes og dermed overskuddet afhænger af hurtig og jævn udførelse

importer pandaer som pd import numpy som np import matplotlib.pyplot som plt import søfødt som sns% matplotlib inline import advarsler advarsler. filteradvarsler ('ignorere') df = pd.read_csv ('stemmeklassifikation.csv') df.head ()

# Kontroller nej. af optegnelser df.info () df.describe () df.isnull (). sum ()

print ('Shape of Data:', df.shape) print ('Total antal labels: {}'. format (df.shape [0])) print ('Number of male: {}'. format (df [ df.label == 'mand']. form [0])) print ('Antal kvinder: {}'. format (df [df.label == 'kvinde']. form [0]))

X = df.iloc [:,: -1] print (df.shape) print (X.shape)

fra sklearn.preprocessing importer LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y fra sklearn.preprocessing import StandardScaler scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) fra sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) from sklearn.svm import SVC from sklearn import metrics from sklearn_metric , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Accuracy Score:') print (metrics.accuracy_score (y_test, y_pred))

udskriv (confusion_matrix (y_test, y_pred))

2. LITHIONPOWER

Domæne: Automotive

Fokus: Incitamiser drivere

Forretningsudfordring: Lithionpower er den største udbyder af elbiler (e-køretøj) batterier. Chauffører lejer typisk batteri i en dag og udskifter det derefter med et opladet batteri fra virksomheden. Lithionpower har en variabel prismodel baseret på førerens kørehistorik. Da batteriets levetid afhænger af faktorer som overhastighed, kørsel på afstand pr. Dag osv. Du som ML-ekspert skal oprette en klyngemodel, hvor chauffører kan grupperes sammen baseret på kørselsdata.

Nøgle problemer: Drivere vil blive tilskyndet baseret på klyngen, så gruppering skal være nøjagtig.

Forretningsfordele: Forøgelse af overskuddet, op til 15-20%, da drivere med dårlig historie vil blive opkrævet mere.

importer pandaer som pd import numpy som np import matplotlib.pyplot som plt import seaborn som sns sns.set () # til plot styling% matplotlib inline import advarsler advarsler. filteradvarsler ('ignorere') import matplotlib.pyplot som plt plt.rcParams [ 'figur.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.beskriv ()

fra sklearn.cluster import KMeans #Tag 2 klynger kmeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', akse = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

print (kmeans.labels_) print (len (kmeans.labels_))

print (type (kmeans.labels_)) unik, tæller = np.unik (kmeans.labels_, return_counts = True) print (dict (zip (unik, tæller)))

df_analyze ['cluster'] = kmeans.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', størrelse = 6, aspekt = 1, fit_reg = Falsk)

#Nu, lad os kontrollere klyngerne, når n = 4 kmeans_4 = KMeans (n_clusters = 4) kmeans_4.fit (df.drop ('id', akse = 1)) kmeans_4.fit (df.drop ('id', akse = 1)) print (kmeans_4.cluster_centers_) unik, tæller = np.unique (kmeans_4.labels_, return_counts = Sand) kmeans_4.cluster_centers_ print (dict (zip (unik, tæller)))

df_analyze ['cluster'] = kmeans_4.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', size = 6 aspekt = 1, fit_reg = Falsk)

3. BluEx

Domæne: Logistik

Fokus: Optimal sti

hvad er forskellen mellem java og c ++

Forretningsudfordring: BluEx er en førende logistikvirksomhed i Indien. Det er kendt for effektiv levering af pakker til kunder. BluEx står imidlertid over for en udfordring, hvor dens vanchauffører tager en suboptimal vej til levering. Dette medfører forsinkelser og højere brændstofomkostninger. Du som ML-ekspert skal oprette en ML-model ved hjælp af Reinforcement Learning, så der findes en effektiv vej gennem programmet.

Nøgle problemer: Data har mange attributter, og klassificering kan være vanskelig.

Forretningsfordele: Op til 15% af brændstofomkostningerne kan spares ved at tage den optimale vej.

import numpy som np import pylab som plt import netværkx som nx #Initialisering af point point_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] mål = 7 kortlægning = {0: 'Start', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-destination '} G = nx.Graf () G.add_edges_from (point_list) pos = nx.spring_layout (G, k = .5, center = points_list [2]) nx .draw_networkx_nodes (G, pos, node_color = 'g') nx.draw_networkx_edges (G, pos, edge_color = 'b') nx.draw_networkx_labels (G, pos) plt.show ()

NO_OF_POINTS = 8 #Inititlaizing R Matrix R = np.matrix (np.ones (form = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 for punkt i point_list: print (point) hvis punkt [1] == mål: R [punkt] = 150 andet: R [punkt] = 0 hvis punkt [0] == mål: R [punkt [:: - 1]] = 150 andet: # omvendt af punkt R [punkt [:: - 1]] = 0

R [mål, mål] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Læringsparameteren gamma = 0,8 initial_state = 1 def tilgængelig_handlinger (tilstand): current_state_row = R [state,] av_act = np.where (current_state_row & ampampampgt = 0 ) [1] returnere av_act tilgængelig_akt = tilgængelig_aktion (initialstatus) def sample_next_action (tilgængelig_action_range): next_action = int (np.random.choice (tilgængelig_act, 1)) returnere next_action action = sample_next_action (tilgængelig_act) def opdatering (current_state, handling, gamma) : max_index = np.where (Q [action,] == np.max (Q [action,])) [1] if max_index.shape [0] & ampampampgt 1: max_index = int (np.random.choice (max_index, størrelse = 1)) ellers: max_index = int (max_index) max_value = Q [handling, max_index] Q [current_state, action] = R [current_state, action] + gamma * max_value print ('max_value', R [current_state, action] + gamma * max_value) hvis (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) andet: return (0) opdatering (initial_state, action, gamma)

scores = [] for i inden for rækkevidde (700): current_state = np.random.randint (0, int (Q.shape [0])) available_act = available_actions (current_state) action = sample_next_action (available_act) score = update (current_state, handling, gamma) scores.append (score) print ('Score:', str (score)) print ('Trained Q matrix:') print (Q / np.max (Q) * 100) # Testing current_state = 0 trin = [current_state] while current_state! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] if next_step_index.shape [0] & ampampampgt 1: next_step_index = int (np.random.choice (next_step_index, størrelse = 1)) andet: next_step_index = int (next_step_index) trin. tilføj (next_step_index) current_state = next_step_index

print ('Mest effektive sti:') print (trin) plt.plot (scores) plt.show ()

Open Source Machine Learning-projekter i 2019

Detektron : Detectron er Facebook AI Research's softwaresystem, der implementerer avancerede objektdetekteringsalgoritmer. Det er skrevet i Python og drives af Caffe2 deep learning-rammen.

Målet med Detectron er at tilvejebringe en høj kvalitet, højtydende codebase til objektdetekteringsforskning. Det er designet til at være fleksibelt for at understøtte hurtig implementering og evaluering af ny forskning. Den indeholder mere end 50 foruddannede modeller.

Denspose : Estimering af tæt menneskelig pose sigter mod at kortlægge alle menneskelige pixels i et RGB-billede til 3D-overfladen af ​​den menneskelige krop. DensePose-RCNN er implementeret i Detectron-rammen.

TensorFlow.js : Det er et bibliotek til udvikling og træning af ML-modeller og implementering i browseren. Det er blevet en meget populær udgivelse, da den blev frigivet tidligere på året og fortsætter med at forbløffe med sin fleksibilitet. Med dette kan du

  • Udvik ML i browseren: Brug fleksible og intuitive API'er til at opbygge modeller fra bunden ved hjælp af JavaScript-lineært algebra-bibliotek på lavt niveau eller API'en på højt niveau-lag.
  • Kør eksisterende modeller : Brug TensorFlow.js-modelkonvertere til at køre eksisterende TensorFlow-modeller lige i browseren.
  • Omskolering Eksisterende modeller: Omskol allerede eksisterende ML-modeller ved hjælp af sensordata, der er forbundet til browseren eller andre data på klientsiden.

Waveglow: Machine Learning gør også store fremskridt inden for lydbehandling, og det genererer ikke kun musik eller klassifikation. WaveGlow er et flowbaseret generativt netværk til talesyntese af NVIDIA. Forskerne har også angivet de trin, du kan følge, hvis du vil træne din egen model fra bunden.

Billedmaling : Forestil dig, at du har et halvt billede af en scene, og at du ville have det fulde landskab, det er det, som billedmaling kan gøre det for dig. Dette projekt er en Keras-implementering af Stanfords Image Outpainting-papir. Modellen blev trænet med 3500 skrottede stranddata med argumentation på i alt op til 10.500 billeder til 25 epoker .

Dette er et fantastisk papir med en detaljeret forklaring trin for trin. Et must-eksempel for alle maskinlæringsentusiaster. Personligt er dette mit foretrukne Machine Learning-projekt.

Dyb malerisk harmonisering : Nå, når vi taler om billeder, er dette et mesterværk. Hvad denne algoritme gør er, tager et billede som input, og hvis du tilføjer et eksternt element til billedet, blander det elementet ind i omgivelserne, som om det er en del af det.

Kan du se forskellen? Nej, ikke? Nå, dette viser os, hvor langt vi er kommet med hensyn til maskinindlæring.

DeepMimic: Se nu på billederne her, du ser en pindfigur, der laver spin-kick, backflip og cartwheel. At min ven forstærker læring i aktion. DeepMimic er en eksempelstyret dyb forstærkningslæring af fysikbaserede karakterfærdigheder.

Magenta : Magenta er et forskningsprojekt, der udforsker maskinindlæringens rolle i processen med at skabe kunst og musik. Primært involverer dette udvikling af dyb læring og forstærkning af læringsalgoritmer til generering af sange, billeder, tegninger og andet materiale.

Det er også en udforskning i at opbygge smarte værktøjer og grænseflader, der gør det muligt for kunstnere og musikere at udvide ( ikke erstatte! ) deres processer ved hjælp af disse modeller. Gå spred dine vinger, lav dit unikke indhold til Instagram eller Soundcloud, og bliv en influencer.

Så fyre, med dette slutter vi denne fantastiske Machine Learning Projects-artikel. Prøv disse eksempler, og lad os vide det i kommentarfeltet nedenfor. Jeg håber, du lærte den praktiske implementering af Machine Learning i branchen at kende. Edureka's gør dig dygtig i teknikker som Supervised Learning, Unsupervised Learning og Natural Language Processing. Det inkluderer træning i de seneste fremskridt og tekniske tilgange inden for kunstig intelligens og maskinindlæring som dyb læring, grafiske modeller og forstærkningslæring