Viimased masinõppe projektid, mida proovida 2019. aastal



See artikkel annab teile põhjalikud teadmised masinaõppeprojektidest tööstuses ja selles valdkonnas tehtud läbimurretest.

on selgelt valdkond, mis on viimase paari aasta jooksul näinud pööraseid edusamme. See suundumus ja edusammud on loonud tööstuses palju töövõimalusi. Vajadus Masinaõppe insenerid on suure nõudlusega ja see tõus on tingitud arenevast tehnoloogiast ja tohutute andmemahtude ehk Big Data genereerimisest. Nii et selles artiklis käsitlen kõige hämmastavamaid masinõppeprojekte, mida peaksite kindlasti teadma ja kellega peaksite töötama, järgmises järjekorras:

Mis on masinõpe?

Masinõpe on mõiste, mis võimaldab masinal õppida näidetest ja kogemustest ning seda ka ilma selgesõnaliselt programmeerimata. Nii et koodi kirjutamise asemel sisestate andmed üldisele algoritmile ja algoritm / masin ehitab antud andmetele tuginedes loogika.





Kes on ML-i insener

Masinõppesammud

Mis tahes masinõppe algoritm järgib levinud mustrit või samme.



Andmete kogumine: See etapp hõlmab kõigi asjakohaste andmete kogumist erinevatest allikatest

Andmete vingerdamine: See on „toorandmete” puhastamise ja teisendamise vorming, mis võimaldab mugavat tarbimist

Analüüsige andmeid: Andmeid analüüsitakse mudeli ettevalmistamiseks vajalike andmete valimiseks ja filtreerimiseks



Rongi algoritm: Algoritm on koolitatud koolituse andmekogumile, mille kaudu algoritm saab aru andmetest lähtuva mustri ja reeglite kohta

Testimudel: Testimise andmekogum määrab meie mudeli täpsuse.

Juurutamine: Kui mudeli kiirus ja täpsus on vastuvõetavad, tuleks see mudel kasutada reaalses süsteemis. Pärast mudeli juurutamist selle toimivuse põhjal värskendatakse ja parandatakse mudelit, kui jõudluses on langus, koolitatakse mudel ümber.

Masinõppe tüübid

Masinõpe on alamkategooriad kolme tüüpi:

Juhendatud õppimine: See on see, kus teil on sisendmuutujad (x) ja väljundmuutuja (Y) ning kasutate algoritmi kaardistamisfunktsiooni õppimiseks sisendist väljundini.

Järelevalveta õppimine: Mõnikord on antud andmed struktureerimata ja sildideta. Seega on raske neid andmeid erinevatesse kategooriatesse liigitada. Järelevalveta õppimine aitab seda probleemi lahendada. Seda õppimist kasutatakse sisendandmete klastriks klassides nende statistiliste omaduste põhjal.

Tugevdusõpe: See kõik seisneb asjakohaste meetmete võtmises, et maksimeerida tasu konkreetses olukorras.
kui tegemist on tugevdava õppega, pole oodatud väljundit. Tugevdaja otsustab, milliseid toiminguid antud ülesande täitmiseks teha. Koolituse andmekogumi puudumisel peab ta kindlasti õppima oma kogemustest.

Vaatame nüüd mõnda reaalse elu masinõppeprojekti, mis aitavad ettevõtetel kasumit teenida.

Tööstuse kasutamise juhtumid

1. LIIKUMISSTUDIO

Domeen: Pool

Fookus: Optimeeri valimisprotsess

piirangud sql näites

Ettevõtte väljakutse: Motion Studio on Euroopa suurim raadio produktsioonimaja. Rohkem kui miljardi dollari suurune tulu on ettevõte otsustanud käivitada uue tõsielusaate: RJ Täht. Etendusele reageerimine on enneolematu ja ettevõte on üle ujutatud hääleklippidega. ML-i eksperdina peate hääle klassifitseerima kas meheks / naiseks, et esimene filtreerimistase oleks kiirem.

Põhiprobleemid: Häälproov on rõhumärgiga.

Ärikasu: Kuna RJ Täht on tõsielusaade, aeg kandidaatide valimiseks on väga lühike. Kogu saate edu ja seega kasum sõltub kiirest ja sujuvast teostusest

impordi pandad pd-na impordi numbritena kui impordi matplotlib.pyplot kui plt impordi meresündinud kui sns% matplotlib inline impordihoiatused hoiatused.filterwarnings ('ignoreeri') df = pd.read_csv ('voice-category.csv') df.head ()

# Kontrollige nr. kirjete df.info () df.describe () df.isnull (). summa ()

print ('Shape of Data:', df.shape) print ('Siltide koguarv: {}'. format (df.shape [0])) print ('Male number: {}'. format (df [ df.label == 'male']. kuju [0])) print ('Naiste arv: {}'. formaat (df [df.label == 'naine']. kuju [0]))

X = df.iloc [:,: -1] print (df.shape) print (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 impordi rongi_testi_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) sklearn.svm impordi SVC sklearn'ist , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) print ('Täpsuse skoor:') print (metrics.accuracy_score (y_test, y_pred))

print (segaduse_maatriks (y_test, y_pred))

2. LIITJÕUD

Domeen: Autotööstus

Fookus: Innustage draivereid

Ettevõtte väljakutse: Lithionpower on suurim elektrisõidukite (e-sõiduki) akude pakkuja. Autojuhid rendivad akut tavaliselt üheks päevaks ja vahetavad selle siis ettevõtte laetud aku vastu. Lithionpoweril on muutuva hinnaga mudel, mis põhineb juhi sõidulool. Kuna aku eluiga sõltub sellistest teguritest nagu kiiruse ületamine, päevas läbitud vahemaa jne. Te peate ML-i eksperdina looma klastermudeli, kus juhid saaksid sõiduandmete põhjal grupeerida.

Põhiprobleemid: Autojuhte stimuleeritakse klastri põhjal, nii et rühmitamine peab olema täpne.

Äri eelised: Kasumi kasv, kuni 15–20%, kuna halva ajalooga autojuhtidelt nõutakse rohkem.

impordi pandad pd-na impordi numbritena kui np impordi matplotlib.pyplot kui plt impordi seaborn kui sns sns.set () # maatüki kujundamiseks% matplotlib inline impordihoiatused warnings.filterwarnings ('ignoreeri') import matplotlib.pyplot plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('draiveri andmed.csv') df.head ()

df.info () df.describe ()

from sklearn.cluster import KMeans # 2 klastri võtmine kmeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', telg = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

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

print (type (kmeans.labels_)) unikaalne, count = np.unique (kmeans.labels_, return_counts = True) print (dict (zip (kordumatu, loendab)))

df_analyze ['klaster'] = kmeans.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', suurus = 6, aspekt = 1, sobiv_reg = vale)

#Nüüd kontrollime klastreid, kui n = 4 kmeans_4 = KMeans (n_clusters = 4) kmeans_4.fit (df.drop ('id', telg = 1)) kmeans_4.fit (df.drop ('id', telg = 1)) print (kmeans_4.cluster_centers_) unikaalne, count = np.unique (kmeans_4.labels_, return_counts = True) kmeans_4.cluster_centers_ print (dict (zip (kordumatu, loendab)))

df_analyze ['klaster'] = kmeans_4.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', suurus = 6, aspekt = 1, sobiv_reg = vale)

3. BluEx

Domeen: Logistika

Fookus: Optimaalne tee

Ettevõtte väljakutse: BluEx on India juhtiv logistikaettevõte. See on tuntud klientidele pakettide tõhusa edastamise poolest. Siiski seisab BluEx silmitsi väljakutsega, kus tema kaubikujuhid lähevad kohaletoimetamiseks vähem optimaalsele teele. See põhjustab viivitusi ja suuremaid kütusekulusid. Teil kui ML-eksperdil tuleb luua tugevdamise õppimise abil ML-mudel, et programmi kaudu oleks võimalik leida tõhus tee.

Põhiprobleemid: Andmetel on palju atribuute ja klassifitseerimine võib olla keeruline.

Äri eelised: Optimaalset teed minnes saab kokku hoida kuni 15% kütusekuludest.

impordi number np-na impordipylab nagu plt impordivõrk x kui nx # punktide initsialiseerimine_loend = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] eesmärk = 7 kaardistamine = {0: 'Start', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-sihtkoht '} 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 # Alustades R maatriksit R = np.maatriks (np.ones (kuju = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 punkti_loendis olevale punktile: print (punkt), kui punkt [1] == eesmärk: R [punkt] = 150 muu: R [punkt] = 0, kui punkt [0] == eesmärk: R [punkt [:: - 1]] = 150 muu: # punkti R tagurpidi [punkt [:: - 1]] = 0

R [eesmärk, eesmärk] = 150 R

Q = np.maatriks (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # Õppeparameeter gamma = 0,8 esialgne väärtus = 1 def saadaval_toimingud (olek): current_state_row = R [riik,] av_act = np.where (praegune jaama_rida & 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, suurus = 1)) muu: 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 (lähteandmik, toiming, gamma)

skoor = [] i jaoks vahemikus (700): current_state = np.random.randint (0, int (Q. kuju [0])) available_act = available_actions (current_state) action = sample_next_action (available_act) score = update (current_state, action, gamma) scores.app (score) print ('Score:', str (score)) print ('Trained Q matrix:') print (Q / np.max (Q) * 100) # current_state testimine = 0 sammu = [current_state] while current_state! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] kui 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 ('Kõige tõhusam tee:') print (sammud) plt.plot (hinded) plt.show ()

Avatud lähtekoodiga masinõppe projektid 2019. aastal

Detektron : Detectron on Facebook AI Researchi tarkvarasüsteem, mis rakendab tipptasemel objektide tuvastamise algoritme. See on kirjutatud Pythonis ja seda toetab Caffe2 süvaõppe raamistik.

Detectroni eesmärk on pakkuda objektide tuvastamise uurimiseks kvaliteetset ja suure jõudlusega koodibaasi. Selle eesmärk on olla paindlik, et toetada uudsete teadusuuringute kiiret rakendamist ja hindamist. See sisaldab rohkem kui 50 eelkoolitatud mudelit.

Denspose : Inimese tiheda poosihinnangu eesmärk on kaardistada RGB-pildi kõik inimese pikslid inimese keha 3D-pinnale. DensePose-RCNN on rakendatud Detectroni raamistikus.

TensorFlow.js : See on raamatukogu ML-mudelite väljatöötamiseks ja koolitamiseks ning brauseris juurutamiseks. Sellest on saanud väga populaarne versioon, kuna see ilmus selle aasta alguses ja hämmastab jätkuvalt oma paindlikkust. Selle abil saate

  • ML-i arendamine brauseris: Kasutage paindlikke ja intuitiivseid API-sid, et mudeleid nullist üles ehitada, kasutades JavaScripti madala taseme lineaaralgebra teeki või kõrgetasemeliste kihtide API-d.
  • Käivitage olemasolevad mudelid : Olemasolevate TensorFlow mudelite käitamiseks otse brauseris kasutage TensorFlow.js mudeli muundureid.
  • Koolitage olemasolevad mudelid ümber: Koolitage olemasolevad ML-mudelid ümber, kasutades brauseriga ühendatud anduriandmeid või muid kliendipoolseid andmeid.

Waveglow: Masinõpe teeb suuri edusamme ka helitöötluses ja see ei ole ainult muusika genereerimine või klassifitseerimine. WaveGlow on Flow-põhine generatiivne võrk kõnesünteesiks NVIDIA poolt. Teadlased on loetlenud ka sammud, mida saate järgida, kui soovite oma mudelit nullist koolitada.

Kujutise värvimine : Kujutage ette, et teil on pool stseeni pilti ja soovite täielikku maastikku. Noh, see on see, mida piltide värvimine saab teie jaoks teha. See projekt on Stanfordi Image Outpainting paberi Keras-rakendus. Modelli koolitati 3500 lammutatud rannaandmed koos argumentatsiooniga kokku kuni 10 500 pildid 25 ajastut .

See on hämmastav paber, millel on üksikasjalik üksikasjalik selgitus. Peab proovima eeskuju kõigile masinõppimise harrastajatele. Isiklikult on see minu lemmik masinõppe projekt.

Sügav maaliline ühtlustamine : Noh, kui rääkida piltidest, siis see on meistriteos. See, mida see algoritm teeb, on see, et sisendiks on pilt ja kui lisate pildile välise elemendi, siis see sulandab selle elemendi ümbrusesse justkui selle osana.

Kas oskate vahet teha? Ei, eks? Noh, see näitab meile, kui kaugele oleme masinõppe osas jõudnud.

DeepMimic: Vaadake nüüd siin olevaid pilte tähelepanelikult, näete pulgakujundit, mis teeb spin-kick, backflip ja cartwheel. See, et mu sõber õpib tugevdustegevust. DeepMimic on füüsikal põhinevate karakterioskuste näitejuhitav süvendatud tugevdamine.

Magenta : Magenta on uurimisprojekt, milles uuritakse masinõppe rolli kunsti ja muusika loomise protsessis. Eelkõige hõlmab see uute süvaõppe ja täiendõppe algoritmide väljatöötamist laulude, piltide, jooniste ja muude materjalide genereerimiseks.

Samuti uuritakse arukate tööriistade ja liideste loomist, mis võimaldavad artistidel ja muusikutel laieneda ( mitte asendada! ) nende protsesside abil neid mudeleid kasutades. Minge tiibu sirutama, looge Instagrami või Soundcloudi jaoks ainulaadne sisu ja hakake mõjutajateks.

Nii et poisid, sellega oleme jõudnud selle hämmastava masinõppeprojektide artikli lõpuni. Proovige neid näiteid ja andke meile sellest teada allpool olevast kommentaaride jaotisest. Loodan, et õppisite tundma masinõppe praktilist rakendamist tööstuses. Edureka oma paneb sind tundma selliseid tehnikaid nagu juhendatud õppimine, järelevalveta õppimine ja loomuliku keele töötlemine. See sisaldab koolitust tehisintellekti ja masinõppe uusimate edusammude ja tehniliste lähenemisviiside kohta, nagu sügavõpe, graafilised mudelid ja tugevdav õppimine

mis on java pakett