Najnovejši projekti strojnega učenja, ki jih bomo preizkusili leta 2019



V tem članku boste našli celovito znanje o projektih strojnega učenja v industriji in dosežkih na tem področju.

je očitno področje, ki je v zadnjih nekaj letih zaznamovalo nori napredek. Ta trend in napredek je ustvaril veliko zaposlitvenih priložnosti v industriji. Potreba po Inženirji strojnega učenja je veliko povpraševanje, ta porast pa je posledica razvijajoče se tehnologije in generiranja ogromnih količin podatkov, imenovanih Big Data. Torej, v tem članku bom razpravljal o najbolj neverjetnih projektih strojnega učenja, ki jih je vsekakor treba poznati in delati, v naslednjem vrstnem redu:

Kaj je strojno učenje?

Strojno učenje je koncept, ki omogoča stroju, da se uči iz primerov in izkušenj, in to tudi brez izrecnega programiranja. Torej, namesto da pišete kodo, podatke pošiljate generičnemu algoritmu in algoritem / stroj gradi logiko na podlagi danih podatkov.





Kdo je inženir ML

Koraki strojnega učenja

Vsak algoritem strojnega učenja sledi običajnemu vzorcu ali korakom.



Zbiranje podatkov: Ta stopnja vključuje zbiranje vseh ustreznih podatkov iz različnih virov

Prepiranje podatkov: To je postopek čiščenja in pretvorbe 'Neobdelanih podatkov' v obliko, ki omogoča priročno porabo

Analizirajte podatke: Podatki se analizirajo, da se izberejo in filtrirajo podatki, potrebni za pripravo modela



Algoritem vlaka: Algoritem je usposobljen na naboru podatkov o vadbi, s pomočjo katerega algoritem razume vzorec in pravila, ki urejajo podatke

Testni model: Nabor podatkov za testiranje določa natančnost našega modela.

Uvajanje: Če sta hitrost in natančnost modela sprejemljivi, je treba ta model uporabiti v resničnem sistemu. Po uvedbi modela na podlagi njegove zmogljivosti se model posodobi in izboljša, če pride do padca zmogljivosti, se model ponovno usposobi.

Vrste strojnega učenja

Strojno učenje je razdeljeno na tri vrste:

Nadzorovano učenje: To je tista, pri kateri imate vhodne spremenljivke (x) in izhodno spremenljivko (Y), z algoritmom pa se naučite funkcije preslikave od vhoda do izhoda.

Nenadzorovano učenje: Včasih so dani podatki nestrukturirani in neoznačeni. Tako je težko razvrstiti te podatke v različne kategorije. Nenadzorovano učenje pomaga rešiti to težavo. To učenje se uporablja za združevanje vhodnih podatkov v razrede na podlagi njihovih statističnih lastnosti.

Okrepitveno učenje: Gre predvsem za ustrezno ukrepanje, da bi maksimirali nagrado v določeni situaciji.
pri učenju okrepitve ni pričakovanih rezultatov. Ojačevalec se odloči, katere ukrepe bo izvedel za izvedbo dane naloge. Če ni nabora podatkov o usposabljanju, se bo moral učiti iz svojih izkušenj.

Zdaj pa si oglejmo nekaj projektov resničnega strojnega učenja, ki lahko podjetjem pomagajo ustvarjati dobiček.

Primeri uporabe v industriji

1. GIBALNI STUDIO

Domena: Pol

Poudarek: Optimizirajte postopek izbire

java cast string do danes

Poslovni izziv: Motion Studio je največja produkcijska hiša v Evropi. Ob prihodkih več kot milijard dolarjev se je podjetje odločilo za začetek novega resničnostnega šova: RJ Star. Odziv na oddajo je brez primere, podjetje pa preplavijo glasovni posnetki. Kot strokovnjak za ML morate glas razvrstiti med moške in ženske, da bo prva stopnja filtracije hitrejša.

Ključni problemi: Glasovni vzorec ima več naglasov.

Poslovna korist: Od RJ Star je resničnostni šov, čas za izbiro kandidatov je zelo kratek. Celoten uspeh predstave in s tem dobiček je odvisen od hitre in gladke izvedbe

uvoz pand kot pd uvoz numpy kot np uvoz matplotlib.pyplot kot plt uvoz seaborn kot sns% matplotlib inline opozorila o uvozu warnings.filterwarnings ('ignore') df = pd.read_csv ('voice-Classification.csv') df.head ()

# Preverite št. zapisov df.info () df.describe () df.isnull (). sum ()

print ('Oblika podatkov:', df.shape) print ('Skupno število nalepk: {}'. format (df.shape [0])) print ('Število moških: {}'. format (df [ df.label == 'moški']. oblika [0])) print ('Število žensk: {}'. format (df [df.label == 'moški']. oblika [0]))

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

iz sklearn.preprocessing import LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y iz sklearn.preprocessing import StandardScaler skaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) iz sklearn.model_selection uvoz train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) iz sklearn.svm import SVC iz sklearn import metrics from sklearn.metrics , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Ocena natančnosti:') print (metrics.accuracy_score (y_test, y_pred))

tiskanje (matrica_zmede (y_test, y_pred))

2. LITION MOČ

Domena: Avtomobilizem

Poudarek: Spodbujanje gonilnikov

Poslovni izziv: Lithionpower je največji ponudnik baterij za električna vozila (e-vozila). Vozniki običajno najamejo baterijo za en dan in jo nato zamenjajo s polnjeno baterijo podjetja. Lithionpower ima model spremenljivih cen, ki temelji na voznikovi zgodovini vožnje. Ker je življenjska doba baterije odvisna od dejavnikov, kot so prekoračitev hitrosti, prevožena razdalja na dan itd. Kot strokovnjak za ML morate ustvariti model grozda, v katerem lahko voznike združite na podlagi podatkov o vožnji.

Ključni problemi: Gonilnike bomo spodbujali glede na skupino, zato mora biti razvrščanje v skupine natančno.

Poslovne prednosti: Povečanje dobička, do 15-20%, saj bodo vozniki s slabo zgodovino plačani več.

uvoz pand kot pd uvoz numpy kot np uvoz matplotlib.pyplot kot plt uvoz seaborn kot sns sns.set () # za oblikovanje ploskve% matplotlib inline opozorila o uvozu warnings.filterwarnings ('ignore') import matplotlib.pyplot kot plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

iz sklearn.cluster uvoz KMeans # Ob 2 grozdih 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_)) unique, counts = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (unique, 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, aspekt = 1, fit_reg = False)

# Zdaj, preverimo grozde, ko je 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_) unikatno, šteje = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (edinstveno, šteje)))

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 = False)

3. BluEx

Domena: Logistika

Poudarek: Optimalna pot

Poslovni izziv: BluEx je vodilno logistično podjetje v Indiji. Znan je po učinkoviti dostavi paketov strankam. Vendar se BluEx sooča z izzivom, ko se vozniki kombijev podajo po neoptimalni poti za dostavo. To povzroča zamude in višje stroške goriva. Kot strokovnjak za ML morate z uporabo ojačevalnega učenja ustvariti model ML, da boste skozi program našli učinkovito pot.

Ključni problemi: Podatki imajo veliko atributov in razvrstitev je lahko zapletena.

Poslovne prednosti: Z optimalno potjo lahko prihranite do 15% stroškov goriva.

import numpy kot np import pylab kot plt import networkx kot nx #Initializiranje točk points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] goal = 7 preslikava = {0: 'Start', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-cilj '} G = nx.Graph () G.add_edges_from (seznam_točk) 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 #Inititaliziranje R matrike R = np.matrix (np.ones (shape = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 za točko v points_list: print (point) if point [1] == goal: R [točka] = 150 else: R [točka] = 0, če je točka [0] == cilj: R [točka [:: - 1]] = 150 else: # obratna točka točke R [točka [:: - 1]] = 0

R [gol, cilj] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Učni parameter gama = 0,8 začetno_stanje = 1 def available_action (stanje): current_state_row = R [stanje,] av_act = np.where (current_state_row & ampampampgt = 0 ) [1] vrni av_act available_act = razpoložljive_akcije (začetno_stanje) 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 [dejanje,] == np.max (Q [dejanje,])) [1], če 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] + gama * max_value print ('max_value', R [current_state, action] + gama * max_value) if (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) else: return (0) update (začetno_stanje, dejanje, gama)

scores = [] za i v obsegu (700): current_state = np.random.randint (0, int (Q.shape [0])) available_act = available_action (current_state) action = sample_next_action (available_act) score = update (current_state, action, gamma) scores.append (score) print ('Score:', str (score)) print ('Usposobljena Q matrica:') print (Q / np.max (Q) * 100) # Testiranje current_state = 0 korakov = [trenutno_stanje], medtem ko je trenutno_stanje! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] če 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 ('Najučinkovitejša pot:') print (koraki) plt.plot (rezultati) plt.show ()

Odprtokodni projekti strojnega učenja v letu 2019

Detektron : Detectron je programski sistem Facebook AI Research, ki izvaja najsodobnejše algoritme za zaznavanje predmetov. Napisan je v Pythonu, poganja pa ga ogrodje za globoko učenje Caffe2.

java plača razvijalca v Indiji

Cilj Detectrona je zagotoviti visokokakovostno, visoko zmogljivo kodno bazo za raziskave zaznavanja predmetov. Zasnovan je tako, da je prilagodljiv, da podpira hitro izvajanje in vrednotenje novih raziskav. Vsebuje več kot 50 predhodno usposobljenih modelov.

Odstranite : Cilj ocene goste postave je preslikati vse človeške slikovne pike slike RGB na 3D površino človeškega telesa. DensePose-RCNN je implementiran v okviru Detectron.

TensorFlow.js : Je knjižnica za razvoj in usposabljanje modelov ML ter uvajanje v brskalnik. Od izdaje v začetku letošnjega leta je postala zelo priljubljena izdaja in še naprej preseneča s svojo prilagodljivostjo. S tem lahko

  • Razvijte ML v brskalniku: Uporabite prilagodljive in intuitivne API-je za izdelavo modelov iz nič z uporabo knjižnice linearne algebre JavaScript na nizki ravni ali API-ja plasti na visoki ravni.
  • Zaženite obstoječe modele : Uporabite pretvornike modelov TensorFlow.js za zagon že obstoječih modelov TensorFlow neposredno v brskalniku.
  • Obnovite obstoječe modele: Obnovite obstoječe modele ML z uporabo podatkov senzorjev, povezanih z brskalnikom, ali drugih podatkov na strani odjemalca.

Waveglow: Strojno učenje močno napreduje tudi pri obdelavi zvoka in ne ustvarja samo glasbe ali klasifikacije. WaveGlow je generacijsko omrežje za sintezo govora, ki temelji na pretoku, NVIDIA. Raziskovalci so našteli tudi korake, ki jih lahko sledite, če želite iz nič izuriti svoj model.

Image Outpainting : Predstavljajte si, da imate polovično sliko prizora in ste želeli popolno kuliso, no, to lahko naredi slika outpainting za vas. Ta projekt je Kerasova izvedba Stanfordovega časopisa Image Outpainting. Model je bil usposobljen z 3500 razrezani podatki o plaži z argumentacijo v skupnem obsegu do 10.500 slike za 25 obdobij .

To je neverjeten članek s podrobno razlago po korakih. Primer, ki ga je treba poskusiti za vse navdušence strojnega učenja. Osebno je to moj najljubši projekt strojnega učenja.

Globoko slikarsko usklajevanje : No, če govorimo o slikah, je ta mojstrovina. Ta algoritem naredi sliko kot vhod in nato, če sliki dodate zunanji element, ta element zlije v okolico, kot da je njen del.

Ali lahko ugotovite razliko? Ne, kajne? No, to nam kaže, kako daleč smo prišli na področju strojnega učenja.

DeepMimic: Zdaj pa si podrobno oglejte slike tukaj, vidite palico, ki izvaja spin-kick, backflip in kolo. Da je moj prijatelj okrepljeno učenje v akciji. DeepMimic je primerno usmerjeno učenje globokega okrepitve fizikalnih karakternih veščin.

Magenta : Magenta je raziskovalni projekt, ki raziskuje vlogo strojnega učenja v procesu ustvarjanja umetnosti in glasbe. To v prvi vrsti vključuje razvoj novih algoritmov za poglobljeno učenje in okrepitev učenja za ustvarjanje pesmi, slik, risb in drugih materialov.

Gre tudi za raziskovanje gradnje pametnih orodij in vmesnikov, ki umetnikom in glasbenikom omogočajo razširitev ( ne zamenjajte! ) njihove procese z uporabo teh modelov. Pojdite razširiti krila, ustvarite svojo edinstveno vsebino za Instagram ali Soundcloud in postanite vplivnež.

Fantje, s tem smo prišli do konca tega neverjetnega članka o Projektih strojnega učenja. Preizkusite te primere in nam sporočite v spodnjem oddelku za komentarje. Upam, da ste spoznali praktično uporabo strojnega učenja v industriji. Edureka vas obvlada v tehnikah, kot so nadzorovano učenje, nenadzorovano učenje in obdelava naravnega jezika. Vključuje usposabljanje o najnovejših dosežkih in tehničnih pristopih na področju umetne inteligence in strojnega učenja, kot so globoko učenje, grafični modeli in učenje okrepitve