Ak ste vývojárom prechádzajúcim do oblasti dátovej vedy, tu sú vaše najlepšie zdroje

Zdá sa, že v dnešnej dobe chce byť každý človek vedeckým pracovníkom v odbore dát - od doktorandov cez analytikov dát až po vášho starého spolubývajúceho na vysokej škole, ktorý vám LinkedIn zasiela správy, aby ste si „chytili kávu“.

Možno ste už tušili, že by ste mali aspoň preskúmať niektoré pozície v oblasti dátovej vedy a zistiť, o čom je humbuk. Možno ste už videli články ako Data Science od Vicki Boykis, ktorá sa teraz líši:

Je zrejmé, že v neskorej fáze hype cyklu sa datová veda asymptoticky posúva bližšie k inžinierstvu a zručnosti, ktoré vedci v oblasti dát potrebujú, aby sa posúvali vpred, sú menej vizualizované a založené na štatistikách a viac zodpovedajú tradičnej počítačovej vede …: Pojmy ako testovanie jednotiek a nepretržitá integrácia si rýchlo našli cestu do žargónu a sady nástrojov, ktoré bežne používajú vedci v oblasti údajov a numerickí vedci pracujúci na inžinierstve ML.

alebo tweety ako Tim Hopper:

Nie je jasné, ako môžete svoje skúsenosti ako softvérový inžinier využiť na pozíciu dátovej vedy. Niektoré ďalšie otázky, ktoré by ste mohli mať, sú:

Čo by som mal uprednostniť pri učení?

Existujú osvedčené postupy alebo nástroje, ktoré sa pre vedcov v oblasti údajov líšia?

Prenesie sa moja súčasná sada zručností na rolu v oblasti dátovej vedy?

Tento článok poskytne základné informácie o úlohe vedca v oblasti údajov a o tom, prečo môže byť vaše pozadie vhodné pre dátovú vedu, a konkrétne hmatateľné postupné kroky, ktoré môžete ako vývojár podniknúť na podporu rozvoja dátovej vedy.

Chcete vidieť najnovšie úlohy v oblasti dátovej vedy? Prihláste sa na odber dvojtýždenníka Newsletter pracovných miest ML, ktorý vám prinesie nové pracovné príležitosti v oblasti dátovej vedy.

Data Scientist versus Data Engineer

Najprv by sme mali rozlišovať medzi dvoma doplňujúcimi sa rolami: Data Scientist versus Data Engineer. Zatiaľ čo obidve tieto role pracujú s modelmi strojového učenia, ich interakcia s týmito modelmi, ako aj požiadavky a povaha práce pre vedcov a dátových inžinierov sa veľmi líšia.

Poznámka: Rola dátového inžiniera, ktorá sa špecializuje na strojové učenie, sa môže prejaviť aj v popise práce ako „Softvérový inžinier, strojové učenie“ alebo „Strojoví učitelia“.

V rámci pracovného toku strojového učenia vykoná vedecký pracovník štatistickú analýzu potrebnú na zistenie, aký prístup strojového učenia sa má použiť, a potom začne prototypovať a vytvárať tieto modely.

Inžinieri strojového učenia budú často spolupracovať s dátovými vedcami pred a po tomto procese modelovania: (1) budovanie dátových potrubí na dodávanie údajov do týchto modelov a (2) navrhnutie inžinierskeho systému, ktorý bude slúžiť týmto modelom na zabezpečenie nepretržitého fungovania modelu.

Diagram nižšie je jedným zo spôsobov, ako zobraziť toto kontinuum zručností:

O rozdieloch medzi dátovými vedcami a dátovými inžiniermi existuje veľké množstvo online zdrojov - nezabudnite si pozrieť:

  • Panoply: Aký je rozdiel medzi dátovým inžinierom a dátovým vedcom?
  • Odrazový mostík: Strojový učiteľ vs Data Scientist
  • O'Reilly: Dátoví inžinieri vs. dátoví vedci

Ako vylúčenie zodpovednosti, tento článok sa primárne venuje úlohe Data Scientist s určitým prikyvovaním smerom k strane strojového učenia (obzvlášť dôležité, ak hľadáte pozíciu v menšej spoločnosti, kde budete musieť slúžiť ako obaja). Ak vás zaujíma, ako môžete prejsť na pozíciu Data Engineer alebo Machine Learning Engineer, dajte nám vedieť v komentároch nižšie!

Vaša výhoda ako vývojára

Na úkor všetkých, kurzy okolo strojového učenia ako, Úvod do dátových Science v Pythone 'alebo Andrew NG Coursera Samozrejme to nie je pokrytie konceptov a osvedčených postupov z oblasti softvérového inžinierstva ako jednotkové testy, písať modulárny opakovane použiteľný kód, CI / CD, alebo riadenie verzií. Ani niektoré z najpokročilejších tímov strojového učenia stále nepoužívajú tieto postupy pre svoj kód strojového učenia, čo vedie k znepokojivému trendu ...

Pete Warden opísal tento trend ako „krízu reprodukovateľnosti strojového učenia“:

stále sme späť v temných dobách, pokiaľ ide o sledovanie zmien a prestavovanie modelov od nuly. Je to také zlé, že niekedy máme pocit, akoby sme ustupovali v čase, keď sme kódovali bez kontroly zdroja.

Aj keď možno nevidíte tieto zručnosti v oblasti „softvérového inžinierstva“, ktoré sú výslovne uvedené v popise práce vedeckého pracovníka v odbore dátový vedec, dobré pochopenie týchto zručností ako súčasť vášho pôvodného vzdelania už pomôže desaťnásobku vašej práce ako dátového vedca. Navyše sa začnú používať, keď je čas odpovedať na tieto otázky týkajúce sa programovania počas vášho rozhovoru s dátovou vedou.

Pre zaujímavú perspektívu z druhej strany si pozrite článok Treyho Causeyho o schopnostiach vývoja softvéru pre dátových vedcov o zručnostiach, ktoré odporúča, aby sa dátoví vedci naučili „písať lepší kód, lepšie komunikovať s vývojármi softvéru a nakoniec vám ušetriť čas a bolesti hlavy “.

Rozvoj v oblasti dátovej vedy

Je skvelé, že máte dobré základy v oblasti softvérového inžinierstva, ale aký je ďalší krok k tomu, aby ste sa stali dátovým vedcom? Tweet od Josha Willa v jazyku definície dátového vedca je prekvapivo presný:

Naznačuje jednu z tém, ktoré by ste mali dohnať, ak máte záujem o pozíciu alebo kariéru v odbore data scientist: štatistika. V tejto ďalšej časti sa budeme venovať veľkým zdrojom pre:

  • Budovanie znalostí špecifických pre ML
  • Znalosti v stavebníctve
  • Nástroje v zásobníku ML
  • Zručnosti a kvalifikácia

Budovanie znalostí špecifických pre ML

Najefektívnejšie je vybudovať kombináciu poznatkov založených na teórii okolo pravdepodobnosti a štatistík, ako aj aplikovaných zručností v oblasti hádania údajov alebo tréningových modelov na GPU / distribuovaných výpočtoch.

Jedným zo spôsobov, ako zarámovať získané vedomosti, je porovnať ich s pracovným tokom strojového učenia.

Pozrite si tento podrobný pracovný postup od Skymind AI

Tu uvádzame zoznam najlepších zdrojov, ktoré nájdete v oblasti strojového učenia. Bolo by nemožné mať vyčerpávajúci zoznam a kvôli úspore miesta (a času na čítanie) sme nespomenuli veľmi populárne zdroje ako kurz Coursera od Andrewa Nga alebo Kaggle.

Kurzy:

  • Fast.ai MOOC (bezplatné kurzy, ktoré učia veľmi aplikované zručnosti v rámci praktického hlbokého učenia pre kodéry, špičkového hlbokého učenia pre kodéry, výpočtovej lineárnej algebry a úvodu do strojového učenia pre kodéry)
  • Khan Academy
  • 3Blue1Brown a matematický kanál youtube
  • Kurzy Udacity (vrátane predspracovania pre strojové učenie v Pythone)
  • Trať špecifická pre AI / ML odrazového mostíka

Učebnice: * pre väčšinu z nich sa pokúsila nájsť zadarmo súbory PDF *

  • Pravdepodobnostné programovanie a Bayesovské metódy pre hackerov
  • Pravdepodobnosť a náhodné procesy
  • Prvky štatistického učenia
  • Lineárna algebra je hotová správne
  • Úvod do lineárnej algebry
  • Návrh algoritmu

Sprievodcovia:

  • Sprievodca strojovým učením Google Developers
  • Sprievodcovia ovládaním strojového učenia (dobrý východiskový bod nájdete v tomto mini kurze o strojovom učení v jazyku Python)
  • Pyimagesearch (pre počítačové videnie)

Stretnutia: * predovšetkým NYC *

  • Papiere, ktoré máme radi
  • NYC Umelá inteligencia a strojové učenie
  • DataCouncil.ai
  • NY umelá inteligencia
Skvelý východiskový bod nájdete v dokumente Will Wolf's 'Open-Source Machine Learning Masters', kde nájdete informácie o tom, ako môžete štruktúrovať svoj čas naprieč štúdiom konkrétnych tém a prácou na projektoch s cieľom preukázať odborné znalosti na nízkonákladovom vzdialenom mieste.

Znalosti špecifické pre stavebný priemysel

Ak máte predstavu, že by ste chceli byť konkrétnym odvetvím, ako je zdravotníctvo, finančné služby, spotrebný tovar, maloobchod atď., Je neoceniteľné dohnať bolestivé body a vývoj tohto odvetvia, pokiaľ ide o dáta a stroje učenie.

Jeden profi tip = môžete skenovať webové stránky vertikálne špecifických začínajúcich AI a zistiť, ako umiestňujú svoju hodnotovú ponuku a kde prichádza do úvahy strojové učenie. Získate tak nápady pre konkrétne oblasti strojového učenia sa a študijné témy pre projekty, ktoré majú predviesť vašu prácu.

Môžeme ísť príkladom: povedzme, že by ma zaujímala práca v zdravotníctve.

  1. Vďaka rýchlemu vyhľadávaniu na Googli pre výrazstrojové učenie zdravotnej starostlivosti“ som našiel tento zoznam na webe Healthcareweekly.com s názvom „Najlepšie začínajúce zdravotnícke podniky, na ktoré je treba sa pozerať v roku 2019“.
Môžete tiež rýchlo vyhľadávať na serveri Crunchbase alebo AngelList s kľúčovým slovom „zdravotná starostlivosť“

2. Vezmime si ako príklad jednu zo spoločností uvedených na zozname, BenevolentAI.

3. Na webovej stránke BenevolentAI sa uvádza:

Sme spoločnosť zaoberajúca sa umelou inteligenciou s komplexnými schopnosťami od skorého objavenia lieku až po neskorý klinický vývoj. Spoločnosť BenevolentAI kombinuje silu výpočtovej medicíny a pokrokovej umelej inteligencie s princípmi otvorených systémov a cloud computingu s cieľom transformovať spôsob, akým sú lieky navrhované, vyvíjané, testované a uvádzané na trh. Benevolent Platform sme vytvorili za účelom lepšieho pochopenia chorôb a navrhovania nových a vylepšiť existujúcu liečbu z veľkého množstva biomedicínskych informácií. Veríme, že naša technológia umožňuje vedcom vyvíjať lieky rýchlejšie a efektívnejšie z hľadiska nákladov. Nový výskumný príspevok vychádza každých 30 sekúnd, avšak vedci v súčasnosti využívajú iba zlomok dostupných poznatkov na pochopenie príčiny ochorenia a na navrhnutie novej liečby. Naša platforma prijíma,„číta“ a kontextualizuje obrovské množstvo informácií získaných z písomných dokumentov, databáz a experimentálnych výsledkov. Je schopný robiť nekonečne viac dedukcií a záverov z týchto rôznorodých a komplexných zdrojov údajov, identifikujúcich a vytvárať vzťahy, trendy a vzory, ktoré by ľudská bytosť nedokázala urobiť sama.

4. Okamžite vidíte, že BenevolentAI používa spracovanie prirodzeného jazyka (NLP) a pravdepodobne pracuje s niektorými grafmi znalostí, ak identifikuje vzťahy medzi chorobami a výskumom liečby

5. Ak si pozriete stránku kariéry BenevolentAI, môžete vidieť, že si najímajú výskumných pracovníkov Senior Machine Learning. Toto je senior úloha, takže to nie je dokonalý príklad, ale nižšie sa pozrite na schopnosti a kvalifikáciu, ktoré požadujú:

Poznámka:

  • spracovanie prirodzeného jazyka, odvodenie grafu znalostí, aktívne učenie a biochemické modelovanie
  • štruktúrované a neštruktúrované zdroje údajov
  • prístupy bayesovského modelu
  • znalosť moderných nástrojov pre ML

Toto by vám malo poskytnúť niekoľko krokov, ako ďalej postupovať:

  • práca so štruktúrovanými údajmi
  • práca s neštruktúrovanými dátami
  • klasifikácia vzťahov v znalostných grafoch (tu nájdete dobrý zdroj)
  • učenie sa bayesovskej pravdepodobnosti a prístupy modelovania
  • pracovať na projekte NLP (teda textové údaje)

Neodporúčame vám, aby ste sa pri hľadaní uchádzali o spoločnosti, ktoré ste našli, ale radšej si pozrite, ako popisujú slabé stránky svojich zákazníkov, hodnotové návrhy ich spoločností a aké zručnosti uvádzajú v popisoch pracovných pozícií, ktoré vám pomôžu pri výskume.

Nástroje v zásobníku ML

V popise práce BenevolentAI Senior Machine Learning Researcher požadujú „znalosť moderných nástrojov pre ML, ako sú Tensorflow, PyTorch atď ...“

Naučiť sa tieto moderné nástroje pre ML sa môže javiť ako skľučujúca, pretože priestor sa neustále mení. Ak chcete proces učenia rozdeliť na zvládnuteľné kúsky, nezabudnite svoje myslenie zakomponovať zhora do pracovného toku strojového učenia - „Aký nástroj mi môže pomôcť s touto časťou pracovného toku?“ ?

Ak chcete zistiť, ktoré nástroje sprevádzajú jednotlivé kroky tohto pracovného postupu strojového učenia, pozrite si úvod do príručky strojového učenia Rogera Huanga, ktorý obsahuje nástroje ako Docker, Comet.ml a dask-ml.

Takticky povedané, Python a R sú najbežnejšie programovacie jazyky, ktoré vedci používajú, a môžete sa stretnúť s doplnkovými balíčkami určenými pre aplikácie dátových vied, ako sú NumPy a SciPy, a matplotlib. Tieto jazyky sú skôr tlmočené než kompilované, takže dátový vedec sa môže sústrediť skôr na problém, ako na nuansy jazyka. Na pochopenie implementácie dátových štruktúr ako tried stojí za to investovať čas na učenie sa do objektovo orientovaného programovania.

Ak chcete dohnať rámce ML, ako sú Tensorflow, Keras a PyTorch, pozrite si ich dokumentáciu a skúste implementovať ich návody end-to-end.

Na konci dňa sa chcete ubezpečiť, že budujete projekty, ktoré prezentujú tieto moderné nástroje na zhromažďovanie a hádanie údajov, správu experimentov so strojovým učením a modelovanie.

Pre inšpiráciu pre vaše projekty si pozrite článok Edouarda Harrisa o probléme so studeným štartom: ako zostaviť portfólio strojového učenia.

Zručnosti a kvalifikácia

Túto časť sme nechali na záver, pretože agreguje väčšinu informácií z predchádzajúcich častí, ale je zameraná špeciálne na prípravu rozhovorov o dátových vedách. Počas rozhovoru s dátovým vedcom existuje šesť hlavných tém:

  1. Kódovanie
  2. Výrobok
  3. SQL
  4. A / B testovanie
  5. Strojové učenie
  6. Pravdepodobnosť (tu nájdete dobrú definíciu vs. štatistika)

Všimnete si, že jedna z týchto tém nie je ako ostatné (Produkt). Pre pozície dátovej vedy je kľúčová komunikácia o technických konceptoch a výsledkoch, ako aj obchodné metriky a dopad.

Niekoľko užitočných agregácií otázok z rozhovoru o údajovej vede: ?? https: //github.com/kojino/120-Data-Science-Interview-Questions ?? https: //github.com/iamtodor/data-science-interview-questions-and-answers ???? https://hookedondata.org/red-flags-in-data-science-interviews/ ?? https://medium.com/@XiaohanZeng/i-interviewed-at-five-top-companies-in-silicon-valley-in-five-days-and-luckily-got-five-job-offers-25178cf74e0f

Všimli ste si, že sme zahrnuli časť Hooked on Data o „Červených vlajkách v rozhovoroch s dátovými vedami“ - pri rozhovoroch o rolách narazíte na spoločnosti, ktoré si ešte stále budujú svoju dátovú infraštruktúru alebo nemusia dostatočne rozumieť tomu, ako ich tím pre dátovú vedu zapadá do hodnoty pre väčšiu spoločnosť.

Tieto spoločnosti môžu stále stúpať v tejto hierarchii potrieb nižšie.

Pre niektoré očakávania týkajúce sa rozhovorov s vedeckými pracovníkmi v oblasti dátovej vedy by som odporúčal prečítať si časť Tima Hoppera o „Niektoré úvahy o odmietnutí pre veľa pracovných miest v oblasti dátových vied“

Vďaka za prečítanie! Dúfame, že vám tento sprievodca pomôže pochopiť, či je dátová veda kariérou, ktorú by ste mali zvážiť, a ako začať túto cestu!

Chcete vidieť najnovšie úlohy v oblasti dátovej vedy? Prihláste sa na odber dvojtýždenníka Newsletter ML Jobs o nových pracovných pozíciách v oblasti dátovej vedy vo vašej doručenej pošte:

Spravodaj ML Jobs - Revue

Prihláste sa na odber tohto dvojtýždenníka zostaveného zoznamu pracovných miest v oblasti dátovej vedy v najlepších spoločnostiach v tomto odbore. Úlohy ... www.getrevue.co