Kuinka sanoa Ei Data Science Projectsille? - Haastattelu Fraktal Analyticsin tietoteknikon Saikatin kanssa

Kuva Kai Pilger Unsplash-kuvassa

Saikat selittää viitekehyksen, jonka avulla hän määrittelee tietotiedeprojektien arvoehdotuksen ja sanoo "ei" heille.

Kohteliaisuus: https://www.linkedin.com/in/saikatkumardey/

Saikat Kumar Dey on tietoteknikko Fractal Analyticsissa. Hänen tarinansa on kiehtovaa, kuinka hän on siirtynyt ohjelmistosuunnittelijasta tietotieteilijäksi. Löysin Saikatin hänen verkkosivustonsa http://saikatkumardey.com kautta. Hänellä on hienoja projekteja siitä. Tutkiessaan hänet haastattelussaan hän yksityiskohtaisesti ajatteli prosessinsa siitä, kuinka hän sanoo kieltäytyvän tietotekniikan hankkeille. Hänen vastauksensa oli sekä hyvin organisoitu että toimiva. Ole hyvä ja lue haastattelu tietääksesi lisää ...

Lisää samanlaista inspiraatiota:

Vimarsh Karbhari (VK): Mitkä kolme AI / ML / DS-kirjaa olet pitänyt eniten? Millä kirjoilla on ollut suurin vaikutus uraasi?

Saikat Kumar Dey (SD): Opit tekemällä. Joten haluan lukea kirjoja, jotka kirjoittavat koodia heidän kanssaan. Kolme suosituinta kirjaa, joista olen pitänyt eniten, ovat: Kollektiivisen älykkyyden ohjelmointi, Koneoppiminen toiminnassa ja Ajattelutilastot.

VK: Mikä työkalu / työkalut (ohjelmisto / laitteisto / tapa), joka sinulla on tietoteknikkona, vaikuttaa eniten työhösi?

SD: Jupyter-muistikirja. Toistettavan työn luominen, joka voitaisiin jakaa kollegoiden tai maailman kanssa, ei ole koskaan ollut näin helppoa. Jupyter-kannettavan avulla on todella helppo kirjoittaa, koodata ja esitellä työsi kenelle tahansa. Tykkään kirjoittaa pieniä muistiinpanoja ajatusprosessistani Markdownissa työskennellessäni missä tahansa projektissa. Kun minun on palattava vanhoihin hankkeihini, voin helposti muistaa, mitä ajattelin. Se on kaikki siellä. Lukeessani uutta kirjaa ML: stä, yritän myös löytää koodin Githubista kyseiselle teokselle. Tämä auttaa minua toistamaan kirjan ideat.

VK: Voitko kertoa tietotekniikkaan liittyvistä epäonnistumisista / projekteista / kokeista, jotka olet oppinut eniten?

SD: Muistan työskentelevän edellisen yrityksen kilpailija-analyysiprojektissa. Se oli ensimmäinen Data Science -projektini yrityksessä. Ajatuksena oli selvittää vastaavia yrityksiä heidän FourSquare-tunnisteidensa perusteella. Lähialueen vastaavat yritykset voivat olla kilpailijoita. Sain tietoja FourSquare-palvelusta ja käytin samankaltaisuuteen perustuvaa lähestymistapaa ongelman ratkaisemiseksi.

En ole koskaan ajatellut kysyä, kuka käyttää tätä mallia? Kuinka tätä mallia otetaan käyttöön? Kuten kävi ilmi, suurin osa pk-yrityksistä (pienet ja keskisuuret yritykset), jotka olivat asiakkaitamme, eivät olleet käytettävissä FourSquare-palvelussa. Suurin osa heistä ei ollut läsnä myös Google Places -palvelussa (kahden yrityksen läheisyyden selvittämiseksi). Projekti romutettiin myöhemmin.

Näin mielenkiintoisen ongelman ja jatkoin sen ratkaisemista. Ratkaisun tarkkuutta / suorituskykyä pidettiin merkityksettömänä, kun huomasimme, että emme voineet käyttää sitä asiakaskuntaamme. Valtava oppitunti. :)

VK: Jos kirjoitat kirjan, mikä olisi kirjan nimi? Mitkä olisivat pääaiheet, joita käsittelisit kirjassa?

SD: ”Sovellut koneoppiminen” - Kirja vie lukijat matkalle rakennusprojekteihin päästä päähän. Se omaksuu ylhäältä alas -lähestymistavan oppimiseen. Suurin osa kirjoista / blogeista / MOOCista rakentaa konseptikontrollit osoittaen ML: n soveltamista. Ne ovat hyödyllisiä aloittelijoille. Useimmat ihmiset eivät kuitenkaan tiedä minne mennä seuraavaksi. He oppivat sen kovalla tavalla. Edistyneelle oppijalle on tärkeää tietää:

  1. Kuinka kysyä oikeita kysymyksiä?
  2. Kuinka kerätä laadukasta tietoa?
  3. Kuinka luoda tehokas tietojen varastointistrategia (jos laatutietoja ei ole saatavana)?
  4. Kuinka rakentaa automaattinen putkilinja ML-mallien kouluttamiseksi / validoimiseksi / käyttöönottamiseksi / seuraamiseksi?
  5. Kuinka rakentaa suunnitteluputki, jotta muut voivat käyttää ML-sovellustasi?
  6. Kuinka rakentaa MVP ja onko strategioita toistettavaksi?

VK: Mitkä ovat parhaat tekemäsi sijoitukset ajassa, rahassa tai energiassa, jotka ovat antaneet sinulle uraasi monipuolisia palkintoja?

SD: Laajennukseni yliopistossa oli lähestyminen laitokseni professoriksi työskentelemään mielenkiintoisten ongelmien parissa hänen alaisuudessaan. Valmistelin itseni ohjelmistoinsinööriksi. Projektien parissa työskennellessäni kuitenkin kiinnostui kiinnostuksestani ML: n suhteen ja sain onnekkaasti aloittaa tietotekniikan urani.

Työskentelen sivuprojekteissa, joita kerroin GitHubille aika ajoin.

Vapaaehtoistyö tietojenkäsittelytieteen viidennen elefantin kanssa. Minulla on tapaava niin monia mielenkiintoisia ihmisiä siellä. Tapasin ihmisiä, joilla oli syvä ymmärrys ML / DL-algoritmeista, jotka inspiroivat minua vahvistamaan perustaani.

VK: Mitkä ovat järjettömiä ideoita tietojenkäsittelytutkimusten / -projektien ympärillä, jotka eivät ole intuitiivisia ulkopuolelta katseleville ihmisille?

SD: Odotukset ML-pohjaisista sovelluksista ovat korkeat viime vuosien AI-hypeen ansiosta. Ihmiset ajattelevat, että ML voi luoda jotain tyhjästä. GIGO (Garbage in, Garbage out) -periaate on sopiva tässä yhteydessä.
Muistan tietyn tapauksen. Työskentelimme chatbotin rakentamisessa. Olemme rakentaneet sen ratkaisemaan joukon tiettyyn alueeseen rajoitettuja ongelmia. Ihmisten odotukset chatbotista olivat yhtä korkeat kuin Siri / Google-Assistant / Alexa. Ihmiset tuskin ymmärsivät, että rakensimme sitä tyhjästä :). Minulla oli työtovereita (ohjelmistosuunnittelijoita), jotka ajoittain hiipivät ja neuvoivat minua käyttämään syvää oppimista (erityisesti LSTM: t). Oli tärkeää, että välitämme järjestelmän mahdollisuudet omakohtaisesti.

VK: Mikä on parantanut työelämääsi viime vuonna, ja siitä voisi olla hyötyä muille?

SD: Muistiinpanoja projektin elinkaaren eri vaiheissa tehdyistä päätöksistä (lähinnä Google-dokumenteista) ja jakamalla se ryhmän kanssa. Tämä auttaa pitämään kaikki samalla sivulla teoksen tilan suhteen.

VK: Mitä neuvoja antaisit kenelle tahansa, joka aloittaa tällä alalla? Mitä neuvoja heidän tulisi sivuuttaa?

SD: Keskity rakentamaan hienoja tavaroita. Sitten poraa alas ja oppi sen rakentamiseen käytetyt algoritmit / tekniikat.

Ohita ihmiset / kirjat / videot, jotka lupaavat sinulle:

  • Opeta tietotekniikka tai ML ilman matematiikkaa. Matematiikka on tärkeää. Sinun tulisi oppia kuinka algoritmi toimii, tehdyt oletukset ja miksi se toimii. Vakaan perustan saaminen lineaarisesta algebrasta ja tilastoista auttaa sinua pitkällä matkalla.
  • Opettaa tietotekniikka X viikossa / kuukaudessa Se on valtava kenttä, joka vie vuosia ollakseen todella hyvä. Siihen mennessä, kun olet lähellä kiinniottelua, kenttä olisi edennyt eteenpäin. Kehotan sinua lukemaan Opettele itsellesi ohjelmointi 10 vuodessa. Tämä artikkeli soveltuu kaikenlaiseen oppimiseen millä tahansa alalla.

VK: Mitä mielestänne tietotekniikassa annetaan huonoja suosituksia?

SD: Algoritmeihin painotetaan enemmän kuin dataa. Kuten aiemmin mainitsin, jätehuolto = roskat pois -periaate on melko sopiva. Syvää oppimista ei voida soveltaa kaikkialla. Kaikkien käytettävissä olevien algoritmien läpi pakottaminen ei toimi hyvin, jos et pysähdy ja ajattele mitä tapahtuu. Monet yrityksesi ratkaisemasi ongelmat on ehkä jouduttava ratkaisemaan tyhjästä, jos tietoja on vähän tai niitä ei ole ollenkaan. Mitä sitten käyttäisit?

VK: Kuinka päätät sanoa Ei kokeille / projekteille?

SD: Aloitan tilaamalla hankkeet niiden arvoehdotuksen perusteella. Sitten seuraan ohjeita alla lueteltujen tärkeiden kysymysten esittämisestä. Tärkeän tehtävän valitseminen on silloin helppoa, kun arvioit niitä objektiivisesti. Useimmiten ominaisuuden / sovelluksen rakentaminen on yrityspäätös, ja sinun on noudatettava sitä. Näissä tapauksissa on tärkeää, että ilmoitat rajoituksista ja asetat odotukset varhaisessa vaiheessa.

Seuraavat kysymykset on esitettävä ennen tietotekniikkaprojektin aloittamista:

  1. Onko tämä ongelma ratkaisemisen arvoinen?
  2. Kuka käyttää sovellustamme?
  3. Onko meillä tarvittavia tietoja tämän ongelman ratkaisemiseksi nyt?
  4. Mitkä ovat tietolähteemme?
  5. Jos meillä ei ole tällä hetkellä mitään tietoja, voimmeko rakentaa valmisteyhteyden tietojen keräämiseen nyt, jotta voimme käyttää Data Sciencea tulevaisuudessa?
  6. Tuleeko heuristinen työ täällä ML: n sijaan?
  7. Millaisia ​​teknisiä toimia vaadimme tämän sovelluksen tukemiseksi?

VK: Tuntuuko sinusta koskaan hätää datan määrästä tai kokeen koosta tai tietoongelmasta? Jos kyllä, mitä teet mielen puhdistamiseksi?

SD: Suurimmalla osalla ongelmista, joihin olen toistaiseksi puutunut, ei ollut ylivoimaista tietoa. Projekti voi kuitenkin olla ylivoimainen liian monien tuntemattomien takia (ja jos joudut etenemään ja tekemään se silti). Näissä tapauksissa yritän yksinkertaistaa suunnittelua ja rakentaa ensimmäisen toimivan version (MVP) ajattelemalla, että iteroin ja parannan sitä edelleen ajan myötä.

VK: Kuinka ajattelet hypoteesisi / lopputuloksesi esittämistä ratkaisun / löytön jälkeen?

SD: Järjestelmällisen tavan rakentaminen projektin avulla auttaa vähentämään ylimääräistä vaivaa sen esittämisessä. Työskentelen yleensä Jupyter-kannettavien kanssa, jotka voitiin esitellä dioina missä tahansa pisteessä. Kehys tulosten esittämiselle on:

  1. Ongelmalausunto
  2. Arvon ehdotus
  3. Tehdyt oletukset
  4. Mielenkiintoisia havaintoja tutkivasta analyysistä (visualisointien / aggregaattien / tilastojen muodossa).
  5. Malli-ennusteiden selitys (jos ennustava malli on rakennettu).
  6. Esimerkkejä vääristä positiivisista / vääristä kielteisistä ja strategioista, joilla niitä voidaan vähentää seuraavassa iteraatiossa (yrityksen käyttötapauksesta riippuen).
  7. Tulevat näkökohdat.

VK: Mikä on intuition merkitys päivittäisessä työssäsi ja suurten päätösten tekemisessä työssä?

SD: Intuitio auttaa sinua arvioimaan tietyn ongelman ratkaisemiseksi tarvittavat ponnistelut. Joskus sovelluksen rakentaminen voi tuntua yksinkertaiselta. Intuitio voi kuitenkin auttaa sinua mittaamaan tarvittavat ponnistelut hallitaksesi sovellusta mittakaavassa. Intuitio auttaa myös ennakoimaan ongelmia, joita voi syntyä tulevaisuudessa nykyisessä vaiheessa tehtyjen päätösten takia. Se paranee vain kokemuksella, joten aivoriiheni kollegoideni (jotka ovat minua enemmän kokeneita) kanssa ennen isojen päätösten tekoa. Tämä auttaa minua näkemään asiat eri näkökulmista.

VK: Mikä on mielestäsi ihanteellinen organisaation sijoittelu datajoukolle?

SD: Datatiimin tulee raportoida suoraan toimitusjohtajalle ja tehdä tiivistä yhteistyötä tuote- ja suunnittelutiimien kanssa. Tärkeää on, että tietoryhmä (enemmän kuin mikään muu ryhmä) mukautetaan yrityksen visioon. Asioiden näyttämiseksi näkökulmasta ei ehkä ole mitään tietoa aloittamisesta. Tietotekniikan asettaminen tuotteen keskipisteeseen auttaa päätöksentekoon automatisointi- / tiedustelusuunnitelmat varhaisessa vaiheessa. Tämä auttaa putkilinjan priorisoinnissa siten, että kun meillä on tarpeeksi tietoa, käytämme sitä asianmukaisesti.

VK: Jos voisit uudistaa urasi tänään, mitä tekisit?

SD: Lukeisin lisää tilastoista (bayesialainen ja Frequentist) ja Lineaarisesta algebrasta. Koneoppimisessa on paljon uusia ideoita, jotka on ilmaistu tutkimuspapereissa. Vahvan matematiikan perustan saaminen auttaisi minua ymmärtämään intuition taustalla ja ajattelemaan ideoita.

VK: Mitkä ovat suodattimet, jotka vähentävät kokeilun harhaa?

SD: Käytän ositettua näytteenottoa jakaa tietojoukkoni juna- / validointi- / testijoukkoihin siten, että kussakin sarjassa olevat näytteet ovat verrannollisia alaryhmien jakautumiseen alkuperäisessä aineistossa. Tehostamistekniikat auttavat myös vähentämään puolueellisuutta.

VK: Kun palkkaat tietotekijöitä tai tietoinsinöörejä tai ML-insinöörejä, mitkä ovat kolme tärkeintä teknistä tai muuta tekniikkaa, joita etsit?

SD: Jos minun olisi palkattava tietoteknikko, kolme parhainta taitoa, joita etsin, olisivat:

  1. Vahvat ongelmanratkaisu- / koodaustaidot.
  2. Vahvat tilastolliset perustat.
  3. Hyvä viestintätaidot - Kyky selittää käsitteitä abstraktin eri tasoilla, yleisöstä riippuen.

Data Engineerille / ML Engineers kohdalla (2) on hyvä saada, kun taas (1) ja (3) ovat pakollisia.

Haluaisin työskennellä ihmisten kanssa, joiden taidot ovat luonteeltaan erilaisia. Utelias luonne auttaa, koska se varmistaa, että opit toisiltasi päivittäin.

VK: Mitä online-blogeja / ihmisiä seuraat saadaksesi neuvoja / oppiaksesi lisää DS: stä?

SD: Luin paljon Arxivista. Se on paras keino pysyä ajan tasalla kentän etenemisessä.
Kaggle-ytimien lukeminen auttaa minua oppimaan tapoja analysoida erilaisia ​​tietojoukkoja.
Datatau, KDnuggets, Reddit (/ r / MachineLearning, / r / DataScience jne.) Auttavat myös löytämään uusimmat alaa koskevat resurssit / oppaat.

Ihmiset voivat seurata Saikatin töitä hänen verkkosivuillaan: http://saikatkumardey.com

Käy Acing AI -haastattelujen yhteydessä valmistautuaksesi Data Science -haastatteluihin: Acing AI -haastattelut

Tilaa Acing AI -uutiskirjeemme niin suuriin asiantuntijahaastatteluihin, lupaan olla roskaposti ja sen ILMAINEN!

Kiitos lukemisesta! Jos nautit siitä, testaa kuinka monta kertaa voit lyödä 5 sekunnissa. Se on loistava sydän sormellesi JA auttaa muita ihmisiä näkemään tarinan.