Nieuwste machine learning-projecten om uit te proberen in 2019



Dit artikel biedt u uitgebreide kennis van Machine Learning-projecten in de branche en de doorbraken op dit gebied.

is duidelijk een veld dat de afgelopen jaren gekke vorderingen heeft gemaakt. Deze trend en vorderingen hebben veel banen in de branche gecreëerd. De behoefte voor Machine Learning-ingenieurs Er is veel vraag naar en deze stijging is te wijten aan de evoluerende technologie en het genereren van enorme hoeveelheden gegevens, ook wel Big Data genoemd. Dus in dit artikel bespreek ik de meest verbazingwekkende Machine Learning-projecten die je zeker moet kennen en waarmee je moet werken, in de volgende volgorde:

Wat is machine learning?

Machine Learning is een concept waarbij de machine leert van voorbeelden en ervaringen, en dat ook zonder expliciet te worden geprogrammeerd. Dus in plaats van dat u de code schrijft, voert u gegevens naar het generieke algoritme in, en het algoritme / de machine bouwt de logica op basis van de gegeven gegevens.





Wie is een ML Engineer

Stappen voor machine learning

Elk Machine Learning-algoritme volgt een gemeenschappelijk patroon of stappen.



Gegevens verzamelen: In deze fase worden alle relevante gegevens uit verschillende bronnen verzameld

Data Wrangling: Het is het proces van het opschonen en converteren van 'Raw Data' naar een formaat dat gemakkelijk te gebruiken is

Data analyseren: De gegevens worden geanalyseerd om de gegevens te selecteren en te filteren die nodig zijn om het model voor te bereiden



Algoritme van de trein: Het algoritme is getraind op de trainingsdataset, waardoor het algoritme het patroon en de regels begrijpt die de data beheersen

Testmodel: De testdataset bepaalt de nauwkeurigheid van ons model.

Inzet: Als de snelheid en nauwkeurigheid van het model acceptabel zijn, dan moet dat model in het echte systeem worden ingezet. Nadat het model is geïmplementeerd op basis van zijn prestaties, wordt het model bijgewerkt en verbeterd als er een prestatiedaling is, wordt het model opnieuw getraind.

Soorten machine learning

Machine Learning is onderverdeeld in drie typen:

Leren onder toezicht: Het is degene waar je invoervariabelen (x) en een uitvoervariabele (Y) hebt en je een algoritme gebruikt om de mappingfunctie van de invoer naar de uitvoer te leren.

Ongecontroleerd leren: Soms zijn de gegeven gegevens ongestructureerd en niet gelabeld. Het wordt dus moeilijk om die gegevens in verschillende categorieën in te delen. Ongecontroleerd leren helpt dit probleem op te lossen. Dit leren wordt gebruikt om de invoergegevens in klassen te clusteren op basis van hun statistische eigenschappen.

Versterking leren: Het draait allemaal om het nemen van passende maatregelen om de beloning in een bepaalde situatie te maximaliseren.
als het gaat om bekrachtigingsleren, is er geen verwachte output. De bekrachtiger beslist welke acties hij moet ondernemen om een ​​bepaalde taak uit te voeren. Bij het ontbreken van een trainingsdataset, zal het zeker leren van zijn ervaring.

Laten we nu eens kijken naar een paar real-life machine learning-projecten die bedrijven kunnen helpen winst te maken.

Gebruiksscenario's voor de industrie

1. MOTION STUDIO

Domein: Voor de helft

Focus: Optimaliseer het selectieproces

wat is een regeleinde in html

Zakelijke uitdaging: Motion Studio is het grootste radioproductiehuis in Europa. Met een omzet van meer dan een miljard dollar heeft het bedrijf besloten om een ​​nieuwe realityshow te lanceren: RJ Star. De respons op de show is ongekend en het bedrijf wordt overspoeld met spraakfragmenten. U als ML-expert moet de stem classificeren als mannelijk / vrouwelijk, zodat het eerste filterniveau sneller is.

Belangrijkste problemen: Stemvoorbeeld zijn over accenten.

Zakelijk voordeel: Sinds RJ Star is een realityshow, de tijd om kandidaten te selecteren is erg kort. Het hele succes van de show en dus de winst hangt af van een snelle en soepele uitvoering

importeer panda's als pd importeer numpy als np importeer matplotlib.pyplot als plt importeer seaborn als sns% matplotlib inline importwaarschuwingen waarschuwingen.filterwarnings ('negeren') df = pd.read_csv ('voice-classificatie.csv') df.head ()

# Controleer de nee. van records df.info () df.describe () df.isnull (). sum ()

print ('Shape of Data:', df.shape) print ('Total number of labels: {}'. format (df.shape [0])) print ('Number of male: {}'. format (df [ df.label == 'male']. shape [0])) print ('Number of female: {}'. format (df [df.label == 'female']. shape [0]))

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

uit sklearn.preprocessing import LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y uit sklearn.preprocessing import StandardScaler scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) van 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) uit sklearn.svm importeer SVC uit sklearn importmetrics uit sklearnreportmetrics uit sklearnreportmetrics , 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))

print (confusion_matrix (y_test, y_pred))

2. LITHIONPOWER

Domein: Automobiel

Focus: Stimuleer chauffeurs

Zakelijke uitdaging: Lithionpower is de grootste leverancier van accu's voor elektrische voertuigen (e-voertuigen). Chauffeurs huren de batterij doorgaans voor een dag en vervangen deze vervolgens door een opgeladen batterij van het bedrijf. Lithionpower heeft een variabel prijsmodel op basis van de rijgeschiedenis van de bestuurder. Omdat de levensduur van een accu afhankelijk is van factoren als snelheidsoverschrijding, afgelegde afstand per dag, etc. moet je als ML-expert een clustermodel maken waarin chauffeurs gegroepeerd kunnen worden op basis van de rijgegevens.

Kernpunten: Bestuurders worden gestimuleerd op basis van het cluster, dus de groepering moet nauwkeurig zijn.

Zakelijke voordelen: Winststijging, tot 15-20%, omdat chauffeurs met een slechte geschiedenis meer in rekening worden gebracht.

importeer panda's als pd importeer numpy als np importeer matplotlib.pyplot als plt importeer seaborn als sns sns.set () # voor plotstyling% matplotlib inline import waarschuwingen waarschuwingen.filterwarnings ('negeren') importeer matplotlib.pyplot als plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

van sklearn.cluster importeer KMeans # 2 clusters nemen kmeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', axis = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

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

print (type (kmeans.labels_)) uniek, counts = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (uniek, counts)))

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', size = 6, aspect = 1, fit_reg = False)

#Nu, laten we de clusters bekijken, wanneer n = 4 kmeans_4 = KMeans (n_clusters = 4) kmeans_4.fit (df.drop ('id', axis = 1)) kmeans_4.fit (df.drop ('id', axis = 1)) print (kmeans_4.cluster_centers_) uniek, counts = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (uniek, counts)))

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', maat = 6, aspect = 1, fit_reg = False)

qtp versus selenium wat beter is

3. BluEx

Domein: Logistiek

Focus: Optimaal pad

Zakelijke uitdaging: BluEx is een toonaangevend logistiek bedrijf in India. Het staat bekend om de efficiënte levering van pakketten aan klanten. BluEx staat echter voor een uitdaging waarbij de chauffeurs van hun bestelwagens een suboptimale weg inslaan voor bezorging. Dit veroorzaakt vertragingen en hogere brandstofkosten. Jij als ML-expert moet een ML-model maken met behulp van Reinforcement Learning, zodat een efficiënt pad door het programma wordt gevonden.

Kernpunten: Gegevens hebben veel attributen en classificatie kan lastig zijn.

Zakelijke voordelen: Door de optimale weg te kiezen, kan tot 15% op de brandstofkosten worden bespaard.

importeer numpy als np importeer pylab als plt importeer networkx als nx #Initializing points points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] doel = 7 mapping = {0: 'Start', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-Destination '} G = nx.Graph () G.add_edges_from (points_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 #Initlaizing R Matrix R = np.matrix (np.ones (vorm = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 voor punt in puntenlijst: print (punt) als punt [1] == doel: R [punt] = 150 anders: R [punt] = 0 als punt [0] == doel: R [punt [:: - 1]] = 150 anders: # keerzijde van punt R [punt [:: - 1]] = 0

R [doel, doel] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # De leerparameter gamma = 0.8 initial_state = 1 def beschikbare_acties (status): current_state_row = R [state,] av_act = np.where (current_state_row & ampampampgt = 0 ) [1] return av_act available_act = available_actions (initial_state) def sample_next_action (available_actions_range): next_action = int (np.random.choice (available_act, 1)) return next_action action = sample_next_action (available_act) def update (current_state, action, 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, size = 1)) else: max_index = int (max_index) max_value = Q [action, max_index] Q [current_state, action] = R [current_state, action] + gamma * max_value print ('max_value', R [current_state, action] + gamma * max_value) if (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) else: return (0) update (initiële_status, actie, gamma)

scores = [] voor i in bereik (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, action, gamma) scores.append (score) print ('Score:', str (score)) print ('Trained Q matrix:') print (Q / np.max (Q) * 100) # Test current_state = 0 stappen = [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, size = 1)) else: next_step_index = int (next_step_index) steps.append (next_step_index) current_state = next_step_index

print ('Meest efficiënte pad:') print (stappen) plt.plot (scores) plt.show ()

Open source machine learning-projecten in 2019

Detectron : Detectron is het softwaresysteem van Facebook AI Research dat ultramoderne algoritmen voor objectdetectie implementeert. Het is geschreven in Python en wordt mogelijk gemaakt door het Caffe2 deep learning-framework.

Het doel van Detectron is om een ​​hoogwaardige, krachtige codebase te bieden voor onderzoek naar objectdetectie. Het is ontworpen om flexibel te zijn om een ​​snelle implementatie en evaluatie van nieuw onderzoek te ondersteunen. Het bevat meer dan 50 vooraf getrainde modellen.

Denspose : Dichte menselijke pose-schatting is gericht op het in kaart brengen van alle menselijke pixels van een RGB-afbeelding op het 3D-oppervlak van het menselijk lichaam. DensePose-RCNN is geïmplementeerd in het Detectron-framework.

TensorFlow.js : Het is een bibliotheek voor het ontwikkelen en trainen van ML-modellen en voor implementatie in de browser. Het is een erg populaire release geworden sinds de release eerder dit jaar en blijft verbazen over zijn flexibiliteit. Hiermee kunt u

  • ML ontwikkelen in de browser: Gebruik flexibele en intuïtieve API's om vanaf het begin modellen te bouwen met behulp van de lineaire JavaScript-algebra-bibliotheek op laag niveau of de API voor lagen op hoog niveau.
  • Voer bestaande modellen uit : Gebruik TensorFlow.js-modelconverters om reeds bestaande TensorFlow-modellen rechtstreeks in de browser uit te voeren.
  • Bestaande modellen opnieuw trainen: Train bestaande ML-modellen opnieuw met behulp van sensorgegevens die met de browser zijn verbonden, of andere gegevens aan de clientzijde.

Waveglow: Machine Learning zorgt ook voor grote vooruitgang op het gebied van audioverwerking en genereert niet alleen muziek of classificatie. WaveGlow is een op stroom gebaseerd generatief netwerk voor spraaksynthese door NVIDIA. De onderzoekers hebben ook de stappen op een rijtje gezet die je kunt volgen als je je eigen model helemaal opnieuw wilt trainen.

Afbeelding overtreft : Stel je voor dat je een halve afbeelding van een scène hebt en je wilde het volledige landschap, nou dat is wat beeldverkleuring dat voor je kan doen. Dit project is een Keras-implementatie van Stanfords Image Outpainting-papier. Met het model werd getraind 3500 geschrapt strandgegevens met argumentatie tot in totaal 10.500 afbeeldingen voor 25 tijdperken .

Dit is een geweldige paper met een gedetailleerde stap voor stap uitleg. Een voorbeeld dat je moet proberen voor alle liefhebbers van machine learning. Persoonlijk is dit mijn favoriete Machine Learning-project.

Diepe schilderkunstige harmonisatie : Over afbeeldingen gesproken, dit is een meesterwerk. Wat dit algoritme doet, is een afbeelding als invoer nemen en als je vervolgens een extern element aan de afbeelding toevoegt, mengt het dat element met de omgeving alsof het er deel van uitmaakt.

Kunt u het verschil zien? Geen recht? Dit laat ons zien hoe ver we zijn gekomen op het gebied van machine learning.

DeepMimic: Kijk nu eens goed naar de afbeeldingen hier, je ziet een stokfiguur die spin-kick, backflip en radslag doet. Dat mijn vriend bekrachtigend leren in actie is. DeepMimic is een voorbeeldgestuurde Deep Reinforcement Learning van op fysica gebaseerde karaktervaardigheden.

Magenta : Magenta is een onderzoeksproject dat de rol van machine learning in het proces van het creëren van kunst en muziek onderzoekt. Dit omvat in de eerste plaats het ontwikkelen van nieuwe algoritmen voor diep leren en versterkend leren voor het genereren van liedjes, afbeeldingen, tekeningen en ander materiaal.

Het is ook een verkenning in het bouwen van slimme tools en interfaces waarmee artiesten en muzikanten kunnen uitbreiden ( niet vervangen! ) hun processen met behulp van deze modellen. Ga je vleugels uitslaan, creëer je unieke content voor Instagram of Soundcloud en word een influencer.

Dus jongens, hiermee komen we aan het einde van dit geweldige artikel over Machine Learning Projects. Probeer deze voorbeelden uit en laat het ons weten in het commentaargedeelte hieronder. Ik hoop dat je de praktische implementatie van Machine Learning in de branche hebt leren kennen. Edureka's maakt je bekwaam in technieken als begeleid leren, onbewaakt leren en natuurlijke taalverwerking. Het omvat training over de nieuwste vorderingen en technische benaderingen in kunstmatige intelligentie en machine learning, zoals diep leren, grafische modellen en versterkend leren