Суб’єктивний погляд на Data Science в Україні

[Про автора: Богдан Павлишенко — Data Scientist в компанії SoftServe (Business Systems), доцент (канд.фіз.-мат. наук) факультету електроніки та комп’ютерних технологій у Львівському національному університеті імені Івана Франка, а також займається науковою роботою в області аналізу даних (LinkedIn, блог)]

Біля пам’ятника Т.Шевченку у Вашингтоні

Data Science, Big Data, Predictive Analytics, Machine Learning — популярні тренди у сучасних інформаційних технологіях. Посади спеціалістів з аналізу даних стали одними із найбажаніших в ІТ-секторі. З’явилась велика кількість Data Scientists та популяризаторів цього напрямку, які розказують про фантастичні можливості сучасного аналізу даних, машинного навчання, зокрема, нейронних мереж.

Цього року я брав участь у двох науково-практичних конференцій в області аналізу даних: Data Stream Mining & Processing (August 23-27, 2016, Lviv, Ukraine) та 2016 IEEE International Conference on Big Data (December 5-8, 2016, Washington, D.C., USA).

Також я є учасником змагань з аналізу даних на платформі Kaggle, де у складі команди виграв змагання Grupo Bimbo Inventory Demand з прогнозування попиту товарів, отримавши перше місце серед майже 2000 учасників (наш розв’язок тут).

Як Data Scientist у SoftServe (Business Systems) я маю справу із прикладними задачами аналізу даних, бізнес-аналітикою, зокрема, прогнозуванням продажів, аналізом факторів, які впливають на попит товарів, поведінкою споживачів товарів та послуг, fraud detection тощо. Коло моїх наукових інтересів пов’язане із Machine Learning, аналізом текстових масивів та слабоструктурованих даних, аналізом соціальних мереж, зокрема, прогнозуванням подій на основі потоків даних у соціальних мережах.

Все це дало мені змогу побачити різні аспекти аналізу даних, спілкуватись із широкими колами спеціалістів зі всього світу на конфереціях, на платформі Kaggle, а також з реальними замовниками аналізу даних. Хочу поділитись своїм баченням цього напрямку інформаційних технологій.

Про спеціалістів з аналізу даних

Дехто вважає, щоб стати Data Scientist, достатньо вивчити один або декілька засобів аналізу даних, таких як R або Python із відповідними пакетами. Насправді, аналіз даних — це в першу чергу розуміння даних, їхньої статистики та відповідних алгоритмів аналізу. Без такого розуміння ніякого якісного аналізу не вийде. І для цього потрібно мати як мінімум фундаментальну базу математичних знань на рівні вищої фізико-математичної або технічної освіти, на основі якої можна вивчити відповідні алгоритми з машинного навчання, регресії чи статистичної обробки.

З іншої сторони, від вузівської спільноти можна почути, ніби основне — це алгоритми, методи та підходи, а мови програмування постійно змінюються, тому, знаючи методи та алгоритми, завжди можна реалізувати аналіз даних на C чи Паскалі. Із цим я також не погоджуюсь.

Звичайно, теоретично можна написати складну програму з аналізу даних, однак, якщо ваша модель складається із тисяч рівнянь, а історичних даних для аналізу є десятки гігабайт, тоді знаючи лише алгоритми, розробити програмне забезпечення з перших принципів практично неможливо, враховуючи часові рамки проекту з аналізу даних та складність складових частин аналізу.

Реальний аналіз даних складається не з одного алгоритму, а з багаторівневої комбінації різних алгоритмів та підходів. Тому виходом є використання спеціалізованих середовищ, зокрема програмного середовища R та відповідних пакетів. Аналізуючи реальні дані великих розмірів, виникають різні проблемні моменти, які наперед не є очевидними, зокрема, ефекти перенавчання (overfitting), які значною мірою визначені структурою та областю знань аналізованих даних. Значний об’єм роботи в аналізі даних полягає у вирішенні конкретних рутинних проблем, як, наприклад, об’єднання даних із різних джерел, очистка даних, виявлення випадкових значень, не властивих аналізованому процесу, заповнення невідомих даних найбільш ймовірними значеннями, завантаження та робота з даними у хмаркових сервісах, різного роду агрегація даних тощо.

Інколи зустрічаю серед спеціалістів таку думку, що науковець по даних лише генерує ідеї, на реалізацію яких у нього просто немає часу. Для реалізації нібито існують інженери, які всі його ідеї реалізують у коді. Це також хибна позиція. На практиці ніхто вам не реалізує ваші ідеї. Науковець по даних повинен сам реалізовувати свої ідеї в коді, як мінімум на рівні працюючого прототипу. Він сам повинен отримувати числа, розподіли, розпізнавати патерни, кластеризувати та класифікувати надані йому десятки гігабайт даних. Максимум, що він може просити — це надати йому дані у зручному вигляді, наприклад у текстовому форматі з відповідними розділювачами між полями. Подальша робота з даними, об’єднання фреймів даних за відповідними ключами, очистка даних, агрегування даних, генерація нових ознак лягає на його плечі.

Спеціаліст по аналізу даних повинен поєднувати в собі як науковця зі знанням математики, відповідних алгоритмів та методів, так і програміста, який володіє мовами програмування та спеціалізованими пакетами по обробці та аналізу даних.

Одним із основних завдань науковця з аналізу даних є проведення такої трансформації даних, яка дала б можливість побачити нові закономірності, наприклад, у діяльності компанії, поведінці клієнтів чи динаміці кількісних показників, і прийняти відповідні рішення в управлінні відповідними бізнес процесами компанії. Які саме трансформації необхідно провести визначається власним досвідом спеціаліста і часто не є очевидними наперед. Потрібно багато експериментувати з конкретними даними, щоб побачити цікаві структурні закономірності та отримати інсайти. З великої кількості проведених аналітичних досліджень часто відбирають лише декілька, які можуть бути корисними. Тому Data Science містить значну експериментальну складову, для якої необхідно володіти як предметною областю аналізу, так і програмними засобами роботи з даними.

Про конференцію Big Data 2016

Конференція 2016 IEEE International Conference on Big Data проходила з 5 по 8 грудня у Вашингтоні у готелі Hyatt поруч із Капітолієм. Багато чим всі наукові конференції, у тому числі українські, подібні між собою за організаційними моментами, дружньою атмосферою, стилем доповідей та дискусій. На цій конференції було багато як науковців, так і представників технологічних компаній та урядових структур. Не всі учасники мали доповіді, багато учасників приїхали послухати доповіді та взяти участь у дискусіях. Із програмою та матеріалами можна ознайомитись на сайті конференції. Я отримав грант на поїздку на цю конференцію від компанії Bosch (більше інформації тут), а також підтримку від компанії SoftServe (Business Systems). Доповідав на симпозіумі Symposium on Data Analytics for Advanced Manufacturing, який проходив у рамках конференції. Тема моєї доповіді «Machine Learning, Linear and Bayesian Models for Logistic Regression in the Failure Detection Problems» (pdf-файл).

Конференція BigData 2016. Доповідає M. Stonebraker(M. Stonebraker, D. Deng and M. L. Brodie, Database Decay and How to Avoid It)

Конференція BigData 2016. Слайд із доповіді Dr. Frank W.Gayle, Advanced Manufacturing National Program Office (AMNPO), NIST

Одна із стендових доповідей на конференції BigData 2016

Про кваліфікаційний рівень Data Scientist та змагання Kaggle

Гостро стоїть питання про кількісний вимір кваліфікаційного рівня спеціаліста з аналізу даних. Часто про свій рівень заявляють самі спеціалісти. Не показуючи при цьому результатів своїх досліджень, посилаючись на договір про нерозголошення. І часто оточуючі судять про їх кваліфікацію, опираючись на впевненість поведінки і частоту та кількість вживаних термінів із області аналізу даних. Теорія сучасного Data Science не є надто складною, в той же час успіх аналізу даних значною мірою визначається власним досвідом та інтуїцією спеціаліста, його обізнаністю у предметній області аналізу.

Цей суб’єктивізм в основному і визначає значимість посади науковця з аналізу даних. При однакових використаних алгоритмах та даних один спеціаліст може дати суттєво більше інформації необхідної для прийняття рішень, ніж інший. Тому важливо знайти кількісні характеристики експертного рівня компетентності спеціаліста.

На мою думку, найбільш об’єктивними характеристиками такого типу можуть бути рейтинг та здобутки спеціаліста на загально визнаних платформах з аналізу даних. Однією з таких платформ є Kaggle. На цій платформі різні компанії дають свої завдання з аналізу даних широким колам спеціалістів із усього світу. І запропоновані розв’язки часом мають складові елементи більш ефективні, ніж розв’язки власних спеціалістів цих компаній.

Сайт Kaggle.com

У декого виникає питання: «А який резон серйозним спеціалістам світового рівня брати участь у таких змаганнях, адже призові отримують лише переважно перші три команди, а участь у змаганні можуть брати декілька тисяч?» Справа у тому, що ви маєте можливість спробувати свої методи на реальних даних із бізнесу, а з іншого боку система Kaggle оцінює результати вашого моделювання і виставляє вам рейтинг, який базується на ваших результатах. Цей рейтинг і є одним з найбільших стимулів участі у таких змаганнях. Розмовляючи у кулуарах згаданої вище конференції у Вашингтоні, я побачив, що рейтинг у Kaggle є загальнопризнаним і високі позиції характеризують високий кваліфікаційний рівень спеціаліста.

Однак, парадоксом є те, що в українських ІТ-колах побутує думка, що такого типу змагання недостойні уваги справжнього науковця по даних, для якого нібито не по рангу займатись задачками олімпіадного типу, тому що до нього і так стоїть черга із замовників на аналіз даних. Підозрюю, носії таких позицій самі намагались брати участь, однак не досягли значних результатів, а відтак заперечують ефективність такого підходу, відводячи йому рівень пісочниці для початківців.

Хочу сказати, що отримати високий загальний рейтинг чи потрапити у топ-10 на змаганні надзвичайно важко. Це щоденна кропітка праця, тестування різних моделей, параметрів, комбінацій підходів.

Leaderboard на змаганні Grupo Bimbo Inventory Demand, у якому наша команда The Slippery Appraisals отримала перемогу

Особисто для мене, участь у таких змаганнях дала дуже багато у розумінні аналізу даних (мій Kaggle-профіль). Звичайно, що у таких змаганнях є особливі підходи, які визначаються специфікою змагань. Однак, основне, що отримує учасник змагань — це практичний досвід роботи з даними з різних предметних областей. Дехто стверджує, що боротьба на таких змаганнях йде за незначні долі у результатах прогнозування, а це ніби не так важливо у реальних задачах, де важливішим є стабільність розв’язку. Частково це так. Однак, аналіз підходів, валідація моделей, побудова ансамблів класифікаторів, технології беггінгу та стекінгу також можна застосовувати у реальних задачах. Їх неможливо освоїти теоретично, потрібна практика на реальних масивах даних. Коли ви, наприклад, готуєтесь поступати на математичний чи фізичний факультет, то також здаєте екзамен чи тести по складних алгебраїчних чи тригонометричних перетвореннях, які пізніше не будете застосовувати на практиці. Але цим ви показуєте свою здатність мислити і свій стартовий аналітичний рівень. Подібну аналогію я бачу і в участі у змаганнях на Kaggle, які можна розглядати як додатковий фактор росту рівня компетентності в області аналізу даних.

Про ілюзії в Data Science

Існує думка, що для аналізу даних обов’язково необхідні технології Big Data, до яких відносять Hadoop, MapReduce, Spark. Насправді, названі технології Big Data стають ефективними при розмірах даних починаючи від декількох терабайт. У реальному бізнесі лише дуже малий відсоток даних мають таких розмір. Я маю на увазі не загальний розмір бази даних, а розмір однієї таблиці, рядки якої необхідно аналізувати одночасно, наприклад, методами машинного навчання чи здійснювати аналіз на основі лінійних параметричних моделей.

Більшість сучасних систем аналізу, зокрема R, розміщують аналізовані дані в оперативній пам’яті. Наприклад, мій робочий настільний комп’ютер має розмір оперативної пам’яті 128Гб, і я можу аналізувати дані розміром в десятки гігабайт. Навіть якщо початкових даних є більше терабайта, то часто необхідна попередня агрегація даних, яку можна виконати відповідними пакетами без завантаження всіх даних в оперативну пам’ять і далі аналізувати агреговані дані суттєво меншого розміру. Або, наприклад, розбити дані на відповідні частини, а розв’язки об’єднати у відповідні ансамблі.

Коли наша команда брала участь у згаданому вище змаганні Kaggle, ми використовували арендований на Amazon ресурс із 128 процесорів та 2Tb оперативної пам’яті (x1.32xlarge Amazon EC2), що було одним із важливих чинників нашої перемоги на змаганні, оскільки дало можливість нам випробувати велику кількість моделей з великим набором створених ознак. Все це говорить про те, що навіть аналізуючи дані достатньо великих розмірів, у багатьох випадках можна обійтись без технологій Big Data.

На мою думку, також перебільшеною є роль нейронних мереж. Термін «нейронні мережі» асоціюється з розумовою діяльністю людського мозку і тому став дуже популярним. Те, що в області розпізнавання оптичних образів нейронні мережі мають успіх — очевидний факт. Однак, коли мова йде про широке коло задач машинного навчання, таких як нелінійна регресія, прогнозування попиту та цін, класифікація користувачів, виявлення обманних дій, аналіз фінансових ринків тощо, то нейронні мережі не завжди є найкращим вибором, часто цей вибір пов’язаний із рекламним ходом, щоб підкреслити сучасність та інтелектуальність рекламованої системи.

У своєму аналізі на згаданому змаганні Kaggle, ми також використовували нейронні мережі. Але ми використовували їх на другому рівні нашої моделі для реалізації стекінгу з метою незначного покращення результату. Розрахунок із використанням нейронних моделей був одним із найбільш трудомістких, хоч для цього використовувались потужні графічні процесори. І в кінцевому варіанті нашого розв’язку ми відмовились від нейронних мереж у нашій моделі, віддавши перевагу простішому варіанту моделі.

Про організацію роботи спеціалістів з аналізу даних

Існує два підходи до організації роботи спеціалістів з аналізу даних в ІТ-компаніях. Перший полягає у створенні універсального відділу Data Science, а другий — в інтеграції науковців з аналізу даних у спеціалізовані підрозділи, які займаються вузькою проблематикою. Я є прихильником другого підходу. На мою думку, особливості предметної області аналізу даних важливіші, ніж наявність спільних принципів аналізу даних. Саме глибоке розуміння предметної області та специфіки аналізованих даних є одним із основних факторів успішного аналізу даних. Важливим кроком в аналізі даних, зокрема у прогнозній аналітиці є відбір та генерація нових ознак на основі історичних даних та правильний вибір валідації моделі.

Одним із факторів перемоги нашої команди на Kaggle було те, що в коло моїх професійних інтересів входить аналіз динаміки продажів товарів, тому в генерації великої кількості нових ознак я вкладав відомі мені структурні зв’язки, які існують у бізнесі продажів та поставок. Одні з них давали покращення результатів, інші ні, але нам вдалося відібрати найефективніші ознаки. Тому я є більше прихильником вузькоспеціалізованих науковців з аналізу даних у відповідних ІТ-підрозділах.

Особливістю Data Science є те, що в цій області практично неможливо працювати фрілансером, як, наприклад, в області веб-програмування. Дані відображають багато чутливих моментів діяльності компаній. Особлива увага приділяється юридичним аспектам при передачі даних для аналізу. Тому у цій сфері аналізу даних замовники надають перевагу ІТ-компаніям, з якими можна підписати відповідні юридичні договори, зокрема договір про нерозголошення.

Про співпрацю із вузами

В Україні на даний час склалась успішна ІТ-індустрія, яка, на мою думку, дещо перебуває у легкій ейфорії. Одна з основних проблем — це слабка диверсифікація напрямків діяльності. Основний акцент зроблено на аутсорс, у розвитку якого є свої об’єктивні тренди як зростаючого, так і спадного характеру. Для стабільнішого розвитку потрібно було б збільшити частку наукоємких проектів та продуктів. Аналіз даних як у вигляді сервісу, так і у вигляді розробки спеціалізованих продуктів є одним із таких перспективних напрямків. За моїми спостереженнями реальних комерційних проектів з аналізу даних є суттєво менше, ніж самих розмов про Data Science.

Одним з чинників успішного розвитку Data Science в ІТ-бізнесі я бачу тісну співпрацю між ІТ-компаніями та вузами. Є багато прикладів такої співпраці, але її загальний обсяг недостатній. Одна з основних перепон у такій співпраці — це гонор та зверхність, які властиві обом сторонам. Серед викладачів чути, що вони не будуть займатись набиванням на клавіатурі нібито примітивного коду, що вони — академічна організація, а не бізнес структура. Інші кажуть, що ІТ-сектор і так мав би підтримувати вузи, бо ми готуємо для них спеціалістів. Зі сторони ІТ чути інші думки — у вузах не вчать сучасному програмуванню, курси застарілі, наука дає нульовий результат.

Знаючи ці дві сторони, можу сказати, що своя правда є у кожного. Успішні ІТ-шники часто недооцінюють те середовище, у якому вони формувались протягом 4-6 років. Інколи важко оцінити, що дали ці всі лекційні курси, практичні заняття, лабораторні, курсові та дипломні роботи, сесії, середовище спілкування. Насправді, вони дали той базис, на основі якого в подальшому сформувались ці успішні ІТ-спеціалісти. І ніякі курси з програмування не замінять тої бази, часто невидимої, яку дають вузи.

З іншого боку співпраця із ІТ-компаніями — це один з небагатьох варіантів, які дадуть можливість розвиватись як науковим школам, так і педагогічним колективам вузів. Адже у сучасних умовах мало хто з перспективних випускників йде займатись науковою роботою, немає можливості поїхати на значиму наукову конференцію, запросити відомого спеціаліста. Сформувавши відповідну співпрацю, можна створити базу для прикладних наукових напрямків, зокрема з аналізу даних. У цій співпраці можна було б поєднати фундаментальні знання та доробки викладачів, а зі сторони ІТ-компаній — практичні навички розробки програмного забезпечення та менеджменту.

Потрібно йти назустріч один одному, шукати різні форми співпраці. Це може бути і стажування викладачів у ІТ-компаніях, проходження практики студентами, курсові та дипломні роботи на основі реальних проектів та сучасних технологій у ІТ-компаніях. Викладачів та науковців можна залучати до проблемних наукомістких задач з області аналізу даних. Та співпраця, яку я бачу зараз, здебільшого спрямована на відбір кращих студентів з подальшим залученням їх до програмування в аутсорсі. На світовому ринку конкуренція в аутсорсі загострюється. В той же час вважаю, що наш науковий потенціал є досить значним. Тому одним із перспективних напрямків є залучення цього потенціалу в ІТ-галузь для розвитку наукоємких технологій.

Теоретично, аналізу даних можна навчитись з відповідної літератури чи на on-line курсах. Однак, виходячи із свого досвіду, я не бачу можливості розвитку Data Science без залучення науковців фізико-математичного напрямку. Потрібний особливий науковий підхід до проблеми, який виробляється роками в процесі наукової діяльності.

Багато з того, що я бачив зі сторони українського ІТ-бізнесу в області аналізу даних — це поверхневий погляд на проблему, тестові приклади, доповіді з узагальненими блок-схемами. З іншого боку, академічне товариство представляє свої ідеї з надскладними алгоритмами та формулами. Однак, немає співставлень про те наскільки нові підходи є кращими за ті, що вже існують та працюють, які результати можна отримати на відомих тестових даних.

Не всі викладачі можуть відразу почати співпрацю у новому для них ритмі з особливим форматом взаємодії з ІТ-бізнесом, це також нелегко. Зі сторони вузів мають бути зміни. Наприклад, для викладачів, які співпрацюють із ІТ-компаніями повинен бути гнучкий графік педагогічного навантаження, у яке мала б зараховуватись робота над спільними ІТ-проектами. Ентузіасти із ІТ-компаній, могли б читати відповідні лекції у вузах із зарахуванням їх до викладацького складу цих вузів. На згаданій вище конференції у Вашингтоні також обговорювалась співпраця вузів із бізнесом та урядовими установами. Основні проблеми чимось подібні у нас і на Заході. Маючи не гірший фундаментальний рівень, ми могли б співпрацювати на більш привабливих для іноземних компаній фінансових умовах.


Я висловив свій погляд лише на деякі аспекти Data Science з точки зору усередненого українського спеціаліста на основі власного досвіду і бачення даної проблеми. Хотілось би почути також думки інших спеціалістів з цього напрямку інформаційних технологій.

LinkedIn

47 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Что такое “Data Science”?

Дякую за дуже змістовну та цікаву статтю, яка окрім іншого дає сподівання на те, що Data Science в Україні має шанс на існування. На жаль, спільноти, як такої, немає, про яку небудь «свою тусовку» на просторах інтернет — поки що можна лише мріяти, але і Ваша стаття і коменти під нею дають надію, що це все-ж таки тимчасово.
Звичайно, важко уявити «проривну» галузь, що потребує в першу чергу мізків, при загальному занедбаному стані економіки в країні. Звірніть увагу, у нас DS реально цікавляться маркетологи, фінансисти, ну можливо ще трохи при розпізнанні мови. А такі галузі, як медицина, технічна діагностика, чи енергетика, які є драйверами розвитку DS в світі — у нас дуже дуже далекі від того, щоб реально запроваджувати досягнення — я вже не кажу в свою практику, хоча-б в попредені, пілотні та досліджувальні проекти. Да і в ВНЗ — на скільки я знаю, активну позицію займає УКУ і ще щось трохи робить KПІ. І все, далі лиш ентузіасти, як от Ви, пробують щось робити, і щось мені підказує, що роблять вони це на свій страх і ризик, відхиляючись від регламентованих зверху программ ;-). Навіть курсів по DS у нас реально в країні нема — і це на тлі сотен курсів всіх різновидів та категорій по програмуванню. Порівнюючи це з тим, що мається за кордоном, стає сумно.
Якось треба це змінювати, якщо бажаємо бути «на рівні».

Прочитавши вашу статтю, я спіймав себе на думці: «нарешті хоч хтось в Україні об’єктивно підтверджує факт — нейромережі НЕ ПАНАЦЕЯ для рішення всіх проблем». Я сам займаюся обробкою сигналів з сенсорів, обробка базується на ФІЗИЦІ. І запорукою успішною роботи алгоритмів є принципове розуміння ФІЗИКИ !!!. Наприклад мені нейромережі в роботі дійсно допомогли лише один раз. А ось прикладів коли нейромережі працювали для іт спеціалістів як «розові» окуляри я бачив достатньо. Ще є приклади коли вони тіки шкодили проекту, але то було як раз відсутність принципового розуміння роботи процесу що досліджується.

Спасибо автору. В коем веке на сыроварне интересный пост без пафоса и самопиара от практика из top 100 Data Scientists in the world

З.Ы и спасибо за толковый кернел по бошу, помню его. Когда мучал этот компетишн, очень пригодился)

Непевно Ви маєте на увазі мій скрипт Bimbo XGBoost R script LB:0.457

Спасибо за статью!
Но почему же только физ-мат наук?)
А как же статистики, экономические кибернетики, которые эти алгоритмы использовали и даже (о ужас!) придумали? Ну я, понятно, о своем.))))
Хорошее базовое экономическое образование как раз прибавляет знание предметной области, и закладывает основу интуиции в данных.

Фіз.-мат. науки є фундаментальними і включають у себе статистику, мат.аналіз, диф. рівняння, тощо. Ці науки лежать в основі технічних наук, інформаційних технологій, економетрії, кібернетики. Тому кажучи про фіз.-мат. науки я мав на увазі усі напрямки, які із ними пов"язані.

Вибачте, але «Суб’єктивний погляд» і нічого більше.
Якщо вже автор

Data Scientist
 — то, можливо, варто було би навести якість цікаві данні по галузі, і їх візуалізувати (а не вставляти фото з якихось слайдів посеред майже 3000 слів).
І це вже мій «суб’єктивний погляд».

Чудова стаття. З чим не можу погодитися, так це з пунктом про співпрацю із навчальними закладами. ІТ спільнота чудово співпрацює із ними. Взяти для прикладу УКУ. Або школу LITS, вона взагалі створена ІТшниками і всі викладачі виключно люди з галузі. Інша справа, що активна співпраця ведеться лише з тими закладами, які не соромно назвати навчальними. З тими, де корупція неприпустима. Де акцент робиться на вирішенні проблеми, а не на оформленні звіту до лабораторної. Де навчальна програма писалася не 20 років тому. Я припускаю, що на вашому факультеті ситуація може бути інакшою, проте навіть ложка дьогтю псує бочку меду. В наших державних вузах цього дьогтю, подекуди, більше ніж меду.

Є області ІТ для яких достатньо курсів по програмуванню. Однак, Data Science тісно пов"язаний із науковим підходом. Наведений вами приклад з УКУ дійсно хороший, там створений прогресивний підхід до навчання. Однак, там ще немає сформованих потужних наукових шкіл. Викладачі, які там викладають сформувались в інших вузах і наукових школах. Важливо для ІТ, зокрема в області Data Science шукати різні форми співпраці із вузами саме у науковій сфері. Щодо оформлення лабораторних робіт то це рутинна робота, але дуже необхідна, вона вчить описувати власні отримані результати :)

Викладачі, які там викладають сформувались в інших вузах і наукових школах
Саме так. І на мій погляд так і має відбуватися. Замість того, щоб легалізовувати недолугу систему своєю участю в ній, розумні люди мають розправити плечі, покинути її і долучитися до прогресивної системи.

Звісно, може бути і інший погляд на проблему. Можна сказати, давайте долучатися і міняти систему. Але так не вийде, бо збереження поточного стану речей в інтересах керівництва ВУзів. Коли якийсь негідник принципово не ставить більше ніж 3 без хабаря, а на це закривають очі — значить керівнитцво така ситуація влаштовує. Коли цілі групи пишуть скарги і кожного разу негідник залишається на посаді — значить керівництво вважає таку ситуацію нормальною. І це не просто «невеличкий недолік», який можна було б виправити якби зарозумілі ІТшники йшли на співпрацю. Ні, це торгівля гідністю, совістю. Це інші цінності. В моїй системі цінностей, не можна примушувати студентів їсти лайно. Навіть якщо його зовсім трошки. А в керівництві ВУЗів, напевно, вважають що це лише маленький мінус.

Замість того, щоб легалізовувати недолугу систему своєю участю в ній, розумні люди мають розправити плечі, покинути її і долучитися до прогресивної системи.
Вот такие достаточно разумные и логичные высказывания и ведут к той ситуации, что Вы описали далее.
Поскольку что-либо делать и менять в системе ВУЗа, имея еще и превратное впечатление о себе как о неудачнике (что же ты не получаешь много денег, а работаешь здесь за копейки — дурак, наверное?), коррупционере (берешь взятки — коррупция, не берешь взятки — а не поверит никто, и опять таки — дурак, наверное) и (!) малоквалифицированном специалисте (по той же версии, дурак, наверное) кто же захочет? Преподаватели — выгорают или уходят. Кто за деньгами, кто за уважением к себе.

Кто остается? Обеспеченные удачно подобранным мужем жены, пожилые идейные борцы, пока еще не разобравшаяся и наивная молодёжь, единицы, которые умудряются делать бизнес и вести это трудозатратное хобби.

Так что Ваша поддержка системы образования, господа, очень странная. Уважать образование надо, не макать образование надо. Это была бы лучшая поддержка и лучшая подвижка.

Спробую ще раз. Так, викладачі будуть йти із старої системи — і це чудово, бо вони йтимуть туди, де вони потрібні і бажані. Де їм будуть нормально платити і де їх будуть поважати. Бо є запит на якісну освіту. Тому так швидко зростає УКУ, ЛІТС, ШАГ. І саме такі інституції буде підтримувати бізнес середовище та ІТ спільнота. У старих ВНЗ є два шляхи — очиститися(реформуватися), або загинути.

ШАГ — качественно? Литс — это курсы. Школьника на них учить будут? УКУ — один и во Львове. Куда идти предложите преподавателю, школьнику? )

Украина таким образом потеряла систему профтехучилищ. Система высшего образования — не феникс. Возрождаться будет очень долго, и если будет. На быстрый результат нужно хорошее финансирование, как у УКУ. Где найти столь хорошее финансирование на все вузы и всех студентов, которые стране понадобятся?)))

ШАГ — все в цьому світі відносно. Але я не чув, щоб там вимгали хабарі за оцінки. Або щоб викладача залишали після купи звинувачень. Вони розвиваються, йдуть правильним шляхом і тому їм хочеться допомагати.

ЛІТС — так, у них є програми і для школярів і для підлітків, але суть не в цьому. Головне, що це чудова ініціатива, їм треба допомагати, співпрацювати з ними і вони будуть ще крутіші.

Щодо шкіл — це інше питання.

Про ХНЕУ — я чув лише хороші відгуки, тому теж можу віднести до позитивних прикладів.

А от про ЛНУ, де вчилася моя дружина, або ХРТТ, де я вчився — можу однозначно сказати, що там є викладачі, що без хабарів оцінки не ставлять. На них пишуть, скарги — а керівництву до лампочки. Їм норм. А мені не норм, мені гидко. І я ні підтримувати, ні спіпрацювати з такими закладами не бажаю. Там є кругова порука, коли викладач, якому ти не сподобався, може запросто тебе завалити. Хоч знаєш ти предмет, хоч не знаєш. І ні комісія не допоможе, ні керівнцитво, бо їм норм. Чому я маю співпрацювати із цим гнилим совком, якщо є нормальні установи?

Ну вот видите, список нормальных учреждений все же можно расширить! Кстати в гнилом совке в вузах взяток не было( Ну это так...

Так я ж і не проти, щоб він розширявся і нормальних закладів ставало більше. Дуже, навіть, за.

Отличная статья! Если хотите, могу пореферить в берлинский Амазон — здесь как раз machine learning, в частности forecasting.

Гарна стаття, але замість роботи на CV в kaggle краще показувати результати на реальних проектах. Аргумент: www.kaggle.com і ті хто дає датасети на ньому, перевіряють моделі разово і на довірчих інтервалах, як поведе себе модель далі ніхто не несе відповідальність. Ніхто не вказує ані критеріїв перегляду моделі, ані ризик-факторів.

С чем вы сравниваете результаты реальных проектов? Причем к кагглу доверительные интервалы? Хотя отмазка — а в будущем оно когда-нибудь будет работать лучше, безусловно идеальна ;)

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

Нет уж, разсуди кому идти в за квасом !!))

1) Сравниваю с позиции прироста КПД и затраченных ресурсов на ее поддержание. Пример: тема преоценки залогов — чтоб собрать цены 5 веб-ресурсов нужно 3 недели, отчет по ликвидности — раз в неделю. С учетом фейковых обьявлений и «висяков», легче просто накидывать карту ценообразования раз в кварталл.
2)Доверительный интервал — я имею ввиду, что разрабы модели берут датасет и не обогощают его данными из вне, более того они не выделяют критичные для модели показатели. Пример: мы построили молель продаж лампочек накаливания исходя из графика продаж, но не учли : ни развитие конкурирующих технологий (LED, ртутные), динамику цен на киловатт/час и тп. Я тут за суть ратею, и вообще-то обьяснять не готовился.
3) Чего ты вообще хотел спросить? :)

За суть — каггл дает возможность оценить качество(!) решений самых разнообразных поставленных(!) задач в сравнении с другими решениями в равных условиях. Если вы не учли все что можно учесть, вы не выиграете. Если вы учли что-то, что нельзя учесть по условиям, вы решили какую-то другую задачу, стали несравнимы и не знаете насколько качественно ваше решение.

Задачи типа «конь в вакукме», понятно.

В вакууме в данном случае остаются «реальные проекты» т.к. вы не видели других решений этой же задачи и не можете сравнить насколько ваше решение хорошее или плохое.

Не соглашусь. РеальнІье проекты, особенно успешные, уходят под с сукно политик конфиденциальности и конкурентного преимущества. В данном сулчае успех определяет не кучака нытиков, и не кусок наблюдений а рынок. пустив под откос компанию, аналитик вряд ли найдет себе новое место работы. От єтого и ответственность и кругозор — чего кегга не дает. К тому-же, если оптимальный ответ никто так и не даст, то приз все равно вручат.

Я знаю очень мало областей в которых бизнес успех/провал зависит от работы именно дата сайнс более чем на несколько процентов. Трейдинг разве что. Во всех остальных случаях есть огромный запас прочности маскирующий ошибки.
То что остается от каггла это именно способность учитывать то, что важно, и знать цену ошибок для любой задачи. И в «реальных проектах» эта способность никуда не девается, потому что задачи каггла это уже реальные проекты. Просто чтобы применить их в реальности нужны именно те самые люди которые их решали(таки да чтобы доучесть то, что важно в реальности, но не учтено в рамках соревнования), а не тупо кусок соревновательного кода ;)

На вскидку о бизнесах : страховой бизнесс, рынок услуг, агробизнесс. Я когда работал в сети кафе, то нам поручили построить модель запасов на складах для точек: накладно ганять грузовик по городу и товар скоропортиться, если его не использовать (єто зарисовка о сфере услуг). Про страховку — тут я не работал, но там тоже есть где приложиться = при сворачивании рынка, игроки идут в рисковые сегменты и им критично важно снизить «експектед лосс». Пример: страхуя бабушку 70 лет от перелома, нужно предусмотреть факторы не подлежащие компенсации. Про агро: без инструмента фьючерса в Украине говорить о нем не о чем, но тему квотирования товаров для еврозоны — тут есть что считать (ведь не реализованный товар за Евро будет продан за стакфлирующую гривну или просто сгниет).
Колотить бабки у нас можно, еще пара лет и кроме дата сайнса даже у нас бизнесу не выжыть.

У нас в той части агробизнеса которую я видел датасайнса нет вообще(хотя попытки применить есть — провальные) и все кому надо цветут и пахнут. Страхование имеет запас и намного сильнее зависит от деятельности агентов, рекламы, исполнения рисков и прочих не датасайнс факторов. Даже трейдинг на растущем рынке от датасайнс практически не зависит, а предсказать черных лебедей датасайнс не может в принципе, намного важнее связи, капиталл, договоренности и инсайд ;)

Ну, с таким настроеним мы страну не построим... Выше голову: «помни Аламо!!»

А что вы имели в виду под словами «никто не знает как поведет себя модель в будущем»? Модель проверена на тестовых данных, она выдает стабильный результат, возможно с небольшим отклонением. Если под словами «как поведет себя модель в будущем» вы имели в виду как поведет себя модель когда данные обновятся, или появятся новые признаки? Ну тут все очевидно — появлись новые данные на которых модель не училась, — будет рости ошибка предсказания модели и это сигнал, что модель надо переучивать. Появились новые признаки — тогда все намного сложнее. Конечно, если вы пользуете модели которым не нужно знать всю выборку сразу и которые способны дообучаться, типа SGD, всяких там байесовких методов, то без проблем, при появлении новых данных — дообучайте модель.

И еще: на кагле происходит соревнования по отбору лучших решений и самый шик-блекс начинается в топе, когда идет борьба за улучшение результата на сотые и тысячные. Если вы считаете, что кагл — это просто и ничего не дает, попробуйте это подтвердить самому себе и войдите хотя бы в топ-30 любого соревнования.

Вы правы ( тут весь интернет слегка затрясло, ведь форумные войны так никогда не заканчивались). Я имел ввиду последствия, к примеру история Кредитно-дефолтных свопов = поучительная как по-мне история))

Почитав дискусію. Зара спробую резюмувати.

— Чувак, а ти яку оцінку середнього використовував?
— (Ем-м..невеличикий шок. Ну я оце, котра з незміщеною дисперсією, при N — до нескінченності, прямує до середнього популяції)
— Гггг ... ну ти і мудак. Диви як правильно .... береш Х(17), Х(39) та Х(122) .... і все це ділиш на 37.
— ............ пауза .................... ще пауза ............. а чого на 37???
— ... бо твоя нікому непотрібна теорія ймовірності не має ніякого відношення до теоріїї відкатів. Вчилось воно тут. Вказувать нам буде, як правильно.
-.............
-............
— Згоден. Скидуєш з себе освіту з рефлексіями. Дістаєш лома ..... і знову питання блядське .... куди ж його після вставляння в жопу прокручувать? По правилу буравчика ...... чи в протилежну?

Реальні проекти і участь у змаганнях по аналізу даних це різні речі, вони повинні йти паралельно. По реальних проектах Data Scientist не зможе показати свій професійний потенціал, бо серйозні проекти є закриті відповідними договорами. У той же час на змаганнях спеціаліст зможе показати як свій рівень так і отримати новий досвід. Отримати високий рейтинг у змаганнях по аналізу даних досить важко через велику конкуренцію із іншими професіоналами, які також працюють і на реальних проектах. Мотивація професіоналів брати участь у таких змаганнях полягає як в отриманні нового досвіду так і удемонстрації свого професійного рівня для потенційних замовників.

Margaritas ante porcos? Дивно .....

Автору спасибо за статью, очень толковое изложение материала!
Интересно было бы узнать о компаниях у нас которые реально применяют Data Science.
Во многих случаях, к сожалению, понятие Data Science трактуется не корректно и скорее напоминает аналитику и отчетность.

У банках вже юзають — скоринг моделі до прикладу. За останніми данними, в Україні, кращі позичальники — розлучена жінка ~35 років з двома дітьми. Іще є ахметенерго — там розраховують маневрові потужності енергогенерації, а це ТЕЦ і вугілля/газ = отже бабло. Е ще агро і ГСМ але там я не в курсі.

В Украине с такими компаниями почти никак. Немого во Львове, Киеве, Харькове. В одессе полная тишина, DS — нечто неизведанное

Полно их в Укриане. На последнем AI Ukraine я был даже удивлен количеством. А в мире еще больше и на вид количество растет.

Спасибо за статью, очень интересное и всестороннее описание.

Интересно было бы больше узнать об организации data science функции в компаниях.
Лично мне тут видится несколько моментов:

1) т.к. data science требует совмещения разных навыков (математика, data engineering, понимание бизнес-проблематики, коммуникация результатов, и т.п.), на больших проектах эти функции разделяются между разными людьми (хотя бы в части data engineering и собственно анализа данных).

В результате возникает коллектив, которым нужно управлять, причем менеджер должен, с одной стороны, разбираться в data science, а с другой стороны, уметь управлять, вести переговоры с другими отделами компании, и т.п. — и собственно не очень хотеть заниматься анализом.

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

2) автор пишет, что из двух вариантов построения data science функции в компаниях — один общий департамент или отдельные специалисты в разных бизнес-направлениях — он за второй вариант.

Аргументы понятны, но я вижу тут проблемы: меньше обмен опытом и идеями между людьми, а также сложности в построении удобной инфраструктуры для работы с данными (нет того, кто отстаивал бы интересы data science в компании).

3) если компания понимает, что ей нужен data scientist, но при этом объем задач не слишком велик, то что лучше — нанять человека в штат или сотрудничать со сторонней компанией, которая будет делать анализ?

Мне кажется, лучше второй вариант, хотя он может оказаться дороже и связан с вопросами безопасности данных, но это обеспечивает решение проблем заказчика силами более опытных аналитиков.

Сорри за такой огромный комментарий :) Очень интересная тема.

Вопросы сформулированы очень крамотно и конкретно. Кака по мне (очень ИМХО) то наиболее оптимальным было бы организовать(оплатить) круглый стол (дискуссионную площадку). При условии, что в компании будет команда, способная проанализировать результаты обсуждения и выбрать наиболее оптимальный путь дальнейшего развития.

Хорошие вопросы, но в принципе, ответы не сложные, с точки зрения бизнеса:
1. Менеджер такой (как и любой другой) команды/проекта — это прежде всего специалист в построении эффективного процесса, который достигает цели потребителей/заказчиков работы команды. Ему совсем не обязательно быть спецом в Data Science. Он, безусловно, должен знать, что это и какова специфика работы с данными (чтобы обеспечить инфраструктуру и др условия достижения цели), но прежде всего ему необходимо понимать, для чего работает эта команда, как она связана с другими, что дает бизнесу (заказчику и той компании, в которой работает).
Как с этим обстоит дело в индустрии — тоже интересно узнать, т.к. Не приходилось, к сожалению, сталкиваться с It компаниями с реальными Data Science проектами.
Но был такой опыт: команда математиков разрабатывал алгоритм анализа торговых сигналов трейдеров. Это алгоритм должен был быть встроен в торговую платформу и предотвращая убыточные сделки. Руководил командой специалист-математик с многолетним опытом в предметной области — FOREX. Он плотно общался с архитектором торговой платформы, в которую должен был быть встроен алгоритм. В основном за чашкой кофе и на философские темы. Наверное, они друг другу помогали и это отражалось на продукте, но не могу быть в этом уверена. К тому же, эти дядьки много лет работали вместе над этим продуктом.
Сказать, что программе общались с математиками — скорее нет, это были разные замкнутые в себе сисемы.

2. Если Data Science приносит деньги компании, то их интересы будут защищены, независимо от того, собраны все data scientists в одном отделе или в разных.
А с точки зрения обмена опытом — это то же самое,что и вопрос построения процессов работы компании — заложен в них обмен опытом между проектами или нет.
А вообще — это стандартный вопрос : функционален или проектная структура. Все зависит от типа работ и специализации компании: если выполняются работы для заказчиков из разных бизнес-доменов, то лучше и разные отделы(проекты). Если все работают над общей задачей и отдельные специалисты и группы связаны с другими data scientists плотнее, чем с не data scientists, то целесообразнее один департамент.

Найкраще — за всю історію існування ДОУ. Автору — вдячність та повага.

Подписаться на комментарии