Data Science, Big Data, Data Lakes, Artificial Intelligence, Data Mining, Machine Learning, Deep Learning, Business Intelligence, Business Analytics … През последните години се писа и говори много за тях. И както обикновено, когато нещо стане модерно, понятията, дефинициите и границите постепенно избледняват.

В тази статия се опитвам да въведа някакъв ред, обяснявайки кой кой е по лесен начин. Ако тези неща, споменати по-горе, не са ви ясни... останете с мен!

Предлага се и на испански | Artículo disponible también en español

Ако имате акаунт в Linkedin и го използвате редовно, може би сте забелязали, че става все по-сложно да разберете какво, по дяволите, прави даден човек, само като прочетете заглавието. Напълнихме всичко с ярки технически думи и акроними, които може би ни е писнало да виждаме, но със сигурност не сме си направили труда да търсим значението им.

„Но вие... какво точно правите?“

И това е моментът, в който започва забавлението…

  • Ако въпросът е зададен от някой, който работи със същата роля, можете да го обясните много подробно (или трябва да можете да го направите).
  • Ако е направено от някой от същия сектор, може да дадете обяснение, като приемете, че другият човек знае всички технологии, с които работите, и вероятно ще се провалите.
  • Ако въпросът идва от някой, който е посветен на нещо различно: тогава наистина ще бъдете поставени на изпитание. Особено ако другият човек започне да ви задава въпроси...
  • Ами ако трябваше да го обясниш на баба си?

И това е мястото, където исках да отида. Има един „известен“ цитат (погрешно приписан на Алберт Айнщайн), който гласи:

„Не разбираш нещо наистина, докато не можеш да го обясниш на баба си“

Друг вариант използва 6-годишно дете вместо баба, но ако говорим за технология, ще ми позволите да отида с първия.

Преди няколко години моят колега Антонио Калдероне излезе с идеята да приложим това, за да обясним всичко, което правим в отдела за цифрова трансформация, на търговските мениджъри на нашата компания. И да ги накара да го преразкажат (счупения телефон). Трябваше да говоря за големи данни, бизнес анализи и малко за машинно обучение. Истината е, че не ми беше лесно... въпреки че искам да мисля, че са разбрали основните идеи.

Е, ще повторя същото упражнение тук, изяснявайки по-широките понятия, свързани със света на данните, и се опитвам да го направя подходящо за всички аудитории :)

Data Science (DS)

Проста дефиниция: Data Science е набор от умения и техники, прилагани за извличане на полезни знания от данни.

Този набор от умения често се представя с диаграма на Вен, създадена от Дрю Конуей (или един от нейните варианти):

Имаме три кръга, представляващи три диференцирани полета. От една страна, имаме областта на програмирането (познаване на език, неговите библиотеки, шаблони за проектиране, архитектура и т.н.). От друга страна, има математика (алгебра, смятане, ...) и статистика. Не на последно място, домейнът на данните (познания за конкретния сектор; здравеопазване, финанси, индустрия и т.н.).

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

Data Science обединява тези области и умения, позволявайки и подобрявайки процесите за извличане на прозрения и знания от необработени данни.

И какво е "полезно знание"? този, който добавя някаква стойност; отговор на въпрос или решаване на проблем от реалния свят.

Науката за данни може да се определи и като поле, което изучава и прилага напредъка в обработката и анализа на данни, за да ни даде решения и отговори.

Голяма информация

Това ще бъде най-лесното: Big Data е просто огромно количество данни; и нищо друго :)

За да се дефинират големи данни, обичайно е да се обясняват с 3-те V, които са 3-те основни причини, свързани с произхода им:

  • Обем: Количеството събрани данни абсурдно нараства всяка минута и ние трябва да адаптираме нашите инструменти за съхранение и обработка към този обем, като използваме разпределени решения (използване на множество машини, вместо един много — МНОГО — скъп суперкомпютър/мейнфрейм).
  • Скорост: Неотложността, необходима за обработването на данните, е свързана с честотата на тяхното генериране/придобиване и необходимостта те да се използват при вземане на решения възможно най-бързо; дори в реално време (или почти).
  • Разнообразие: Данните вече не са (само) структурирани, така че трябва да забравим, че всичко може да се побере в традиционна база данни. Трябва да сме готови да добавим нови източници на данни с всякакви формати; вариращи от обикновен текст до мултимедийно съдържание.

С течение на времето бяха добавени още V: достоверност(данните трябва да са автентични, достоверни и налични), стойност (данните трябва да имат стойност за бизнеса или за обществото ) и уязвимост (данните трябва да са в съответствие със законността, да зачитат поверителността и да бъдат съхранявани и достъпни по безопасен начин).

Големите данни биха били набор от решения, които се опитват да се справят с всички тези проблеми. Не го бъркайте с първата концепция, обяснена в тази статия: Big Data е всичко, което позволява или улеснява прилагането на напредъка в областта на Data Science, когато естеството на данните го изисква. Пример: ние, като специалисти по данни, се опитваме да получим отговори от набор от данни, който не само надвишава размера на нашата RAM, но също така надвишава размера на нашия твърд диск. Big Data ни предоставя технологии за разпределено съхранение, за да хостваме данни в няколко машини, както и технологии за разпределена обработка, за да ги обработваме паралелно.

Data Lake

Data Lake е централизирано хранилище за съхранение, използвано за съхраняване на данни от всякакъв вид: структурирани (данните, които използвахме за поставяне в таблици, перфектно дефинирани), полуструктурирани (данни, които следват формат, в който почти всичко пасва: CSV, регистрационни файлове, JSON, XML и др.) и неструктурирани (документи, имейли, PDF файлове, изображения, видео, аудио и др.). Няма значение дали данните се генерират вътрешно или извън нашия бизнес.

Да бъдеш „централизиран“ означава, че всичко ще се съхранява на едно и също място и всеки ще има достъп до него, за да получи данни. Това не означава, че всички данни са в една и съща машина или в рамките на компанията; разпределеното хранилище почти ще се използва като правило и данните също могат да бъдат в облака.

Не пренебрегвайте една важна подробност: данните се съхраняват в суров формат (оригиналния) без никакви модификации. Това означава, че не се губи информация за бъдещ анализ; данните ще бъдат обработвани и трансформирани само когато се използват. Освен това... какъв би бил смисълът да се готвят рибите, преди да се пуснат в езеро? :)

Изкуствен интелект (AI)

„Могат ли машините да мислят?“

През 1950 г. „Алън Тюринг“ формулира този въпрос и дори създава „известен тест“, за да оцени дали отговорите, дадени от машина, са подобни на тези, които човек може да даде. Оттогава започват фантазиите за изкуствения интелект с фокус върху имитирането на човешкото поведение.

О, чакай! моето намерение не беше да ви разкажа „Историята на изкуствения интелект“ …

Ще се върнем към самата концепция. Изкуственият интелект не е репликантите на Blade Runner или Cylons на Battlestar Galactica. Можем да определим изкуствен интелект като всяка машина или софтуер с някакъв вид интелигентно поведение.

И какво се счита за интелигентно поведение?

Добър въпрос! това е точката, в която не сме съгласни... Тъй като машините развиват нови способности, има задачи, които преди са се считали за интелигентни, взети от средата на ИИ. Например, когато невероятният Deep Blue победи Гари Каспаров в шахматен мач и създателите му обясниха как наистина работи, горкото момиче се превърна от най-умното в квалифицирано дори като тъпо (с голям груб сила, това е вярно).

Нека дефинираме изкуствения интелект като всяка машина или част от софтуера, способен да интерпретира правилно данни от своята среда, да се учи от тях и да използва придобитите знания за изпълнение на конкретна задача в променящ се контекст.

Примери: Кола, която паркира сама, не се счита за интелигентна; той просто измерва разстояния и се движи, следвайки рутина. Автомобил, който може да се движи автономно, се счита за интелигентен, тъй като е способен да взема решения въз основа на това, което се случва наоколо (в напълно несигурна среда).

Областта на изкуствения интелект обхваща няколко клона, които в момента са в своя апогей. Удобно е да ги визуализирате, за да разберете за какво точно говорим:

Извличане на данни

Извличането на данни е изкуството да се откриват някои интересни (и неочевидни) модели, като се използват техники за изследване на данни.

Какви модели имаме предвид? неща като: начинът, по който данните могат да бъдат групирани въз основа на определени характеристики, откриване на аномалии (редки стойности), зависимостта между някои наблюдения и други, последователност от определени събития, идентифициране на поведение и т.н.

Извличането на данни използва, наред с други неща, методи за машинно обучение.

Машинно обучение (ML)

Машинното обучение е най-важният клон на изкуствения интелект. Неговата задача: изследване и разработване на техники, позволяващи на машините да се учат сами, за да изпълнят конкретна задача, без изрични инструкции от хора.

Машината ще се учи от входен набор от данни (известен като примерни или тренировъчни данни), изграждайки математически модел въз основа на моделите, открити от алгоритъм. Крайната цел на този модел е да се правят (точни) прогнози или решения за данните, пристигащи след това от същите източници.

В класическото машинно обучение има два основни типа:

  • Контролирано обучение:когато данните за обучението са „означени“. Това означава, че за всяка проба имаме стойностите, съответстващи на наблюдаваните променливи (входящите данни) и променливата, която искаме да научим да прогнозираме или класифицираме (изходната, целевата или зависимата променлива). В рамките на този тип намираме регресионните алгоритми (тези, които предвиждат числова стойност) и алгоритмите за класификация (когато изходът е ограничен до определени категорични стойности).
  • Неконтролирано обучение: когато данните за обучението не са етикетирани (нямаме целева променлива). Целта тук е да се намери някакъв вид структура или модел, например да се групират обучителните проби, така че да можем да класифицираме бъдещи проби.

Класическото машинно обучение отстъпи място на по-сложни или модерниаспекти:

  • Ансамбълни методи: основно това е съвместното използване на няколко алгоритъма за постигане на по-добри резултати чрез комбиниране на техните резултати. Най-честият пример са Random Forests, въпреки че XGBoost стана много известен с победите си в Kaggle.
  • Подсилване Обучение: машината се учи от опити и грешки, благодарение на обратната връзка, която получава в отговор на повторенията със заобикалящата я среда. Може би сте чували за AlphaGo (най-добрият играч на Go в света) или AlphaStar (способен да ни смаже в Starcraft II).
  • Задълбочено обучение: перлата в короната...

Задълбочено обучение (DL)

Както току-що видяхме, Deep Learning е подполе в рамките на Machine Learning.

Базира се на използването на изкуствени невронни мрежи. Изкуствената невронна мрежа е изчислителен модел със слоеста структура, образувана от взаимосвързани възли, които работят заедно. Те носят това име поради вдъхновението си от (или опита си да симулират) биологични невронни мрежи, които намираме в мозъците си.

Въпреки че невронните мрежи са били изучавани и използвани в продължение на много години, напредъкът в областта е много бавен доскоро; основно ограничено от липсата на изчислителна мощност. Дълбокото обучение започна едва през последното десетилетие, въпреки че преживя голям бум през последните години, отчасти благодарение на приемането на графични процесори за обучение на невронни мрежи.

Съществува разширено убеждение: всеки проблем с машинното обучение, колкото и сложен да е, може да бъде решен от невронна мрежа, просто като я направи достатъчно голяма. В днешно време се постига голям напредък в останалите области на изкуствения интелект поради напредъка в дълбокото обучение; както в по-традиционните (подобряване на получените резултати), така и в най-модерните: обработка на естествен език, изкуствена визия, разпознаване на реч, генериране на реалистично мултимедийно съдържание и др.

Бизнес разузнаване (BI)

Този термин се отнася до използването на данни в една компания, помагайки на техните мениджъри при вземането на решения.

BI инструментите (отчети, табла за управление) ни казват какво се е случило и следователно решенията, базирани на това, ще бъдат реактивни.

Бизнес анализ (BA)

Това е еволюцията на традиционното бизнес разузнаване, като се възползва от напредъка в големите данни, който позволява на компаниите да изследват и взаимодействат с по-голямо количество данни от всякакъв вид и идващи от повече източници; всичко това (почти) в реално време. Той също така използва подобрения в областта на Data Science, така че откритията, направени от данните, ще бъдат много по-ценни.

Инструментите на BA информират какво се е случило и какво се случва; но също така предвиждат какво ще се случи и дори симулират какво може да се случи, в зависимост от действията, които правим. Следователно взетите решения могат да бъдат по-скоро проактивни, отколкото реактивни.

Идеята зад BA е, че цялата компания може да се възползва от тези открития, което предполага по-добри (и по-бързи) решения във всички области.

И това е всичко! Надявам се, че сега всичко е по-ясно… нали? :)