Редакция
Цеха

Краткая история Data Science: от зарубок на столбах до Big Data

Глава из книги «Наука данных. Базовый курс»

© Web Summit / WikiCommons

Се­го­дня на­у­ка о дан­ных ис­поль­зу­ет­ся прак­ти­че­ски во всех сфе­рах: вы ви­ди­те по­до­бран­ные спе­ци­аль­но для вас ре­клам­ные объ­яв­ле­ния, ре­ко­мен­до­ван­ные на ос­но­ве ва­ших пред­по­чте­ний филь­мы и кни­ги, ссыл­ки на пред­по­ла­га­е­мых дру­зей в соц­се­тях, от­филь­тро­ван­ные пись­ма в пап­ке со спа­мом. «Цех» пуб­ли­ку­ет гла­ву из кни­ги «На­у­ка дан­ных. Ба­зо­вый курс» Джо­на Кел­ле­хе­ра (John D. Kelle­her)и Брен­да­на Тир­ни (Bren­dan Tier­ney), ко­то­рая вы­хо­дит в из­да­тель­стве «Аль­пи­на Па­б­ли­шер».




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

Ис­то­рия сбо­ра дан­ных

Пер­вы­ми из из­вест­ных нам ме­то­дов за­пи­си дан­ных были за­руб­ки на стол­бах, вко­пан­ных в зем­лю, что­бы от­ме­чать вос­хо­ды солн­ца и узна­вать ко­ли­че­ство дней до солн­це­сто­я­ния. Од­на­ко с раз­ви­ти­ем пись­мен­но­сти наша спо­соб­ность фик­си­ро­вать опыт и со­бы­тия окру­жа­ю­ще­го мира зна­чи­тель­но уве­ли­чи­ла объ­ем со­би­ра­е­мых нами дан­ных. Са­мая ран­няя фор­ма пись­ма была раз­ра­бо­та­на в Ме­со­по­та­мии око­ло 3200 г. до н. э. и ис­поль­зо­ва­лась для ком­мер­че­ско­го уче­та. Этот тип уче­та фик­си­ру­ет так на­зы­ва­е­мые тран­зак­ци­он­ные дан­ные. Тран­зак­ци­он­ные дан­ные вклю­ча­ют в себя ин­фор­ма­цию о со­бы­ти­ях, та­ких как про­да­жа то­ва­ра, вы­став­ле­ние сче­та, до­став­ка, опла­та кре­дит­ной кар­той, стра­хо­вые тре­бо­ва­ния и т. д. Нетран­зак­ци­он­ные дан­ные, на­при­мер де­мо­гра­фи­че­ские, так­же име­ют дол­гую ис­то­рию. Пер­вые из­вест­ные пе­ре­пи­си на­се­ле­ния про­шли в Древ­нем Егип­те око­ло 3000 г. до н. э. При­чи­на, по ко­то­рой древ­ние пра­ви­те­ли вкла­ды­ва­ли так мно­го уси­лий и ре­сур­сов в мас­штаб­ные про­ек­ты по сбо­ру дан­ных, за­клю­ча­лась в том, что им нуж­но было по­вы­шать на­ло­ги и уве­ли­чи­вать ар­мии. Это со­гла­су­ет­ся с утвер­жде­ни­ем Бен­джа­ми­на Фран­кли­на о том, что в жиз­ни есть толь­ко две несо­мнен­ные вещи: смерть и на­ло­ги.

В по­след­ние 150 лет изоб­ре­те­ние ком­пью­те­ра, по­яв­ле­ние элек­трон­ных дат­чи­ков и оциф­ров­ка дан­ных спо­соб­ство­ва­ли стре­ми­тель­но­му ро­сту объ­е­мов сбо­ра и хра­не­ния дан­ных. Клю­че­вое со­бы­тие в этой сфе­ре про­изо­шло в 1970 г., ко­гда Эд­гар Кодд опуб­ли­ко­вал ста­тью с опи­са­ни­ем ре­ля­ци­он­ной мо­де­ли дан­ных, ко­то­рая со­вер­ши­ла пе­ре­во­рот в том, как имен­но дан­ные хра­нят­ся, ин­дек­си­ру­ют­ся и из­вле­ка­ют­ся из баз. Ре­ля­ци­он­ная мо­дель поз­во­ли­ла из­вле­кать дан­ные из базы пу­тем про­стых за­про­сов, ко­то­рые опре­де­ля­ли, что нуж­но поль­зо­ва­те­лю, не тре­буя от него зна­ния о внут­рен­ней струк­ту­ре дан­ных или о том, где они фи­зи­че­ски хра­нят­ся. До­ку­мент Код­да по­слу­жил ос­но­вой для со­вре­мен­ных баз дан­ных и раз­ра­бот­ки SQL (язы­ка струк­ту­ри­ро­ван­ных за­про­сов), меж­ду­на­род­но­го стан­дар­та фор­му­ли­ров­ки за­про­сов к ба­зам дан­ных.

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

Базы дан­ных — это про­стая тех­но­ло­гия, ис­поль­зу­е­мая для хра­не­ния и из­вле­че­ния струк­ту­ри­ро­ван­ных тран­зак­ци­он­ных или опе­ра­ци­он­ных дан­ных (т. е. ге­не­ри­ру­е­мых те­ку­щи­ми опе­ра­ци­я­ми ком­па­нии). Но по мере того, как ком­па­нии рос­ли и ав­то­ма­ти­зи­ро­ва­лись, объ­ем и раз­но­об­ра­зие дан­ных тоже рез­ко воз­рас­та­ли. В 1990-х гг. ста­ло ясно, что, хотя ком­па­нии на­ко­пи­ли огром­ные объ­е­мы дан­ных, они ис­пы­ты­ва­ют труд­но­сти с их ана­ли­зом. Ча­стич­но про­бле­ма была в том, что дан­ные обыч­но хра­ни­лись в мно­го­чис­лен­ных раз­роз­нен­ных ба­зах в рам­ках од­ной ор­га­ни­за­ции. Дру­гая труд­ность за­клю­ча­лась в том, что базы были оп­ти­ми­зи­ро­ва­ны для хра­не­ния и из­вле­че­ния дан­ных — дей­ствий, ко­то­рые ха­рак­те­ри­зу­ют­ся боль­ши­ми объ­е­ма­ми про­стых опе­ра­ций, та­ких как SE­LECT, IN­SERT, UP­DATE и DELETE. Для ана­ли­за дан­ных ком­па­ни­ям тре­бо­ва­лась тех­но­ло­гия, ко­то­рая мог­ла бы объ­еди­нять и со­гла­со­вы­вать дан­ные из раз­но­род­ных баз и об­лег­чать про­ве­де­ние бо­лее слож­ных ана­ли­ти­че­ских опе­ра­ций. Ре­ше­ние этой биз­нес-за­да­чи при­ве­ло к по­яв­ле­нию хра­ни­лищ дан­ных. Ор­га­ни­за­ция хра­ни­лищ дан­ных — это про­цесс аг­ре­ги­ро­ва­ния и ана­ли­за дан­ных для под­держ­ки при­ня­тия ре­ше­ний. Ос­нов­ная за­да­ча это­го про­цес­са — со­зда­ние хо­ро­шо спро­ек­ти­ро­ван­но­го цен­тра­ли­зо­ван­но­го бан­ка дан­ных, ко­то­рый тоже ино­гда на­зы­ва­ет­ся хра­ни­ли­щем. В этом смыс­ле хра­ни­ли­ще дан­ных яв­ля­ет­ся мощ­ным ре­сур­сом на­у­ки о дан­ных, с точ­ки зре­ния ко­то­рой ос­нов­ное пре­иму­ще­ство хра­ни­ли­ща дан­ных — это со­кра­ще­ние вре­ме­ни вы­пол­не­ния про­ек­та. Клю­че­вым ком­по­нен­том лю­бо­го про­цес­са об­ра­бот­ки дан­ных яв­ля­ют­ся сами дан­ные, по­это­му неуди­ви­тель­но, что во мно­гих про­ек­тах боль­шая часть вре­ме­ни и уси­лий на­прав­ля­ет­ся на по­иск, сбор и очист­ку дан­ных пе­ред ана­ли­зом. Если в ком­па­нии есть хра­ни­ли­ще дан­ных, то уси­лия и вре­мя, за­тра­чи­ва­е­мые на под­го­тов­ку дан­ных, зна­чи­тель­но со­кра­ща­ют­ся.

markus spiske / unsplash

Тем не ме­нее на­у­ка о дан­ных мо­жет су­ще­ство­вать и без цен­тра­ли­зо­ван­но­го бан­ка дан­ных. Со­зда­ние та­ко­го бан­ка не огра­ни­чи­ва­ет­ся вы­груз­кой дан­ных из несколь­ких опе­ра­ци­он­ных баз в одну. Объ­еди­не­ние дан­ных из несколь­ких баз ча­сто тре­бу­ет слож­ной руч­ной ра­бо­ты для устра­не­ния несо­от­вет­ствий меж­ду ис­ход­ны­ми ба­за­ми дан­ных.

Из­вле­че­ние, пре­об­ра­зо­ва­ние и за­груз­ка (ETL) — это тер­мин, ис­поль­зу­е­мый для опи­са­ния стан­дарт­ных про­цес­сов и ин­стру­мен­тов для со­по­став­ле­ния, объ­еди­не­ния и пе­ре­ме­ще­ния дан­ных меж­ду ба­за­ми. Ти­пич­ные опе­ра­ции, вы­пол­ня­е­мые в хра­ни­ли­ще дан­ных, от­ли­ча­ют­ся от опе­ра­ций в стан­дарт­ной ре­ля­ци­он­ной базе дан­ных. Для их опи­са­ния ис­поль­зу­ет­ся тер­мин ин­тер­ак­тив­ная ана­ли­ти­че­ская об­ра­бот­ка (OLAP).

Опе­ра­ции OLAP, как пра­ви­ло, на­прав­ле­ны на со­зда­ние сво­док ис­то­ри­че­ских дан­ных и вклю­ча­ют сбор дан­ных из несколь­ких ис­точ­ни­ков. На­при­мер, за­прос OLAP, вы­ра­жен­ный для удоб­ства на есте­ствен­ном язы­ке, мо­жет вы­гля­деть так: «От­чет о про­да­жах всех ма­га­зи­нов по ре­ги­о­нам и квар­та­лам и раз­ни­ца по­ка­за­те­лей по срав­не­нию с от­че­том за про­шлый год». Этот при­мер по­ка­зы­ва­ет, что ре­зуль­тат за­про­са OLAP ча­сто на­по­ми­на­ет стан­дарт­ный биз­нес-от­чет. По сути, опе­ра­ции OLAP поз­во­ля­ют поль­зо­ва­те­лям рас­пре­де­лять, фраг­мен­ти­ро­вать и пе­ре­во­ра­чи­вать дан­ные в хра­ни­ли­ще, а так­же по­лу­чать их раз­лич­ные отоб­ра­же­ния. Опе­ра­ции OLAP ра­бо­та­ют с отоб­ра­же­ни­ем дан­ных, на­зы­ва­е­мым ку­бом дан­ных, ко­то­рый по­стро­ен по­верх хра­ни­ли­ща. Куб дан­ных име­ет фик­си­ро­ван­ный, за­ра­нее опре­де­лен­ный на­бор из­ме­ре­ний, где каж­дое из­ме­ре­ние отоб­ра­жа­ет одну ха­рак­те­ри­сти­ку дан­ных.

Для при­ве­ден­но­го выше при­ме­ра за­про­са OLAP необ­хо­ди­мы сле­ду­ю­щие из­ме­ре­ния куба дан­ных: про­да­жи по ма­га­зи­нам, про­да­жи по ре­ги­о­нам и про­да­жи по квар­та­лам. Ос­нов­ное пре­иму­ще­ство ис­поль­зо­ва­ния куба дан­ных с фик­си­ро­ван­ным на­бо­ром из­ме­ре­ний со­сто­ит в том, что он уско­ря­ет вре­мя от­кли­ка опе­ра­ций OLAP. Кро­ме того, по­сколь­ку на­бор из­ме­ре­ний куба дан­ных пред­ва­ри­тель­но за­про­грам­ми­ро­ван в си­сте­му OLAP, эти си­сте­мы мо­гут быть отоб­ра­же­ны дру­же­ствен­ным поль­зо­ва­тель­ским ин­тер­фей­сом (GUI) для фор­му­ли­ро­ва­ния за­про­сов OLAP. Од­на­ко отоб­ра­же­ние куба дан­ных огра­ни­чи­ва­ет типы ана­ли­за на­бо­ром за­про­сов, ко­то­рые мо­гут быть сге­не­ри­ро­ва­ны толь­ко с ис­поль­зо­ва­ни­ем опре­де­лен­ных за­ра­нее из­ме­ре­ний. Ин­тер­фейс за­про­сов SQL срав­ни­тель­но бо­лее ги­бок. Кро­ме того, хотя си­сте­мы OLAP по­лез­ны для ис­сле­до­ва­ния дан­ных и со­став­ле­ния от­че­тов, они не поз­во­ля­ют мо­де­ли­ро­вать дан­ные или ав­то­ма­ти­че­ски вы­яв­лять в них за­ко­но­мер­но­сти.

За по­след­ние пару де­ся­ти­ле­тий наши устрой­ства ста­ли мо­биль­ны­ми и под­клю­чен­ны­ми к сети. Мно­гие из нас еже­днев­но ча­са­ми си­дят в ин­тер­не­те, ис­поль­зуя со­ци­аль­ные тех­но­ло­гии, ком­пью­тер­ные игры, ме­диа­плат­фор­мы и по­ис­ко­вые си­сте­мы. Эти тех­но­ло­ги­че­ские из­ме­не­ния в на­шем об­ра­зе жиз­ни ока­за­ли су­ще­ствен­ное вли­я­ние на ко­ли­че­ство со­би­ра­е­мых дан­ных. Под­счи­та­но, что объ­ем дан­ных, со­бран­ных за пять ты­ся­че­ле­тий с мо­мен­та изоб­ре­те­ния пись­ма до 2003 г., со­став­ля­ет око­ло пяти эк­с­а­байт. С 2013 г. люди ге­не­ри­ру­ют и хра­нят та­кое же ко­ли­че­ство дан­ных еже­днев­но. Од­на­ко рез­ко вы­рос не толь­ко объ­ем дан­ных, но и их раз­но­об­ра­зие. До­ста­точ­но взгля­нуть на спи­сок се­го­дняш­них он­лайн-ис­точ­ни­ков дан­ных: элек­трон­ные пись­ма, бло­ги, фо­то­гра­фии, тви­ты, лай­ки, пуб­ли­ка­ции, веб-по­иск, за­груз­ка ви­део, он­лайн-по­куп­ки, под­ка­сты и т. д. Так­же не за­будь­те о ме­та­дан­ных этих со­бы­тий, опи­сы­ва­ю­щих струк­ту­ру и свой­ства необ­ра­бо­тан­ных дан­ных, и вы нач­не­те по­ни­мать, что на­зы­ва­ет­ся боль­ши­ми дан­ны­ми.

Боль­шие дан­ные ча­сто опи­сы­ва­ют­ся по схе­ме «3V»: экс­тре­маль­ный объ­ем (Vol­ume), раз­но­об­ра­зие ти­пов (Va­ri­ety) и ско­рость об­ра­бот­ки дан­ных (Ve­loc­ity).

По­яв­ле­ние боль­ших дан­ных при­ве­ло к раз­ра­бот­ке но­вых тех­но­ло­гий со­зда­ния баз дан­ных. Базы дан­ных но­во­го по­ко­ле­ния ча­сто на­зы­ва­ют ба­за­ми NoSQL. Они име­ют бо­лее про­стую мо­дель, чем при­выч­ные ре­ля­ци­он­ные базы дан­ных, и хра­нят дан­ные в виде объ­ек­тов с ат­ри­бу­та­ми, ис­поль­зуя язык пред­став­ле­ния объ­ек­тов, та­кой как JavaScript Ob­ject No­ta­tion (JSON). Пре­иму­ще­ство ис­поль­зо­ва­ния объ­ект­но­го пред­став­ле­ния дан­ных (по срав­не­нию с мо­де­лью на ос­но­ве ре­ля­ци­он­ной таб­ли­цы) со­сто­ит в том, что на­бор ат­ри­бу­тов для каж­до­го объ­ек­та за­клю­чен в са­мом объ­ек­те, а это от­кры­ва­ет до­ро­гу к гиб­ко­му отоб­ра­же­нию дан­ных. На­при­мер, один из объ­ек­тов в базе дан­ных мо­жет иметь со­кра­щен­ный на­бор ат­ри­бу­тов по срав­не­нию с дру­ги­ми объ­ек­та­ми. В струк­ту­ре ре­ля­ци­он­ной базы дан­ных, на­про­тив, все зна­че­ния в таб­ли­це долж­ны иметь оди­на­ко­вый на­бор ат­ри­бу­тов (столб­цов). Эта гиб­кость важ­на в тех слу­ча­ях, ко­гда дан­ные (из-за их раз­но­об­ра­зия или типа) не рас­кла­ды­ва­ют­ся есте­ствен­ным об­ра­зом в на­бор струк­ту­ри­ро­ван­ных ат­ри­бу­тов. К при­ме­ру, слож­но опре­де­лить на­бор ат­ри­бу­тов для отоб­ра­же­ния нефор­маль­но­го тек­ста (ска­жем, тви­тов) или изоб­ра­же­ний. Од­на­ко, хотя эта гиб­кость пред­став­ле­ния поз­во­ля­ет нам со­би­рать и хра­нить дан­ные в раз­лич­ных фор­ма­тах, для по­сле­ду­ю­ще­го ана­ли­за их все рав­но при­хо­дит­ся струк­ту­ри­ро­вать.

Боль­шие дан­ные так­же при­ве­ли к по­яв­ле­нию но­вых плат­форм для их об­ра­бот­ки. При ра­бо­те с боль­ши­ми объ­е­ма­ми ин­фор­ма­ции на вы­со­ких ско­ро­стях мо­жет быть по­лез­ным с точ­ки зре­ния вы­чис­ле­ний и под­дер­жа­ния ско­ро­сти рас­пре­де­лять дан­ные по несколь­ким сер­ве­рам, за­тем об­ра­ба­ты­вать за­про­сы, вы­чис­ляя их ре­зуль­та­ты по ча­стям на каж­дом из сер­ве­ров, а за­тем объ­еди­нять их в сге­не­ри­ро­ван­ный от­вет. Та­кой под­ход ис­поль­зо­ван в мо­де­ли MapRe­duce на плат­фор­ме Hadoop. В этой мо­де­ли дан­ные и за­про­сы отоб­ра­жа­ют­ся на несколь­ких сер­ве­рах (рас­пре­де­ля­ют­ся меж­ду ними), а за­тем рас­счи­тан­ные на них ча­стич­ные ре­зуль­та­ты объ­еди­ня­ют­ся.

Ис­то­рия ана­ли­за дан­ных

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

Про­стей­шая фор­ма ста­ти­сти­че­ско­го ана­ли­за — обоб­ще­ние на­бо­ра дан­ных в тер­ми­нах свод­ной (опи­са­тель­ной) ста­ти­сти­ки (вклю­чая сред­ние зна­че­ния, та­кие как сред­нее ариф­ме­ти­че­ское, или по­ка­за­те­ли ко­ле­ба­ний, та­кие как диа­па­зон). Од­на­ко в XVII–XVIII вв. ра­бо­ты Дже­ро­ла­мо Кар­да­но, Бле­за Пас­ка­ля, Яко­ба Бер­нул­ли, Аб­ра­ха­ма де Му­ав­ра, То­ма­са Бай­е­са и Ричар­да Прай­са за­ло­жи­ли ос­но­вы тео­рии ве­ро­ят­но­стей, и в те­че­ние XIX в. мно­гие ста­ти­сти­ки на­ча­ли ис­поль­зо­вать рас­пре­де­ле­ние ве­ро­ят­но­стей как часть ана­ли­ти­че­ско­го ин­стру­мен­та­рия. Эти но­вые до­сти­же­ния в ма­те­ма­ти­ке поз­во­ли­ли вый­ти за рам­ки опи­са­тель­ной ста­ти­сти­ки и пе­рей­ти к ста­ти­сти­че­ско­му обу­че­нию. Пьер-Си­мон де Ла­плас и Карл Фри­дрих Гаусс — два наи­бо­лее вид­ных ма­те­ма­ти­ка XIX в. Оба они внес­ли за­мет­ный вклад в ста­ти­сти­че­ское обу­че­ние и со­вре­мен­ную на­у­ку о дан­ных. Ла­плас ис­поль­зо­вал ин­ту­и­тив­ные про­зре­ния То­ма­са Бай­е­са и Ричар­да Прай­са и пре­вра­тил их в первую вер­сию того, что мы сей­час на­зы­ва­ем тео­ре­мой Бай­е­са. Гаусс в про­цес­се по­ис­ка про­пав­шей кар­ли­ко­вой пла­не­ты Це­ре­ры раз­ра­бо­тал ме­тод наи­мень­ших квад­ра­тов. Этот ме­тод поз­во­ля­ет нам най­ти наи­луч­шую мо­дель, ко­то­рая со­от­вет­ству­ет на­бо­ру дан­ных, так что ошиб­ка в ее под­бо­ре сво­дит­ся к ми­ни­маль­ной сум­ме квад­ра­тов раз­но­стей меж­ду опор­ны­ми точ­ка­ми в на­бо­ре дан­ных и в мо­де­ли. Ме­тод наи­мень­ших квад­ра­тов по­слу­жил ос­но­вой для ста­ти­сти­че­ских ме­то­дов обу­че­ния, та­ких как ли­ней­ная ре­грес­сия и ло­ги­сти­че­ская ре­грес­сия, а так­же для раз­ра­бот­ки мо­де­лей ней­рон­ных се­тей ис­кус­ствен­но­го ин­тел­лек­та.

Меж­ду 1780 и 1820 гг., при­мер­но в то же вре­мя, ко­гда Ла­плас и Гаусс вно­си­ли свой вклад в ста­ти­сти­че­ское обу­че­ние, шот­ланд­ский ин­же­нер Уи­льям Плей­фер изоб­рел ста­ти­сти­че­ские гра­фи­ки и за­ло­жил ос­но­вы со­вре­мен­ной ви­зу­а­ли­за­ции дан­ных и по­ис­ко­во­го ана­ли­за дан­ных (EDA). Плей­фер изоб­рел ли­ней­ный гра­фик и ком­би­ни­ро­ван­ную диа­грам­му для вре­мен­ных ря­дов дан­ных, ги­сто­грам­му, что­бы про­ил­лю­стри­ро­вать срав­не­ние зна­че­ний, при­над­ле­жа­щих раз­ным ка­те­го­ри­ям, и кру­го­вую диа­грам­му для на­гляд­но­го изоб­ра­же­ния до­лей.

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

Раз­ви­тие тео­рии ве­ро­ят­но­стей и ста­ти­сти­ки про­дол­жи­лось в XX в. Карл Пир­сон раз­ра­бо­тал со­вре­мен­ные ме­то­ды про­вер­ки ги­по­тез, а Ро­нальд Фи­шер — ста­ти­сти­че­ские ме­то­ды для мно­го­мер­но­го ана­ли­за и пред­ло­жил идею оцен­ки мак­си­маль­но­го прав­до­по­до­бия ста­ти­сти­че­ских за­клю­че­ний как ме­тод, поз­во- ля­ю­щий де­лать вы­во­ды на ос­но­ве от­но­си­тель­ной ве­ро­ят­но­сти со­бы­тий.

Ра­бо­та Ала­на Тью­рин­га во вре­мя Вто­рой ми­ро­вой вой­ны при­ве­ла к изоб­ре­те­нию ком­пью­те­ра, ко­то­рый ока­зал ис­клю­чи­тель­но силь­ное вли­я­ние на ста­ти­сти­ку, поз­во­лив со­вер­шать су­ще­ствен­но бо­лее слож­ные вы­чис­ле­ния. В те­че­ние 1940-х гг. и в по­сле­ду­ю­щие де­ся­ти­ле­тия были раз­ра­бо­та­ны важ­ные вы­чис­ли­тель­ные мо­де­ли, ко­то­рые до сих пор ши­ро­ко при­ме­ня­ют­ся в на­у­ке о дан­ных.

В 1943 г. Уо­р­рен Мак-Кал­лок и Уо­л­тер Питтс пред­ло­жи­ли первую ма­те­ма­ти­че­скую мо­дель ней­рон­ной сети. В 1948-м Клод Шен­нон опуб­ли­ко­вал ста­тью под на­зва­ни­ем «Ма­те­ма­ти­че­ская тео­рия свя­зи» и тем са­мым ос­но­вал тео­рию ин­фор­ма­ции. В 1951 г. Эве­лин Фикс и Джо­зеф Ход­жес пред­ло­жи­ли мо­дель дис­кри­ми­нант­но­го ана­ли­за (ко­то­рый сей­час бо­лее из­ве­стен как тео­рия рас­по­зна­ва­ния об­ра­зов), став­шую ос­но­вой со­вре­мен­ных ал­го­рит­мов бли­жай­ших со­се­дей. По­сле­во­ен­ное раз­ви­тие сфе­ры до­стиг­ло куль­ми­на­ции в 1956 г. с по­яв­ле­ни­ем от­рас­ли ис­кус­ствен­но­го ин­тел­лек­та на се­ми­на­ре в Дарт­мут­ском кол­ле­дже. Даже на этой ран­ней ста­дии ее раз­ви­тия тер­мин «ма­шин­ное обу­че­ние» уже на­чал ис­поль­зо­вать­ся для опи­са­ния про­грамм, ко­то­рые да­ва­ли ком­пью­те­ру воз­мож­ность учить­ся на ос­но­ве дан­ных. В се­ре­дине 1960-х гг. были сде­ла­ны три важ­ных вкла­да в ма­шин­ное обу­че­ние. В 1965 г. Нильс Ниль­сон опуб­ли­ко­вал кни­гу «Обу­ча­ю­щи­е­ся ма­ши­ны», в ко­то­рой по­ка­за­но, как мож­но ис­поль­зо­вать ней­рон­ные сети для обу­че­ния ли­ней­ных мо­де­лей клас­си­фи­ка­ции.

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

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

Как уже упо­ми­на­лось в ис­то­ри­че­ском об­зо­ре баз дан­ных, на­ча­ло 1970-х гг. озна­ме­но­ва­ло при­ход со­вре­мен­ной тех­но­ло­гии с ре­ля­ци­он­ной мо­де­лью дан­ных Эд­га­ра Код­да и по­сле­ду­ю­щий взрыв­ной рост ге­не­ра­ции дан­ных и их хра­не­ния, ко­то­рый в 1990-х гг. при­вел к раз­ви­тию хра­ни­лищ, а позд­нее — к воз­ник­но­ве­нию фе­но­ме­на боль­ших дан­ных. Од­на­ко еще за­дол­го до по­яв­ле­ния боль­ших дан­ных, фак­ти­че­ски к кон­цу 1980-х — на­ча­лу 1990-х гг., ста­ла оче­вид­ной необ­хо­ди­мость в ис­сле­до­ва­ни­ях, на­прав­лен­ных на ана­лиз боль­ших на­бо­ров дан­ных. При­мер­но в то же вре­мя по­явил­ся тер­мин «глу­бин­ный ана­лиз дан­ных». Как мы уже от­ме­ти­ли, в от­вет на это на­ча­лась раз­ра­бот­ка хра­ни­лищ дан­ных и тех­но­ло­гии OLAP. Кро­ме того, па­рал­лель­но ве­лись ис­сле­до­ва­ния в дру­гих об­ла­стях.

В 1989 г. Гри­го­рий Пя­тец­кий-Ша­пи­ро про­вел пер­вый се­ми­нар по об­на­ру­же­нию зна­ний в ба­зах дан­ных (KDD). Сле­ду­ю­щая ци­та­та из анон­са это­го се­ми­на­ра дает яс­ное пред­став­ле­ние о том, ка­кое вни­ма­ние на нем уде­ля­лось меж­дис­ци­пли­нар­но­му под­хо­ду к про­бле­ме ана­ли­за боль­ших баз дан­ных:

Об­на­ру­же­ние зна­ний в ба­зах дан­ных ста­вит мно­го ин­те­рес­ных про­блем, осо­бен­но ко­гда эти базы огром­ны. Та­ким ба­зам дан­ных обыч­но со­пут­ству­ют су­ще­ствен­ные зна­ния пред­мет­ной об­ла­сти, ко­то­рые мо­гут зна­чи­тель­но об­лег­чить об­на­ру­же­ние дан­ных. До­ступ к боль­шим ба­зам дан­ных неде­шев — от­сю­да необ­хо­ди­мость вы­бор­ки и дру­гих ста­ти­сти­че­ских ме­то­дов. На­ко­нец, для об­на­ру­же­ния зна­ний
в ба­зах дан­ных мо­гут ока­зать­ся по­лез­ны­ми мно­гие су­ще­ству­ю­щие ин­стру­мен­ты и ме­то­ды из раз­лич­ных об­ла­стей, та­ких как экс­перт­ные си­сте­мы, ма­шин­ное обу­че­ние, ин­тел­лек­ту­аль­ные базы дан­ных, по­лу­че­ние зна­ний и ста­ти­сти­ка
приглашения на семинар «KDD — 1989»

Фак­ти­че­ски тер­ми­ны «KDD» и «глу­бин­ный ана­лиз дан­ных» опи­сы­ва­ют одну и ту же кон­цеп­цию; раз­ли­чие за­клю­ча­ет­ся толь­ко в том, что тер­мин «глу­бин­ный ана­лиз дан­ных» бо­лее рас­про­стра­нен в биз­нес-со­об­ще­ствах, а «KDD» — в ака­де­ми­че­ских кру­гах. Се­го­дня эти по­ня­тия ча­сто вза­и­мо­за­ме­ня­ют­ся, и мно­гие ве­ду­щие ака­де­ми­че­ские цен­тры ис­поль­зу­ют как одно, так и дру­гое. И это за­ко­но­мер­но, ведь глав­ная на­уч­ная кон­фе­рен­ция в этой сфе­ре так и на­зы­ва­ет­ся — Меж­ду­на­род­ная кон­фе­рен­ция по об­на­ру­же­нию зна­ний и глу­бин­но­му ана­ли­зу дан­ных.