Ultimele proiecte de învățare automată de încercat în 2019



Acest articol vă va oferi o cunoaștere cuprinzătoare a proiectelor de învățare automată din industrie și progresele realizate în acest domeniu.

este în mod clar un domeniu care a cunoscut progrese nebunești în ultimii doi ani. Această tendință și progrese au creat o mulțime de oportunități de locuri de muncă în industrie. Nevoia de Ingineri de învățare automată au o cerere ridicată, iar această creștere se datorează tehnologiei în curs de dezvoltare și generării de cantități uriașe de date, de exemplu Big Data. Așadar, în acest articol, voi discuta despre cele mai uimitoare proiecte de învățare automată pe care ar trebui să le cunoașteți și să lucrați cu siguranță, în următoarea ordine:

Ce este învățarea automată?

Învățarea automată este un concept care permite mașinii să învețe din exemple și experiență, și asta, fără a fi programat în mod explicit. Deci, în loc să scrieți codul, ceea ce faceți este să trimiteți date algoritmului generic, iar algoritmul / mașina construiește logica pe baza datelor date.





Cine este inginer ML

Pași de învățare automată

Orice algoritm de învățare automată urmează un model sau pași comuni.



Colectarea datelor: Această etapă implică colectarea tuturor datelor relevante din diverse surse

Lupta de date: Este procesul de curățare și conversie a „datelor brute” într-un format care permite consumul convenabil

Analizați datele: Datele sunt analizate pentru a selecta și filtra datele necesare pentru pregătirea modelului



Algoritmul trenului: Algoritmul este instruit asupra setului de date de antrenament, prin care algoritmul înțelege modelul și regulile care guvernează datele

Model de testare: Setul de date de testare determină acuratețea modelului nostru.

Implementare: Dacă viteza și precizia modelului sunt acceptabile, atunci acel model ar trebui să fie implementat în sistemul real. După ce modelul este implementat pe baza performanței sale, modelul este actualizat și îmbunătățit dacă există o scădere a performanței, modelul este recalificat.

Tipuri de învățare automată

Învățarea automată este subcategorizată în trei tipuri:

Învățare supravegheată: Este cea în care aveți variabile de intrare (x) și o variabilă de ieșire (Y) și utilizați un algoritm pentru a învăța funcția de mapare de la intrare la ieșire.

Învățare fără supraveghere: Uneori, datele date sunt nestructurate și neetichetate. Deci, devine dificil să clasificăm aceste date în diferite categorii. Învățarea fără supraveghere ajută la rezolvarea acestei probleme. Această învățare este utilizată pentru a grupa datele de intrare în clase pe baza proprietăților lor statistice.

Consolidarea învățării: Este vorba de a lua măsuri adecvate pentru a maximiza recompensa într-o anumită situație.
când vine vorba de învățarea prin întărire, nu există rezultate așteptate. Agentul de întărire decide ce acțiuni să întreprindă pentru a îndeplini o sarcină dată. În absența unui set de date de instruire, este obligat să învețe din experiența sa.

Acum, să aruncăm o privire la câteva proiecte de învățare automată din viața reală care pot ajuta companiile să genereze profit.

Cazuri de utilizare din industrie

1. STUDIO DE MIȘCARE

Domeniu: Jumătate

Focus: Optimizați procesul de selecție

implementarea hashmap în exemplul java

Provocare de afaceri: Motion Studio este cea mai mare casă de producție radio din Europa. Având un venit de peste un miliard de dolari, compania a decis să lanseze un nou reality show: RJ Star. Răspunsul la spectacol este fără precedent, iar compania este inundată de clipuri vocale. În calitate de expert ML, trebuie să clasificați vocea ca bărbat / femeie, astfel încât primul nivel de filtrare să fie mai rapid.

Probleme fundamentale: Eșantionarea vocală are accente.

Beneficiu pentru afaceri: De cand RJ Star este un reality show, timpul pentru a selecta candidații este foarte scurt. Întregul succes al spectacolului și, prin urmare, profiturile depind de executarea rapidă și lină

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns% matplotlib inline import warnings warnings.filterwarnings ('ignore') df = pd.read_csv ('voice-classification.csv') df.head ()

# Verificați nr. de înregistrări df.info () df.describe () df.isnull (). sum ()

print ('Forma datelor:', df.shape) print ('Numărul total de etichete: {}'. format (df.shape [0])) print ('Numărul masculin: {}'. format (df [ df.label == 'masculin']. formă [0])) print ('Număr de femeie: {}'. format (df [df.label == 'feminin']. formă [0]))

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

din sklearn.preprocessing import LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y din sklearn.preprocessing import StandardScaler scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) din 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) din sklearn.svm import SVC din import metrics sklearn.met , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Scorul de precizie:') print (metrics.accuracy_score (y_test, y_pred))

print (matrice_confuzie (y_test, y_pred))

2. PUTEREA LITIONARĂ

Domeniu: Automobile

Focus: Incentivați șoferii

Provocare de afaceri: Lithionpower este cel mai mare furnizor de baterii pentru vehicule electrice (vehicule electrice). Șoferii închiriază bateria de obicei pentru o zi și apoi o înlocuiesc cu o baterie încărcată de la companie. Lithionpower are un model de preț variabil bazat pe istoricul conducătorului auto. Deoarece durata de viață a unei baterii depinde de factori precum depășirea vitezei, distanța parcursă pe zi, etc. În calitate de expert ML, trebuie să creați un model de cluster în care șoferii să poată fi grupați împreună pe baza datelor de conducere.

Probleme fundamentale: Șoferii vor fi stimulați pe baza clusterului, astfel încât gruparea trebuie să fie exactă.

Beneficii pentru afaceri: Creșterea profiturilor, până la 15-20%, deoarece șoferii cu istoric slab vor fi taxați mai mult.

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns sns.set () # for plot styling% matplotlib inline import warnings warnings.filterwarnings ('ignore') import matplotlib.pyplot as plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

din import sklearn.cluster KMeans # Luând 2 clustere 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_)) unic, counts = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (unic, 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)

# Acum, Să verificăm clusterele, când 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_) unique, counts = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (unic, 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', size = 6, aspect = 1, fit_reg = False)

3. BluEx

Domeniu: Logistică

Focus: Calea optimă

Provocare de afaceri: BluEx este o companie de logistică lider în India. Este cunoscut pentru livrarea eficientă a pachetelor către clienți. Cu toate acestea, BluEx se confruntă cu o provocare în care șoferii săi de autoutilitare iau o cale suboptimă pentru livrare. Acest lucru determină întârzieri și costuri mai mari pentru combustibil. În calitate de expert ML, trebuie să creați un model ML folosind Reinforcement Learning, astfel încât să se găsească o cale eficientă prin program.

Probleme fundamentale: Datele au o mulțime de atribute, iar clasificarea ar putea fi dificilă.

Beneficii pentru afaceri: Până la 15% din costul combustibilului poate fi economisit luând calea optimă.

import numpy as np import pylab as plt import networkx as nx #Initializing points points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2) , 3), (2,7)] obiectiv = 7 mapare = {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 #Inititlaizing R Matrix R = np.matrix (np.ones (shape = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 for point in points_list: print (point) if point [1] == goal: R [punct] = 150 altceva: R [punct] = 0 dacă punctul [0] == obiectiv: R [punctul [:: - 1]] = 150 altceva: # inversarea punctului R [punctul [:: - 1]] = 0

R [țel, țel] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Parametrul de învățare gamma = 0.8 initial_state = 1 def available_actions (state): 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 (initial_state, action, gamma)

scoruri = [] pentru i în intervalul (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 ('Matricea Q antrenată:') print (Q / np.max (Q) * 100) # Testarea statului_curent = 0 pași = [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

care este diferența dintre o clasă și o interfață
print („Calea cea mai eficientă:”) print (pași) plt.plot (scoruri) plt.show ()

Proiecte Open Source Machine Learning în 2019

Detectron : Detectron este sistemul software Facebook AI Research care implementează algoritmi de detectare a obiectelor de ultimă generație. Este scris în Python și alimentat de cadrul de învățare profundă Caffe2.

Scopul Detectron este de a oferi o bază de cod de înaltă calitate și performanță pentru cercetarea detectării obiectelor. Este conceput pentru a fi flexibil pentru a sprijini implementarea și evaluarea rapidă a cercetărilor noi. Conține mai mult de 50 de modele pre-antrenate.

Denspose : Estimarea densă a poziției umane urmărește maparea tuturor pixelilor umani ai unei imagini RGB pe suprafața 3D a corpului uman. DensePose-RCNN este implementat în cadrul Detectron.

TensorFlow.js : Este o bibliotecă pentru dezvoltarea și instruirea modelelor ML și implementarea în browser. A devenit o versiune foarte populară, deoarece a fost lansată la începutul acestui an și continuă să uimească prin flexibilitatea sa. Cu aceasta poți

  • Dezvoltați ML în browser: Utilizați API-uri flexibile și intuitive pentru a construi modele de la zero folosind biblioteca de algebră liniară JavaScript de nivel scăzut sau API-ul de nivel înalt de straturi.
  • Rulați modele existente : Utilizați convertoare de modele TensorFlow.js pentru a rula modele TensorFlow preexistente chiar în browser.
  • Recalificați modelele existente: Recalificați modelele ML preexistente folosind datele senzorilor conectate la browser sau alte date din partea clientului.

Waveglow: Învățarea automată face, de asemenea, progrese majore în procesarea audio și nu generează doar muzică sau clasificare. WaveGlow este o rețea generativă bazată pe flux pentru sinteza vorbirii de către NVIDIA. Cercetătorii au enumerat, de asemenea, pașii pe care îi puteți urma dacă doriți să vă antrenați propriul model de la zero.

Vopsirea imaginii : Imaginați-vă că aveți o jumătate de imagine a unei scene și ați dorit peisajul complet, ei bine, asta este ceea ce pictura cu imagini poate face asta pentru dvs. Acest proiect este o implementare Keras a hârtiei Image Outpainting de la Stanford. Modelul a fost instruit cu 3500 date de plajă casate cu argumentație totalizând până la 10.500 imagini pentru 25 de epoci .

Aceasta este o lucrare uimitoare cu o explicație detaliată pas cu pas. Un exemplu obligatoriu pentru toți pasionații de învățare automată. Personal, acesta este proiectul meu preferat de Machine Learning.

Armonizare profundă a picturii : Ei bine, vorbind despre imagini, aceasta este o capodoperă. Ceea ce face acest algoritm este, ia o imagine ca intrare și apoi, dacă adăugați un element extern la imagine, acesta amestecă acel element în împrejurimi ca și cum ar fi o parte din el.

Poți face diferența? Fara drept? Ei bine, acest lucru ne arată cât de departe am ajuns în ceea ce privește învățarea automată.

DeepMimic: Acum, aruncați o privire atentă la imaginile de aici, vedeți o figură de baston care face spin-kick, backflip și cartwheel. Că prietenul meu învață în acțiune. DeepMimic este un exemplu de învățare a consolidării profunde a abilităților de caracter bazate pe fizică.

Magenta : Magenta este un proiect de cercetare care explorează rolul învățării automate în procesul de creare a artei și a muzicii. În primul rând, aceasta implică dezvoltarea de noi algoritmi de învățare profundă și de învățare consolidată pentru generarea de cântece, imagini, desene și alte materiale.

Este, de asemenea, o explorare în construirea de instrumente și interfețe inteligente care să permită artiștilor și muzicienilor să se extindă ( nu înlocuiți! ) procesele lor folosind aceste modele. Ridică-ți aripile, creează-ți conținutul unic pentru Instagram sau Soundcloud și devine un influencer.

Așadar, băieți, cu acest lucru am ajuns la sfârșitul acestui uimitor articol de Proiecte de învățare automată. Încercați aceste exemple și spuneți-ne în secțiunea de comentarii de mai jos. Sper că ați cunoscut implementarea practică a Machine Learning în industrie. Edureka’s vă face să cunoașteți tehnici precum învățarea supravegheată, învățarea nesupravegheată și procesarea limbajului natural. Acesta include instruire cu privire la cele mai noi progrese și abordări tehnice în inteligența artificială și învățarea automată, cum ar fi învățarea profundă, modelele grafice și învățarea prin întărire