1. Знание

Большой гид по Data Science для начинающих: термины, применение, образование и вход в профессию

Пошаговая инструкция для тех, кто не знает, с чего начать

Про­фес­сию Data Sci­en­tist се­го­дня ча­сто на­зы­ва­ют од­ной из са­мых пер­спек­тив­ных и мод­ных. Он­лайн-кур­сы и уни­вер­си­те­ты пред­ла­га­ют все боль­ше про­грамм обу­че­ния этой спе­ци­аль­но­сти, и но­вич­кам не все­гда по­нят­но, с чего на­чать и как вы­брать са­мый эф­фек­тив­ный путь. Ру­ко­во­ди­тель фа­куль­те­та Data Sci­ence он­лайн-уни­вер­си­те­та «Нето­ло­гия» Еле­на Ге­ра­си­мо­ва спе­ци­аль­но для «Цеха» со­ста­ви­ла по­дроб­ный пу­те­во­ди­тель по миру на­у­ки о дан­ных. В ма­те­ри­а­ле вы най­де­те объ­яс­не­ния глав­ных тер­ми­нов, по­ша­го­вую ин­струк­цию для тех, кто толь­ко вхо­дит в про­фес­сию, а так­же спи­сок по­лез­ной ли­те­ра­ту­ры по каж­дой теме.




О чем речь

Data Sci­ence — де­я­тель­ность, свя­зан­ная с ана­ли­зом дан­ных и по­ис­ком луч­ших ре­ше­ний на их ос­но­ве. Рань­ше по­доб­ны­ми за­да­ча­ми за­ни­ма­лись спе­ци­а­ли­сты по ма­те­ма­ти­ке и ста­ти­сти­ке. За­тем на по­мощь при­шел ис­кус­ствен­ный ин­тел­лект, что поз­во­ли­ло вклю­чить в ме­то­ды ана­ли­за оп­ти­ми­за­цию и ин­фор­ма­ти­ку. Этот но­вый под­ход ока­зал­ся на­мно­го эф­фек­тив­ней.

Как стро­ит­ся про­цесс? Все на­чи­на­ет­ся со сбо­ра боль­ших мас­си­вов струк­ту­ри­ро­ван­ных и неструк­ту­ри­ро­ван­ных дан­ных и их пре­об­ра­зо­ва­ния в удоб­ный для вос­при­я­тия фор­мат. Даль­ше ис­поль­зу­ет­ся ви­зу­а­ли­за­ция, ра­бо­та со ста­ти­сти­кой и ана­ли­ти­че­ские ме­то­ды — ма­шин­но­го и глу­бо­ко­го обу­че­ния, ве­ро­ят­ност­ный ана­лиз и про­гноз­ные мо­де­ли, ней­рон­ные сети и их при­ме­не­ние для ре­ше­ния ак­ту­аль­ных за­дач.

Пять глав­ных тер­ми­нов, ко­то­рые нуж­но за­пом­нить


Ис­кус­ствен­ный ин­тел­лект, ма­шин­ное обу­че­ние, глу­бо­кое обу­че­ние и на­у­ка о дан­ных — ос­нов­ные и са­мые по­пу­ляр­ные тер­ми­ны. Они близ­ки, но не эк­ви­ва­лент­ны друг дру­гу. На стар­те важ­но разо­брать­ся, чем они от­ли­ча­ют­ся.

Ис­кус­ствен­ный ин­тел­лект (Ar­ti­fi­cial In­tel­li­gence) — об­ласть, по­свя­щен­ная со­зда­нию ин­тел­лек­ту­аль­ных си­стем, ра­бо­та­ю­щих и дей­ству­ю­щих как люди. Ее воз­ник­но­ве­ние свя­за­но с по­яв­ле­ни­ем ма­шин Ала­на Тью­рин­га в 1936 году. Несмот­ря на дол­гую ис­то­рию раз­ви­тия, ис­кус­ствен­ный ин­тел­лект пока не спо­со­бен пол­но­стью за­ме­нить че­ло­ве­ка в боль­шин­стве об­ла­стей. А кон­ку­рен­ция ИИ с людь­ми в шах­ма­тах и шиф­ро­ва­ние дан­ных — две сто­ро­ны од­ной ме­да­ли.

Ма­шин­ное обу­че­ние (Ma­chine learn­ing) — со­зда­ние ин­стру­мен­та для из­вле­че­ния зна­ний из дан­ных. Мо­де­ли ML обу­ча­ют­ся на дан­ных са­мо­сто­я­тель­но или по­этап­но: обу­че­ние с учи­те­лем на под­го­тов­лен­ных че­ло­ве­ком дан­ных и без учи­те­ля — ра­бо­та со сти­хий­ны­ми, за­шум­лен­ны­ми дан­ны­ми.

Глу­бо­кое обу­че­ние (Deep learn­ing) — со­зда­ние мно­го­слой­ных ней­рон­ных се­тей в об­ла­стях, где тре­бу­ет­ся бо­лее про­дви­ну­тый или быст­рый ана­лиз, и тра­ди­ци­он­ное ма­шин­ное обу­че­ние не справ­ля­ет­ся. «Глу­би­на» обес­пе­чи­ва­ет­ся неко­то­рым ко­ли­че­ством скры­тых сло­ев ней­ро­нов в сети, ко­то­рые про­во­дят ма­те­ма­ти­че­ские вы­чис­ле­ния.

Боль­шие дан­ные (Big Data) — ра­бо­та с боль­шим объ­е­мом ча­сто неструк­ту­ри­ро­ван­ных дан­ных. Спе­ци­фи­ка сфе­ры — это ин­стру­мен­ты и си­сте­мы, спо­соб­ные вы­дер­жи­вать вы­со­кие на­груз­ки.

На­у­ка об ана­ли­зе дан­ных (Data Sci­ence) — в ос­но­ве об­ла­сти ле­жит на­де­ле­ние смыс­лом мас­си­вов дан­ных, ви­зу­а­ли­за­ция, сбор идей и при­ня­тие ре­ше­ний на ос­но­ве этих дан­ных. Спе­ци­а­ли­сты по ана­ли­зу дан­ных ис­поль­зу­ют неко­то­рые ме­то­ды ма­шин­но­го обу­че­ния и Big Data: об­лач­ные вы­чис­ле­ния, ин­стру­мен­ты для со­зда­ния вир­ту­аль­ной сре­ды раз­ра­бот­ки и мно­гое дру­гое.

Где при­ме­ня­ет­ся Data Sci­ence

• об­на­ру­же­ние ано­ма­лий, на­при­мер, ненор­маль­ное по­ве­де­ние кли­ен­та, мо­шен­ни­че­ства;

• пер­со­на­ли­зи­ро­ван­ный мар­ке­тинг — элек­трон­ные рас­сыл­ки, ре­тар­ге­тинг, си­сте­мы ре­ко­мен­да­ций;

• ко­ли­че­ствен­ные про­гно­зы — по­ка­за­те­ли эф­фек­тив­но­сти, ка­че­ство ре­клам­ных кам­па­ний и дру­гих ме­ро­при­я­тий;

• ско­рин­го­вые си­сте­мы — об­ра­бот­ка боль­ших объ­е­мов дан­ных, по­мощь в при­ня­тии ре­ше­ний, на­при­мер, о предо­став­ле­нии кре­ди­та;

• ба­зо­вое вза­и­мо­дей­ствие с кли­ен­том — стан­дарт­ные от­ве­ты в ча­тах, го­ло­со­вые по­мощ­ни­ки, сор­ти­ров­ка пи­сем по пап­кам.

Пять ос­нов­ных эта­пов в ра­бо­те с дан­ны­ми

Сбор. По­иск ка­на­лов, где мож­но со­би­рать дан­ные, и вы­бор ме­то­дов их по­лу­че­ния.

Про­вер­ка. Ва­ли­да­ция, ни­ве­ли­ро­ва­ние ано­ма­лий, ко­то­рые не вли­я­ют на ре­зуль­тат и ме­ша­ют даль­ней­ше­му ана­ли­зу.

Ана­лиз. Изу­че­ние дан­ных, под­твер­жде­ние пред­по­ло­же­ний.

Ви­зу­а­ли­за­ция. Пред­став­ле­ние ин­фор­ма­ции в по­нят­ном для вос­при­я­тия виде: гра­фи­ки, диа­грам­мы.

Ре­ак­ция. При­ня­тие ре­ше­ний на ос­но­ве дан­ных. На­при­мер, из­ме­не­ние мар­ке­тин­го­вой стра­те­гии, уве­ли­че­ние бюд­же­та ком­па­нии.

Об­ра­зо­ва­ние. Шесть ша­гов на пути к Data Sci­en­tist

Путь к этой про­фес­сии тру­ден: невоз­мож­но овла­деть все­ми ин­стру­мен­та­ми за ме­сяц или даже год. При­дет­ся по­сто­ян­но учить­ся, де­лать ма­лень­кие шаги каж­дый день, оши­бать­ся и пы­тать­ся вновь.

Шаг 1. Ста­ти­сти­ка, ма­те­ма­ти­ка, ли­ней­ная ал­геб­ра

Для се­рьез­но­го по­ни­ма­ния Data Sci­ence по­на­до­бит­ся фун­да­мен­таль­ный курс по тео­рии ве­ро­ят­но­стей (ма­те­ма­ти­че­ский ана­лиз как необ­хо­ди­мый ин­стру­мент в тео­рии ве­ро­ят­но­стей), ли­ней­ной ал­геб­ре и ма­те­ма­ти­че­ской ста­ти­сти­ке.

Фун­да­мен­таль­ные ма­те­ма­ти­че­ские зна­ния важ­ны, что­бы ана­ли­зи­ро­вать ре­зуль­та­ты при­ме­не­ния ал­го­рит­мов об­ра­бот­ки дан­ных. Силь­ные ин­же­не­ры в ма­шин­ном обу­че­нии без та­ко­го об­ра­зо­ва­ния есть, но это ско­рее ис­клю­че­ние.

Что по­чи­тать:

«Эле­мен­ты ста­ти­сти­че­ско­го обу­че­ния», Тре­вор Ха­сти, Ро­берт Тиб­ши­ра­ни и Дже­ром Фрид­ман — если по­сле уче­бы в уни­вер­си­те­те оста­лось мно­го про­бе­лов. Клас­си­че­ские раз­де­лы ма­шин­но­го обу­че­ния пред­став­ле­ны в тер­ми­нах ма­те­ма­ти­че­ской ста­ти­сти­ки со стро­ги­ми ма­те­ма­ти­че­ски­ми вы­чис­ле­ни­я­ми.

«Глу­бо­кое обу­че­ние», Ян Гуд­фел­лоу. Луч­шая кни­га о ма­те­ма­ти­че­ских прин­ци­пах, ле­жа­щих в ос­но­ве ней­рон­ных се­тей.

«Ней­рон­ные сети и глу­бо­кое обу­че­ние», Май­кл Ниль­сен. Для зна­ком­ства с ос­нов­ны­ми прин­ци­па­ми.

Пол­ное ру­ко­вод­ство по ма­те­ма­ти­ке и ста­ти­сти­ке для Data Sci­ence. Кру­тое и нескуч­ное по­ша­го­вое ру­ко­вод­ство, ко­то­рое по­мо­жет сори­ен­ти­ро­вать­ся в ма­те­ма­ти­ке и ста­ти­сти­ке.

Вве­де­ние в ста­ти­сти­ку для Data Sci­ence по­мо­жет по­нять цен­траль­ную пре­дель­ную тео­ре­му. Оно охва­ты­ва­ет ге­не­раль­ные со­во­куп­но­сти, вы­бор­ки и их рас­пре­де­ле­ние, со­дер­жит по­лез­ные ви­део­ма­те­ри­а­лы.

Пол­ное ру­ко­вод­ство для на­чи­на­ю­щих по ли­ней­ной ал­геб­ре для спе­ци­а­ли­стов по ана­ли­зу дан­ных. Всё, что необ­хо­ди­мо знать о ли­ней­ной ал­геб­ре.

Ли­ней­ная ал­геб­ра для Data Sci­en­tists. Ин­те­рес­ная ста­тья, зна­ко­мя­щая с ос­но­ва­ми ли­ней­ной ал­геб­ры.

Шаг 2. Про­грам­ми­ро­ва­ние

Боль­шим пре­иму­ще­ством бу­дет зна­ком­ство с ос­но­ва­ми про­грам­ми­ро­ва­ния. Вы мо­же­те немно­го упро­стить себе за­да­чу: нач­ни­те изу­чать один язык и со­сре­до­точь­тесь на всех ню­ан­сах его син­так­си­са.

При вы­бо­ре язы­ка об­ра­ти­те вни­ма­ние на Python. Во-пер­вых, он иде­а­лен для но­вич­ков, его син­так­сис от­но­си­тель­но прост. Во-вто­рых, Python мно­го­функ­ци­о­на­лен и вос­тре­бо­ван на рын­ке тру­да.

Что по­чи­тать:

«Ав­то­ма­ти­за­ция ру­тин­ных за­дач с по­мо­щью Python: прак­ти­че­ское ру­ко­вод­ство для на­чи­на­ю­щих». Прак­ти­че­ское ру­ко­вод­ство для тех, кто учит­ся с нуля. До­ста­точ­но про­честь гла­ву «Ма­ни­пу­ли­ро­ва­ние стро­ка­ми» и вы­пол­нить прак­ти­че­ские за­да­ния из нее.

Codecad­emy —  здесь вы на­учи­тесь хо­ро­ше­му об­ще­му син­так­си­су.

Лег­кий спо­соб вы­учить Python 3 —  бле­стя­щий ма­ну­ал, в ко­то­ром объ­яс­ня­ют­ся ос­но­вы.

Dataquest  по­мо­жет осво­ить син­так­сис.

The Python Tu­to­r­ial  —  офи­ци­аль­ная до­ку­мен­та­ция.

По­сле того, как изу­чи­те ос­но­вы Python, по­зна­комь­тесь с ос­нов­ны­ми биб­лио­те­ка­ми:

Ви­зу­а­ли­за­ция:

Ма­шин­ное обу­че­ние и глу­бо­кое обу­че­ние:

Об­ра­бот­ка есте­ствен­но­го язы­ка:

Web scrap­ing (Ра­бо­та с web):

Шаг 3. Ма­шин­ное обу­че­ние

Ком­пью­те­ры обу­ча­ют­ся дей­ство­вать са­мо­сто­я­тель­но, нам боль­ше не нуж­но пи­сать по­дроб­ные ин­струк­ции для вы­пол­не­ния опре­де­лен­ных за­дач. По­это­му ма­шин­ное обу­че­ние име­ет боль­шое зна­че­ние для прак­ти­че­ски лю­бой об­ла­сти, но преж­де все­го бу­дет хо­ро­шо ра­бо­тать там, где есть Data Sci­ence.

Пер­вый шаг в изу­че­нии ма­шин­но­го обу­че­ния — зна­ком­ство с тре­мя его ос­нов­ны­ми фор­ма­ми.

1) Обу­че­ние с учи­те­лем — наи­бо­лее раз­ви­тая фор­ма ма­шин­но­го обу­че­ния. Идея в том, что­бы на ос­но­ве ис­то­ри­че­ских дан­ных, для ко­то­рых нам из­вест­ны «пра­виль­ные» зна­че­ния (це­ле­вые мет­ки), по­стро­ить функ­цию, пред­ска­зы­ва­ю­щую це­ле­вые мет­ки для но­вых дан­ных. Ис­то­ри­че­ские дан­ные про­мар­ки­ро­ва­ны. Мар­ки­ров­ка (от­не­се­ние к ка­ко­му-либо клас­су) озна­ча­ет, что у вас есть осо­бое вы­ход­ное зна­че­ние для каж­дой стро­ки дан­ных. В этом и за­клю­ча­ет­ся суть ал­го­рит­ма.

2) Обу­че­ние без учи­те­ля. У нас нет про­мар­ки­ро­ван­ных пе­ре­мен­ных, а есть мно­го необ­ра­бо­тан­ных дан­ных. Это поз­во­ля­ет иден­ти­фи­ци­ро­вать то, что на­зы­ва­ет­ся за­ко­но­мер­но­стя­ми в ис­то­ри­че­ских вход­ных дан­ных, а так­же сде­лать ин­те­рес­ные вы­во­ды из об­щей пер­спек­ти­вы. Итак, вы­ход­ные дан­ные здесь от­сут­ству­ют, есть толь­ко шаб­лон, ви­ди­мый в некон­тро­ли­ру­е­мом на­бо­ре вход­ных дан­ных. Пре­лесть обу­че­ния без учи­те­ля в том, что оно под­да­ет­ся мно­го­чис­лен­ным ком­би­на­ци­ям шаб­ло­нов, по­это­му та­кие ал­го­рит­мы слож­нее.

3) Обу­че­ние с под­креп­ле­ни­ем при­ме­ня­ет­ся, ко­гда у вас есть ал­го­ритм с при­ме­ра­ми, в ко­то­рых от­сут­ству­ет мар­ки­ров­ка, как при некон­тро­ли­ру­е­мом обу­че­нии. Од­на­ко вы мо­же­те до­пол­нить при­мер по­ло­жи­тель­ны­ми или от­ри­ца­тель­ны­ми от­кли­ка­ми в со­от­вет­ствии с ре­ше­ни­я­ми, пред­ла­га­е­мы­ми ал­го­рит­мом. Обу­че­ние с под­креп­ле­ни­ем свя­за­но с при­ло­же­ни­я­ми, для ко­то­рых ал­го­ритм дол­жен при­ни­мать ре­ше­ния, име­ю­щие по­след­ствия. Это по­хо­же на обу­че­ние ме­то­дом проб и оши­бок. Ин­те­рес­ный при­мер обу­че­ния с под­креп­ле­ни­ем — ко­гда ком­пью­те­ры учат­ся са­мо­сто­я­тель­но иг­рать в ви­део­иг­ры.

Что по­чи­тать:

Кон­тро­ли­ру­е­мые и некон­тро­ли­ру­е­мые ал­го­рит­мы в ма­шин­ном обу­че­нии. До­ход­чи­вые и ла­ко­нич­ные объ­яс­не­ния ти­пов ал­го­рит­мов ма­шин­но­го обу­че­ния.

Ви­зу­а­ли­за­ция в ма­шин­ном обу­че­нии. От­лич­ная ви­зу­а­ли­за­ция, ко­то­рая по­мо­жет по­нять, как ис­поль­зу­ет­ся ма­шин­ное обу­че­ние.

Шаг 4. Data Min­ing (Ана­лиз дан­ных) и ви­зу­а­ли­за­ция дан­ных

Data Min­ing — важ­ный ис­сле­до­ва­тель­ский про­цесс. Он вклю­ча­ет ана­лиз скры­тых мо­де­лей дан­ных в со­от­вет­ствии с раз­лич­ны­ми ва­ри­ан­та­ми пе­ре­во­да в по­лез­ную ин­фор­ма­цию, ко­то­рая со­би­ра­ет­ся и фор­ми­ру­ет­ся в хра­ни­ли­щах дан­ных для об­лег­че­ния при­ня­тия де­ло­вых ре­ше­ний, при­зван­ных со­кра­тить рас­хо­ды и уве­ли­чить до­ход.

Что по­чи­тать и по­смот­реть:

Как ра­бо­та­ет ана­лиз дан­ных. От­лич­ное ви­део с до­ход­чи­вым объ­яс­не­ни­ем ана­ли­за дан­ных.

«Ра­бо­та убор­щи­ка дан­ных» —  глав­ное пре­пят­ствие для ана­ли­за» — ин­те­рес­ная ста­тья, в ко­то­рой по­дроб­но рас­смат­ри­ва­ет­ся важ­ность ана­ли­за дан­ных в об­ла­сти Data Sci­ence.

Шаг 5. Прак­ти­че­ский опыт

За­ни­мать­ся ис­клю­чи­тель­но тео­ри­ей не очень ин­те­рес­но, важ­но по­про­бо­вать свои силы на прак­ти­ке. Вот несколь­ко хо­ро­ших ва­ри­ан­тов для это­го.

Ис­поль­зуй­те Kag­gle. Здесь про­хо­дят со­рев­но­ва­ния по ана­ли­зу дан­ных. Су­ще­ству­ет боль­шое ко­ли­че­ство от­кры­тых мас­си­вов дан­ных, ко­то­рые мож­но ана­ли­зи­ро­вать и пуб­ли­ко­вать свои ре­зуль­та­ты. Кро­ме того, вы мо­же­те смот­реть скрип­ты, опуб­ли­ко­ван­ные дру­ги­ми участ­ни­ка­ми и учить­ся на успеш­ном опы­те.

Шаг 6. Под­твер­жде­ние ква­ли­фи­ка­ции

По­сле того, как вы изу­чи­те все, что необ­хо­ди­мо для ана­ли­за дан­ных, и по­про­бу­е­те свои силы в от­кры­тых со­рев­но­ва­ни­ях, на­чи­най­те ис­кать ра­бо­ту. Пре­иму­ще­ством ста­нет неза­ви­си­мое под­твер­жде­ние ва­шей ква­ли­фи­ка­ции.

На­при­мер:

  • рас­ши­рен­ный про­филь на Kag­gle, где есть си­сте­ма ран­гов. Вы мо­же­те прой­ти путь от но­вич­ка до гросс­мей­сте­ра. За успеш­ное уча­стие в кон­кур­сах, пуб­ли­ка­цию скрип­тов и об­суж­де­ния вы по­лу­ча­е­те бал­лы, ко­то­рые уве­ли­чи­ва­ют ваш рей­тинг. Кро­ме того, на сай­те от­ме­че­но, в ка­ких со­рев­но­ва­ни­ях вы участ­во­ва­ли и ка­ко­вы ваши ре­зуль­та­ты.
  • про­грам­мы ана­ли­за дан­ных мож­но пуб­ли­ко­вать на GitHub или дру­гих от­кры­тых ре­по­зи­то­ри­ях, то­гда все же­ла­ю­щие мо­гут озна­ко­мить­ся с ними. В том чис­ле и ра­бо­то­да­тель, ко­то­рый про­во­дит с вами со­бе­се­до­ва­ние.

По­след­ний со­вет: не будь­те ко­пи­ей ко­пий, най­ди­те свой путь. Лю­бой мо­жет стать Data Sci­en­tist. В том чис­ле са­мо­сто­я­тель­но. В сво­бод­ном до­сту­пе есть все необ­хо­ди­мое: он­лайн-кур­сы, кни­ги, со­рев­но­ва­ния для прак­ти­ки. Но не сто­ит при­хо­дить в сфе­ру толь­ко из-за моды. Что мы слы­шим о Data Sci­ence: это кру­то, это са­мая при­вле­ка­тель­ная ра­бо­та XXI века. Если это ос­нов­ной сти­мул для вас, его вряд ли хва­тит на­дол­го. Что­бы до­бить­ся успе­ха, важ­но по­лу­чать удо­воль­ствие от про­цес­са.