Najnovšie projekty strojového učenia, ktoré sa majú vyskúšať v roku 2019



Tento článok vám poskytne komplexné znalosti o projektoch strojového učenia v priemysle a o prielomoch v tejto oblasti.

je jednoznačne oblasť, ktorá za posledných pár rokov zaznamenala šialený pokrok. Tento trend a pokrok priniesol v odbore veľa pracovných príležitostí. Potreba Inžinieri strojového učenia sú veľmi žiadané a tento nárast je spôsobený vyvíjajúcou sa technológiou a generovaním obrovského množstva dát alias Big Data. V tomto článku teda budem diskutovať o najúžasnejších projektoch strojového učenia, ktoré by človek určite mal poznať a s ktorými by som mal pracovať, a to v tomto poradí:

Čo je to strojové učenie?

Machine Learning je koncept, ktorý umožňuje stroju učiť sa z príkladov a skúseností, a to tiež bez toho, aby bol výslovne naprogramovaný. Takže namiesto toho, aby ste písali kód, robíte to, že napájate údaje do všeobecného algoritmu a algoritmus / stroj vytvára logiku na základe daných údajov.





Kto je inžinier ML

Kroky strojového učenia

Akýkoľvek algoritmus strojového učenia sa riadi bežným vzorom alebo krokmi.



Zhromažďovanie údajov: Táto fáza zahŕňa zber všetkých relevantných údajov z rôznych zdrojov

Hádanie údajov: Jedná sa o proces čistenia a konverzie „nespracovaných údajov“ do formátu, ktorý umožňuje pohodlnú spotrebu

Analyzovať údaje: Dáta sa analyzujú, aby sa vybrali a filtrovali údaje potrebné na prípravu modelu



Algoritmus vlaku: Algoritmus je trénovaný na množine tréningových údajov, prostredníctvom ktorej algoritmus chápe štruktúru a pravidlá, ktoré riadia údaje.

Testovací model: Testovací dátový súbor určuje presnosť nášho modelu.

Nasadenie: Ak sú rýchlosť a presnosť modelu prijateľné, potom by sa mal tento model nasadiť do skutočného systému. Po nasadení modelu na základe jeho výkonu sa model aktualizuje a vylepšuje, ak dôjde k poklesu výkonu, model sa preškolí.

Typy strojového učenia

Strojové učenie sa ďalej kategorizuje do troch typov:

Učenie pod dohľadom: Je to ten, kde máte vstupné premenné (x) a výstupnú premennú (Y) a pomocou algoritmu sa naučíte funkciu mapovania od vstupu k výstupu.

Učenie bez dozoru: Niekedy sú dané údaje neštruktúrované a neoznačené. Je teda ťažké klasifikovať tieto údaje do rôznych kategórií. Tento problém pomáha vyriešiť učenie bez dozoru. Toto učenie sa používa na zhlukovanie vstupných údajov v triedach na základe ich štatistických vlastností.

Výučba posilňovania: Je to všetko o prijatí vhodných opatrení s cieľom maximalizovať odmenu v konkrétnej situácii.
pokiaľ ide o posilnenie učenia, neočakávajú sa žiadne výstupy. Agent výstuže rozhodne, aké kroky treba podniknúť na vykonanie danej úlohy. Ak neexistuje školiaci údajový súbor, musí sa poučiť zo svojich skúseností.

Teraz sa pozrime na niekoľko projektov strojového učenia v reálnom živote, ktoré môžu spoločnostiam pomôcť dosiahnuť zisk.

Prípady použitia v priemysle

1. POHYBOVÉ ŠTÚDIO

Doména: Polovica

Zameranie: Optimalizujte výberový proces

maximálna halda implementácia v jave

Obchodná výzva: Motion Studio je najväčší producentský dom v Európe. Spoločnosť, ktorá má tržby viac ako miliardu dolárov, sa rozhodla spustiť novú reality show: RJ Star. Odozva na predstavenie je bezprecedentná a spoločnosť zaplavujú hlasové klipy. Ako odborník na ML musíte hlas klasifikovať ako mužský / ženský, aby bola prvá úroveň filtrácie rýchlejšia.

Kľúčové problémy: Vzorka hlasu má rôzne prízvuk.

Obchodné výhody: Odkedy RJ Star je reality show, čas na výber kandidátov je veľmi krátky. Celý úspech šou, a teda aj zisky, závisí od rýchleho a bezproblémového prevedenia

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

# Skontrolujte č. záznamov df.info () df.describe () df.isnull (). sum ()

print ('Shape of Data:', df.shape) print ('Celkový počet štítkov: {}'. format (df.shape [0])) print ('Number of male: {}'. format (df [ df.label == 'male']. tvar [0])) print ('Počet samíc: {}'. format (df [df.label == 'female']. tvar [0]))

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

zo sklearn.preprocessing importu LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y zo sklearn.preprocessing importu StandardScaler scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) z 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) z sklearn.svm importovať SVC z sklearn import metriky z sklearn import metriky z sklearn , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Skóre presnosti:') print (metrics.accuracy_score (y_test, y_pred))

print (confusion_matrix (y_test, y_pred))

2. LITHIONPOWER

Doména: Automobilový priemysel

Zameranie: Motivujte vodičov

Obchodná výzva: Lithionpower je najväčší poskytovateľ batérií pre elektrické vozidlá (e-vozidlá). Vodiči si požičiavajú batériu zvyčajne na jeden deň a potom ju nahradia nabitou batériou od spoločnosti. Lithionpower má model s variabilnými cenami založený na histórii jazdy vodiča. Pretože životnosť batérie závisí od faktorov, ako sú prekročenie rýchlosti, prejdená vzdialenosť za deň atď. Ako odborník na ML musíte vytvoriť model klastra, v ktorom je možné vodičov zoskupiť na základe údajov o jazde.

Kľúčové problémy: Vodiči budú motivovaní na základe klastra, takže zoskupovanie musí byť presné.

Obchodné výhody: Zvýšenie ziskov až o 15-20%, pretože vodičom so zlou históriou bude účtovaných viac.

importovať pandy ako pd importovať numpy ako np importovať matplotlib.pyplot ako plt importovať sa do mora ako sns sns.set () # pre vykreslenie štýlu% matplotlib inline importovať varovania warnings.filterwarnings ('ignore') import matplotlib.pyplot ako plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

z importu sklearn.cluster KMeans #Taking 2 clusters 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, countts = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (unique, count)))

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', veľkosť = 6, aspect = 1, fit_reg = False)

# Teraz skontrolujme zhluky, keď 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 (unique, count)))

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', veľkosť = 6, aspect = 1, fit_reg = False)

3. BluEx

Doména: Logistika

Zameranie: Optimálna cesta

Obchodná výzva: BluEx je popredná logistická spoločnosť v Indii. Je známy pre efektívne doručovanie paketov zákazníkom. Spoločnosť BluEx však čelí výzve, pri ktorej sa vodiči dodávkových vozidiel vydávajú neoptimálnou cestou dodávky. To spôsobuje oneskorenie a vyššie náklady na palivo. Vy, ako odborník na ML, musíte vytvoriť model ML pomocou programu Reinforcement Learning, aby sa v programe našla efektívna cesta.

Kľúčové problémy: Údaje majú veľa atribútov a klasifikácia môže byť zložitá.

Obchodné výhody: Optimálnou cestou možno ušetriť až 15% nákladov na palivo.

import numpy ako np import pylab ako plt import networkx ako nx #Initializing points points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] cieľ = 7 mapovanie = {0: 'Štart', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-Cieľ '} 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 (tvar = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 pre bod v points_list: print (point) if point [1] == cieľ: R [point] = 150 else: R [point] = 0 if point [0] == cieľ: R [point [:: - 1]] = 150 else: # reverz bodu R [point [:: - 1]] = 0

R [cieľ, cieľ] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Učebný parameter 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)

skóre = [] pre i v rozsahu (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, akcia, gama) score.append (score) print ('Score:', str (score)) print ('Trained Q matrix:') print (Q / np.max (Q) * 100) # Testing current_state = 0 krokov = [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, veľkosť = 1)) else: next_step_index = int (next_step_index) steps.append (next_step_index) current_state = next_step_index

print ('Najefektívnejšia cesta:') print (kroky) plt.plot (skóre) plt.show ()

Open Source projekty strojového učenia v roku 2019

Detectron : Detectron je softvérový systém spoločnosti Facebook AI Research, ktorý implementuje najmodernejšie algoritmy detekcie objektov. Je napísaný v jazyku Python a je založený na rámci hlbokého učenia Caffe2.

Cieľom Detectronu je poskytnúť vysoko kvalitný a vysoko výkonný základ kódu pre výskum detekcie objektov. Je navrhnutý tak, aby bol flexibilný, aby podporoval rýchlu implementáciu a hodnotenie nového výskumu. Obsahuje viac ako 50 vopred vyškolených modelov.

Zahustiť : Cieľom odhadu hustej ľudskej pózy je mapovanie všetkých ľudských pixelov obrazu RGB na 3D povrch ľudského tela. DensePose-RCNN je implementovaný v rámci Detectron.

TensorFlow.js : Je to knižnica na vývoj a školenie modelov ML a ich nasadenie v prehliadači. Stalo sa veľmi populárnym vydaním od začiatku tohto roka a svojou úžasnosťou stále prekvapuje svojou flexibilitou. S týmto môžete

  • Vyvinúť ML v prehliadači: Použite flexibilné a intuitívne rozhrania API na vytváranie modelov od nuly pomocou nízkoúrovňovej knižnice lineárnej algebry v jazyku JavaScript alebo rozhrania API na vysokej úrovni.
  • Spustiť existujúce modely : Pomocou prevádzačov modelov TensorFlow.js môžete spustiť už existujúce modely TensorFlow priamo v prehliadači.
  • Preškoliť existujúce modely: Rekvalifikujte existujúce modely ML pomocou údajov senzora pripojených k prehliadaču alebo iných údajov na strane klienta.

Waveglow: Strojové učenie tiež robí veľké pokroky v oblasti spracovania zvuku a nejde iba o generovanie hudby alebo klasifikáciu. WaveGlow je generačná sieť založená na prietoku pre syntézu reči od spoločnosti NVIDIA. Vedci tiež uviedli kroky, ktoré môžete podniknúť, ak chcete od základu trénovať svoj vlastný model.

zvýšiť niečo na moc v Jave

Image outpainting : Predstavte si, že máte polovičný obraz scény a chceli by ste celú scenériu. To je to, čo za vás môže urobiť program outpainting. Tento projekt je implementáciou protokolu Keras zo Stanfordovho Image Outpainting papiera. Model bol trénovaný s 3500 vyradené údaje o pláži s argumentáciou v celkovej hodnote až 10 500 obrázky pre 25 epoch .

Toto je úžasný príspevok s podrobným vysvetlením krok za krokom. Musíte vyskúšať príklad pre všetkých nadšencov strojového učenia. Osobne je to môj obľúbený projekt Machine Learning.

Hlboká maliarska harmonizácia : Keď už hovoríme o obrázkoch, tento je majstrovským dielom. Tento algoritmus robí to, že vezme obrázok ako vstup a potom, ak do obrázka pridáte externý prvok, zmieša tento prvok s okolím, akoby bol jeho súčasťou.

Viete rozlíšiť? Nie, nie? To nám ukazuje, ako ďaleko sme sa dostali v oblasti strojového učenia.

DeepMimic: Teraz sa pozorne pozrite na tieto obrázky. Uvidíte panáčika, ktorý robí spin-kick, backflip a cartwheel. To, že môj priateľ posilňuje učenie sa v akcii. DeepMimic je príkladom Guided Deep Reinforcement Learning of Physics-Based Character Skills.

Purpurová : Magenta je výskumný projekt, ktorý skúma úlohu strojového učenia v procese tvorby umenia a hudby. Primárne ide o vývoj nových hlbokých učiacich sa a posilňovacích učebných algoritmov na generovanie skladieb, obrázkov, kresieb a ďalších materiálov.

Jedná sa tiež o prieskum v oblasti vytvárania inteligentných nástrojov a rozhraní, ktoré umožňujú umelcom a hudobníkom rozširovať ( nie vymeniť! ) ich procesov využívajúcich tieto modely. Choďte roztiahnuť krídla, vytvorte svoj jedinečný obsah pre Instagram alebo Soundcloud a staňte sa influencerom.

Takže, chlapci, týmto sa dostávame ku koncu tohto úžasného článku o projektoch strojového učenia. Vyskúšajte tieto príklady a dajte nám vedieť v sekcii komentárov nižšie. Dúfam, že ste spoznali praktickú implementáciu strojového učenia v priemysle. Edureka’s vám umožní ovládať techniky, ako je supervidované učenie, nekontrolované učenie a spracovanie prirodzeného jazyka. Zahŕňa školenie o najnovších pokrokoch a technických prístupoch v oblasti umelej inteligencie a strojového učenia, ako sú napríklad Deep Learning, Graphical Models a Reinforcement Learning.