Viimeisimmät koneoppimisprojektit, joita kokeillaan vuonna 2019



Tämä artikkeli antaa sinulle kattavan tiedon alan koneoppimisprojekteista ja tällä alalla tehdyistä läpimurtoista.

on selvästi ala, joka on nähnyt hulluja edistysaskeleita parin viime vuoden aikana. Tämä suuntaus ja edistysaskeleet ovat luoneet paljon työpaikkoja teollisuudelle. Tarve Koneoppimisinsinöörit ovat kysyttyjä, ja tämä kasvu johtuu tekniikan kehittymisestä ja valtavien tietomäärien eli Big Data -tuotteiden tuottamisesta. Joten tässä artikkelissa keskustelen hämmästyttävimmistä koneoppimisprojekteista, joiden tulisi ehdottomasti tuntea ja joiden kanssa tulisi työskennellä seuraavassa järjestyksessä:

Mikä on koneoppiminen?

Koneoppiminen on käsite, jonka avulla kone voi oppia esimerkkeistä ja kokemuksista, ja myös ilman, että sitä olisi erikseen ohjelmoitu. Joten koodin kirjoittamisen sijaan syötät dataa yleiseen algoritmiin, ja algoritmi / kone rakentaa logiikan annettujen tietojen perusteella.





Kuka on ML-insinööri

Koneoppimisvaiheet

Mikä tahansa koneoppimisalgoritmi noudattaa yleistä mallia tai vaiheita.



Kerätä dataa: Tässä vaiheessa kerätään kaikki asiaankuuluvat tiedot eri lähteistä

Tietojen sekoittaminen: Se on prosessi, jolla 'Raw Data' puhdistetaan ja muunnetaan muotoon, joka sallii kätevän kulutuksen

Analysoi tiedot: Tiedot analysoidaan mallin valmistelemiseen tarvittavien tietojen valitsemiseksi ja suodattamiseksi



Junan algoritmi: Algoritmi opetetaan harjoitustietojoukkoon, jonka avulla algoritmi ymmärtää datan mallin ja säännöt

Testimalli: Testaustietojoukko määrittää mallimme tarkkuuden.

Käyttöönotto: Jos mallin nopeus ja tarkkuus ovat hyväksyttäviä, malli tulisi ottaa käyttöön todellisessa järjestelmässä. Kun malli on otettu käyttöön sen suorituskyvyn perusteella, mallia päivitetään ja parannetaan, jos suorituskyky laskee, malli koulutetaan uudelleen.

Koneoppimisen tyypit

Koneoppiminen on alaluokiteltu kolmeen tyyppiin:

Ohjattu oppiminen: Sinulla on syötemuuttujia (x) ja lähtömuuttujia (Y) ja käytät algoritmia oppiaksesi kartoitustoiminnon tulosta lähtöön.

Valvomaton oppiminen: Joskus annetut tiedot ovat jäsentämättömiä ja merkitsemättömiä. Joten on vaikeaa luokitella näitä tietoja eri luokkiin. Valvomaton oppiminen auttaa ratkaisemaan tämän ongelman. Tätä oppimista käytetään ryhmittelemään syötetiedot luokkiin niiden tilastollisten ominaisuuksien perusteella.

Vahvistusoppiminen: Kyse on asianmukaisista toimista palkkion maksimoimiseksi tietyssä tilanteessa.
vahvistamisen oppimisessa ei ole odotettua tulosta. Vahvistusagentti päättää, mitkä toimet on suoritettava tietyn tehtävän suorittamiseksi. Harjoittelutietojoukon puuttuessa sen on pakko oppia kokemuksestaan.

Katsotaanpa nyt muutama tosielämän koneoppimisprojekti, jotka voivat auttaa yrityksiä tuottamaan voittoa.

Teollisuuden käyttötapaukset

1. LIIKETUDIO

Verkkotunnus: Puoli

Keskity: Optimoi valintaprosessi

php kuinka tulostaa taulukko

Liiketoiminnan haaste: Motion Studio on Euroopan suurin radiotuotantotalo. Yrityksen liikevaihto on yli miljardi dollaria, ja se on päättänyt käynnistää uuden todellisuusnäyttelyn: RJ Tähti. Vastaus näyttelyyn on ennennäkemätöntä ja yhtiö on tulvillaan äänileikkeillä. Sinun on ML-asiantuntijana luokiteltava ääni joko mieheksi / naiseksi, jotta ensimmäinen suodatustaso on nopeampi.

Avainkohdat: Ääninäyte on aksentti.

Liiketoiminnan hyöty: Siitä asti kun RJ Tähti on todellisuusnäyttely, aika ehdokkaiden valintaan on hyvin lyhyt. Koko näyttelyn menestys ja siten voitot riippuvat nopeasta ja sujuvasta toteutuksesta

tuo pandat pd-tuontinumerona np-tuontina matplotlib.pyplot as plt-tuonti merisyntyneinä sns% matplotlib inline -tuontivaroitukset varoitukset.filterwarnings ('ohita') df = pd.read_csv ('ääni-luokittelu.csv') df.head ()

# Tarkista ei. tietueiden df.info () df.describe () df.isnull (). summa ()

tulosta ('Shape of Data:', df.shape) tulosta ('Tarrojen kokonaismäärä: {}'. format (df.shape [0])) print ('Male number: {}'. format (df [ df.label == 'male']. shape [0])) print ('Female number: {}'. format (df [df.label == 'female']. shape [0]))

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

from sklearn.preprocessing import LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y from sklearn.preprocessing import StandardScaler scaler = StandardScaler () scaler.fit ( scaler.transform (X) sklearn.model_selection-tuonti juna_testi_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) sklearn.svm-tuonti SVC sklearn-tuonti-metric-indeksistä , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) tulosta ('Tarkkuuspisteet:') print (metrics.accuracy_score (y_test, y_pred))

tulosta (sekaannuksen matriisi (y_test, y_pred))

2. LIONIONPOWER

Verkkotunnus: Autoteollisuus

Keskity: Kannusta ohjaimia

Liiketoiminnan haaste: Lithionpower on suurin sähköajoneuvojen (sähköautojen) akkujen toimittaja. Kuljettajat vuokraavat akun tyypillisesti päiväksi ja korvaavat sen sitten yrityksen ladatulla akulla. Lithionpowerilla on vaihteleva hinnoittelumalli, joka perustuu kuljettajan ajo-historiaan. Koska akun käyttöikä riippuu tekijöistä, kuten ylinopeus, ajettu matka päivässä jne. Sinun on ML-asiantuntijana luotava klusterimalli, jossa kuljettajat voidaan ryhmitellä yhteen ajotietojen perusteella.

Avainkohdat: Kuljettajia kannustetaan klusterin perusteella, joten ryhmittelyn on oltava tarkka.

Liiketoiminnan edut: Voittojen kasvu, jopa 15-20%, koska kuljettajilla, joilla on huono historia, veloitetaan enemmän.

tuoda pandoja pd-tuontinumerona np-tuontina matplotlib.pyplot as plt-tuonti merisyntyneinä sns sns.set () # juonetyyliin% matplotlib inline -tuontivaroitukset varoitukset.filterwarnings ('ignore') tuonti matplotlib.pyplot plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.describe ()

sklearn.cluster-tuonnista KMeans # 2 klusterin ottaminen kmeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', akseli = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

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

tulosta (tyyppi (kmeans.labels_)) yksilöllinen, laskee = np.unique (kmeans.labels_, return_counts = True) tulosta (dict (zip (ainutlaatuinen, laskee)))

df_analyze ['cluster'] = kmeans.labels_ sns.set_style ('whitegrid') sns.lmplot ('keskiarvo_päivän_päivä', 'keskiarvon_nopeuden_perc', data = df_analyze, sävy = 'klusteri', paletti = 'viileä', koko = 6, aspekti = 1, fit_reg = väärä)

#Now, Tarkastellaan klusterit, kun n = 4 kmeans_4 = KMeans (n_clusters = 4) kmeans_4.fit (df.drop ('id', akseli = 1)) kmeans_4.fit (df.drop ('id', akseli = 1)) print (kmeans_4.cluster_centers_) uniikki, count = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (ainutlaatuinen, laskee)))

df_analyze ['cluster'] = kmeans_4.labels_ sns.set_style ('whitegrid') sns.lmplot ('keskiarvo_päivän_päivä', 'keskiarvon_nopeuden_perc', data = df_analyze, sävy = 'klusteri', paletti = 'viileä', koko = 6, aspekti = 1, fit_reg = väärä)

yhdistä lajittelu c ++ algoritmi

3. BluEx

Verkkotunnus: Logistiikka

Keskity: Optimaalinen polku

Liiketoiminnan haaste: BluEx on Intian johtava logistiikkayritys. Se tunnetaan pakettien tehokkaasta toimittamisesta asiakkaille. BluEx on kuitenkin edessään haasteen kanssa, kun sen pakettiautokuljettajat valitsevat toimituksen optimaalista vähemmän. Tämä aiheuttaa viivästyksiä ja korkeampia polttoainekustannuksia. Sinun on ML-asiantuntijana luotava ML-malli käyttämällä Reinforcement Learning -ohjelmaa, jotta ohjelman kautta löydetään tehokas polku.

Avainkohdat: Datalla on paljon määritteitä, ja luokittelu voi olla hankalaa.

Liiketoiminnan edut: Jopa 15% polttoainekustannuksista voidaan säästää valitsemalla optimaalinen tie.

tuonti numero kuten np tuonti pylab kuin plt tuonti verkko x kuten nx # Pisteiden alustaminen pisteiden luettelo = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] tavoite = 7 kartoitus = {0: 'Käynnistä', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-kohde '} 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 # Aloittava R-matriisi R = np.matriisi (np.ones (muoto = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 pisteelle point_list: tulosta (piste) jos piste [1] == tavoite: R [piste] = 150 muu: R [piste] = 0, jos piste [0] == tavoite: R [piste [:: - 1]] = 150 muu: # taaksepäin pisteestä R [piste [:: - 1]] = 0

R [tavoite, tavoite] = 150 R

Q = np.matriisi (np.zerot ([NO_OF_POINTS, NO_OF_POINTS])) # Oppimisparametri 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 päivitys (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) päivitys (initial_state, action, gamma)

pisteet = [] i: lle alueella (700): current_state = np.random.randint (0, int (Q.shape [0])) available_act = käytettävissä olevat toiminnot (current_state) toiminta = näyte_next_action (käytettävissä oleva_tapa) score = update (current_state, toiminta, gamma) scores.append (score) print ('Score:', str (score)) print ('Trained Q matrix:') print (Q / np.max (Q) * 100) # currentstate = 0 askelta = [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) vaiheet. append (next_step_index) current_state = next_step_index

tulosta ('Tehokkain polku:') tulosta (vaiheet) plt.plot (tulokset) plt.show ()

Avoimen lähdekoodin koneoppimisprojektit vuonna 2019

Detectron : Detectron on Facebook AI Researchin ohjelmistojärjestelmä, joka toteuttaa huipputason esineentunnistusalgoritmeja. Se on kirjoitettu Pythonissa ja sitä tukee Caffe2-syväoppimiskehys.

Detectronin tavoitteena on tarjota korkealaatuinen, korkean suorituskyvyn koodipohja kohteiden havaitsemiseen. Se on suunniteltu joustavaksi tukemaan uuden tutkimuksen nopeaa toteuttamista ja arviointia. Se sisältää yli 50 ennalta koulutettua mallia.

Denspose : Tiheän ihmisen aseman arvioinnin tarkoituksena on kartoittaa RGB-kuvan kaikki ihmispikselit ihmiskehon 3D-pintaan. DensePose-RCNN on toteutettu Detectron-kehyksessä.

TensorFlow.js : Se on kirjasto ML-mallien kehittämiseen ja kouluttamiseen sekä selaimeen asentamiseen. Siitä on tullut erittäin suosittu julkaisu, koska se julkaistiin aiemmin tänä vuonna ja hämmästyttää edelleen joustavuudellaan. Tämän avulla voit

  • Kehitä ML selaimessa: Käytä joustavia ja intuitiivisia sovellusliittymiä rakentaaksesi malleja tyhjästä käyttämällä matalan tason JavaScript-lineaarisen algebran kirjastoa tai korkean tason kerrosten sovellusliittymää.
  • Suorita olemassa olevat mallit : Käytä TensorFlow.js-mallimuuntimia suorittaaksesi aiemmin luotuja TensorFlow-malleja suoraan selaimessa.
  • Kouluta nykyiset mallit: Kouluta aiemmin luodut ML-mallit uudestaan ​​käyttämällä selaimeen liitettyä anturitietoa tai muuta asiakaspuolen dataa.

Waveglow: Koneoppiminen on myös edistynyt merkittävästi äänenkäsittelyssä, eikä se ole vain musiikin tuottaminen tai luokittelu. WaveGlow on Flow-pohjainen generatiivinen verkko puhesynteesille, jonka tuottaa NVIDIA. Tutkijat ovat myös listanneet vaiheet, joita voit seurata, jos haluat kouluttaa omaa malliasi tyhjästä.

Kuvan maalaus : Kuvittele, että sinulla on puolikuva kohtauksesta ja halusit täydelliset maisemat. No, kuvan maalaus voi tehdä sen sinulle. Tämä projekti on Keras-toteutus Stanfordin Image Outpainting -paperista. Malli koulutettiin 3500 romutetut rantatiedot perusteluineen yhteensä 10 500 kuvia käyttäjälle 25 aikakautta .

Tämä on hämmästyttävä paperi, jossa on yksityiskohtainen askel askeleelta selitys. On kokeiltava esimerkkiä kaikille koneoppimisen harrastajille. Henkilökohtaisesti tämä on suosikkini koneoppimisprojektini.

Syvä maalimainen harmonisointi : No, puhuessamme kuvista, tämä on mestariteos. Mitä tämä algoritmi tekee, se ottaa kuvan syötteenä ja sitten, jos lisäät kuvaan ulkoisen elementin, se sekoittaa kyseisen elementin ympäristöön ikään kuin se olisi osa sitä.

Voitko erottaa toisistaan? Ei, eikö? No, tämä osoittaa meille, kuinka pitkälle olemme saavuttaneet koneoppimisen.

DeepMimic: Katsokaa nyt tarkasti kuvia täällä, näet kepin, joka tekee spin-kick, backflip ja cartwheel. Että ystäväni oppii toiminnassa. DeepMimic on fysiikkaan perustuvien hahmotaitojen esimerkkiohjattu syvällinen vahvistaminen.

Magenta : Magenta on tutkimushanke, jossa tutkitaan koneoppimisen roolia taiteen ja musiikin luomisessa. Ensisijaisesti tähän kuuluu uusien syvällisen oppimisen ja vahvistamisen oppimisalgoritmien kehittäminen kappaleiden, kuvien, piirustusten ja muun materiaalin tuottamiseksi.

Se on myös tutkimus älykkäiden työkalujen ja käyttöliittymien rakentamisesta, joiden avulla taiteilijat ja muusikot voivat laajentaa toimintaansa ( ei korvaa! ) näiden prosesseja käyttäen näitä malleja. Levitä siipesi, luo ainutlaatuinen sisältösi Instagramiin tai Soundcloudiin ja tule vaikuttajaksi.

Joten kaverit, tämän kanssa olemme päässeet tämän hämmästyttävän Machine Learning Projects -artikkelin loppuun. Kokeile näitä esimerkkejä ja ilmoita siitä meille alla olevassa kommenttiosassa. Toivon, että sait tietää koneoppimisen käytännön toteutuksesta teollisuudessa. Edurekan saa sinut hallitsemaan tekniikoita, kuten valvottu oppiminen, valvomaton oppiminen ja luonnollisen kielen käsittely. Se sisältää koulutuksen uusimmista kehityksistä ja teknisistä lähestymistavoista tekoälyyn ja koneoppimiseen, kuten syväoppiminen, graafiset mallit ja vahvistusoppiminen