Пишеш на React? Любиш тести? Дивись JavaScript fwdays онлайн у себе вдома.
×Закрыть

Мапа розвитку в Data Science, або Як стати дослідником даних

Привіт! Мене звуть Євген, я дослідник даних. Ця стаття — моя спроба окреслити програму самоосвіти, достатню для того, щоб розпочати кар’єру в Data Science. Усе, що я нижче напишу, — суб’єктивно. Що не суб’єктивно, то це факт, що для мене це спрацювало і я таки працюю дослідником даних. Ці поради можна порівнювати з хлібними крихтами, що залишали по собі Гензель і Ґретель у відомій казці. Ця дорожня мапа може привести вас до мети тим шляхом, яким уже проходили раніше. Крім того, така освіта не є вичерпною для дослідника, а лише достатньою, щоб знайти першу роботу. Отже, з чого починати?

Огляд потрібних знань і навичок

Ви напевно вже бачили подібну діаграму Венна, складену з галузей, на перетині яких формується професія Data Scientist.

Image Source

Відповідно до наведеної діаграми та враховуючи вимоги до новачків, під час підготовки варто зосередитися на таких моментах:

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

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

Image Source

Докладніше про спеціалізацію в DS дивіться в доповіді Олексія Натьокіна.

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

Інструменти

Що стосується інструментів, у моєму випадку це Python, NumPy, pandas, SciPy, Matplotlib, Jupyter Notebook, scikit-learn, Keras тощо.

Python я почав вивчати за книжкою «Learning Python» Марка Лутца, документацією й Stack Overflow. Варто зазначити, що для мене Python був не першою мовою програмування. Маючи досвід програмування такими мовами, як Java, Scala, Groovy, JavaScript і TypeScript, я вже мав певне уявлення про парадигми та принципи розробки ПЗ. Тож моє знайомство з Python може відрізнятися від вашого. Добра новина в тому, що для початківця-дослідника даних не обов’язково досконало розбиратися в програмуванні. Для початку досить засвоїти основи мови й опанувати популярні інструменти для аналітики. Слід навчитися перетворювати алгоритми й математичні формули на код. І варто вміти працювати зі структурами даних: послідовності, таблиці, тензори, словники, дерева й графи загалом. Проте, коли буде час і натхнення, раджу розібратися, що таке OOP, SOLID, FP тощо. Приділіть увагу тестуванню, логуванню, lint-перевірці і практикам чистого коду. Так робота з кодом стане приємнішою і, можливо, життя стане ліпшим.

Для дослідження даних вам знадобиться зручне середовище. Поширеним середовищем для дослідників є Jupyter Notebook. Він має інтуїтивно зрозумілий інтерфейс, і його засвоєння не потребує якихось складних курсів. Для швидких експериментів не обов’язково ставити Notebook локально, досить мати інтернет і скористатись онлайновим сервісом. Наприклад, Google Colaboratory. Там уже є більшість базових для DS та ML модулів, потрібні можна доставити. Є інтеграція з Google-диском, де можна тримати дані, а також інтеграція з GitHub. Загалом, зручна штука.

Наступний інструмент у списку — бібліотека NumPy. Вона надає інтерфейс для застосування математичних функцій для операцій над тензорами. Її використовують, наприклад, щоб представити зображення як тензор, де кожне значення відповідає пікселю вашого зображення. Вибірку тензорів використовують як input для моделі. Знайомство з NumPy можна розпочати з цієї чи цієї статті. Якщо вам бракує математичних функцій у NumPy, зверніть увагу на SciPy.

Бібліотека pandas надає зручний інтерфейс для роботи з індексованими табличними даними (DataFrame) і послідовностями (Series). Зручніша за NumPy для роботи з часовими рядами, має вбудовані функції для візуалізації даних, роботи з файлами, такими як csv, тощо. З pandas можна ознайомитись у цій статті в межах курсу від Open Data Science та в курсі від Мічиганського університету. Далі ми ще не раз повернемося до цих курсів.

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

Крім того, під час дослідження даних, оцінювання моделі й представлення результату часто виникає потреба у візуалізації. Серед поширених інструментів візуалізації —Matplotlib, Seaborn, Plotly тощо. Ознайомитися з цими інструментами можна в цій статті. Проте візуалізація даних — це не лише володіння інструментами. Створенню візуалізації має передувати глибоке дослідження даних і розуміння, що саме ви хочете продемонструвати. Візуалізацію можна розглядати і як окремий фах, і як неодмінний складник роботи аналітика даних.

Математика і статистика

По-перше, для чого вам статистика й математика? Чи можна просто створювати розумні машини за допомогою магії готових бібліотечних рішень і уникнути марудних обчислень?

Ніт. Як ви переконаєтеся впродовж власного навчання, у машинному навчанні вам не обійтися без дослідження даних (зокрема, статистичних властивостей вибірки), трансформації даних, валідації і тестування натренованої моделі. У цій статті ви можете знайти показовий приклад, як вдале застосування математичної статистики допомогло втриматися в лідерах змагання на Kaggle.

До речі, цей приклад показовий ще й тим, що автор рішення Данило Савенков — зразок успішної міграції в Data Science. До того як зробити кар’єру в DS, він був студентом консерваторії, грав на фаготі і працював в оркестрі. Просто згадуйте про це, коли хтось зверхньо жартує про гуманітаріїв :) Але повернімося до нашої дорожньої мапи.

Отже, якщо треба підтягнути знання зі статистики, є курс з основ описової й вивідної статистики. Тут ви дізнаєтеся, що таке вибірка, медіана, дисперсія, розподіл, кореляція, p-значення, t-критерій Ст’юдента тощо. Цей курс передбачає поверхове знання мови програмування R. Для знайомства з R я скористався онлайновим курсом. Навіть його половини досить, щоб читати приклади коду з курсу статистики вище. Свої рішення я реалізовував за допомогою Python. Це, до речі, теж корисна навичка. Далеко не всі дослідники даних послуговуються Python, і ви можете натрапити на приклади реалізацій іншими мовами. Зручно, якщо ви можете їх прочитати й переписати на свій лад.

Що стосується математичної підготовки. Так, є багато поширених інструментів і методів для дослідження даних, які вже давно реалізували в популярних бібліотеках й описали простими поняттями. Водночас Data Science дуже стрімко розвивається, щодня люди пропонують нові рішення. Безліч таких state-of-the-art рішень ви можете знайти в пейперах, наприклад, на arXiv.org. Часто такі пейпери містять математичні формули без прикладів коду. Тому варто навчитися читати математичні формули й розуміти ідеї, які стоять за ними. Отже, що робити, коли ви бачите в пейпері отаке?

Image Source

Основні розділи математики, на які варто звернути увагу:

  • математичний аналіз;
  • лінійна алгебра;
  • теорія ймовірностей;
  • дискретна математика.

Докладніше програму підготовки можна подивитися тут. Це підготовчий курс для вступу на магістерську програму в УКУ. Власне, там можна й пройти цей курс, але лише раз на рік. Тому розгляньмо й інші онлайнові курси, доступні в будь-який момент.

Що стосується математичного аналізу, є відеолекції від Олексія Савватєєва й Олександра Тоніса.

Якщо треба підтягнути знання з теорії ймовірностей, є курс від МФТІ на coursera. Крім того, там є курси МФТІ з комбінаторики, графів, теорії ігор тощо.

Як є бажання попрактикуватися з розв’язанням задач, можу порекомендувати авторський сайт Олександра Ємеліна. У сиву давнину, коли я був студентом інженерного факультету, саме цей сайт дуже допоміг мені в підготовці. Усі підручники з математики, які тоді потрапляли мені до рук, були сповнені химерними поясненнями й незрозумілими словами. У найліпшому разі словами. А я був простим інженером без PhD з математики, мені треба було пояснити простіше :) Якщо ви — як я, цей сайт може вам сподобатися.

Але це саме математичні курси й лекції. Вони не зосереджені на завданнях DS і ML. Просте зрозуміле пояснення матричного множення й диференціювання та приклади їх застосування в нейронній мережі я бачив у книжці «Make Your Own Neural Network» Таріка Рашида. Математичні описи поширених методів ML можна знайти в згаданому вище курсі від Open Data Science. Ще час від часу Data Science UA влаштовують цікаві лекції і воркшопи. Наприклад, дводенні курси Make math great again від Марії Королюк і Марії Дворяшиної або Data Science, Analytics and AI від Олександра Романка. Загалом, у DSUA повно цікавих івентів.

Якщо любите читати, можу порадити дві книжки: «How Not to Be Wrong» Джордана Елленберга і «Everybody Lies» Сета Стівенс-Давідовіца. Це не підручники, а бестселери New York Times, у яких описано, як математика, статистика й дослідження BigData допомагають ліпше зрозуміти світ. Є в українському перекладі.

Machine Learning

Саме ML обумовив потужний розвиток сфери дослідження даних у наш час. І, можливо, не через шалену пристрасть до нормального розподілу й коробкових діаграм, а саме через інтерес до ML, AI та Skynet ви зацікавилися Data Science. Тож більше не зволікатиму й перейду до найцікавішого.

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

На платформі Prometheus є курс від Олеся Петріва (фахівець із Deep Learning і Computer Vision). Загалом курс з основ ML, багато теорії, але на останньому тижні розглядають і приклади CNN та LSTM нейронних мереж, з цього можна почати своє знайомство з Deep Learning і бібліотекою Keras.

Проте на цьому етапі я не радив би одразу занурюватися в DL, розберімося докладніше в класичному машинному навчанні.

Тут вам не обійтися без бібліотеки sklearn, яку я згадував у розділі «Інструменти». Scikit-learn часто використовують у підручниках і курсах з основ ML, бо вона надає високорівневий API. З цим інструментом ви можете, не заглиблюючись у математику й деталі реалізації, зосередитися на побудові pipeline з підготовкою та трансформацією даних, підбором гіперпараметрів моделі, валідацією та оцінкою точності результатів.

Отже, sklearn і основи ML можна вивчити на курсі від Мічиганського університету. Також є розкішна книжка «Introduction to Machine Learning with Python» Андреаса Мюллера й Сари Ґвідо.

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

Після знайомства з класичним ML час більше дізнатися про Deep Learning. Можу порадити розкішну книжку «Deep Learning with Python» Франсуа Шолле. Варто зауважити, що ця книжка закладе базові знання. Водночас нові архітектури моделей і їх модифікації з’являються мало не щодня. Це доволі експериментальна сфера, стежте за новинами в Deep Learning і feel free долучатися до експериментів.

Що крім ML

Досі ми говорили про підходи, які на сьогодні є популярними, сучасними і які широко застосовують у DS незалежно від галузі, проєкту, компанії. Це саме те, з чого можна починати свою самоосвіту й сподіватися на працевлаштування. Водночас є й інші підходи, поширені чи доцільні для вирішення деяких задач.

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

Крім давно відомих і поширених методів, є й екзотичніші рішення типу Reinforcement Learning, Fuzzy Logic, Genetic Algorithm тощо. Вони рідше траплялися мені на практиці, проте цікаві й інколи можуть стати в пригоді. Наприклад, генетичний алгоритм може допомогти з підбором параметрів вашої моделі, коли ваша цільова функція не диференціюється й ви не можете оптимізувати параметри популярним градієнтним спуском. GA допоможе знайти оптимальні гіперпараметри моделі, коли використання Grid Search є занадто затратним.

Проте чи доцільно вам витрачати час і заглиблюватися в ці теми, залежить від того, як ви бачите свою подальшу кар’єру. На цьому ж етапі я не хочу загострювати увагу на речах, специфічних для Computer Vision, NLP чи аналізу часових рядів. Пропоную сфокусуватися на навичках, якими слід володіти кожному початківцеві для пошуку роботи.

Власне, сама робота — чудовий спосіб навчання нового. Навіть якщо вас поки не беруть на роботу вашої мрії в Boston Dynamics чи Google, спробуйте влаштуватися в якийсь стартап, де ви почнете набувати досвіду.

Ще один спосіб попрактикуватися — змагання на Kaggle. Там є змагання для тих, хто тільки вчиться, як-от House Prices і Titanic. Є й можливість випробувати себе, змагаючись із досвідченими дослідниками, вирішити важкі завдання.

Візуалізація та візуальний аналіз

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

Вдала візуалізація, яка дійсно допомагає виявити й продемонструвати іншим щось корисне, потребує не лише гарного смаку, а й чимало знань і досвіду. Для початку можна ознайомитися з курсом візуалізації даних від Анатолія Бондаренка на платформі Prometheus. Анатолій Бондаренко — засновник і керівник проєкту Texty, які нещодавно здобули престижну міжнародну винагороду з журналістики даних. У цьому курсі немає програмування й складних технічних штук, це базові знання про принципи візуалізації.

Наступний рекомендований курс — це частина спеціалізації від Мічиганського університету. Він доповнить теорію, але не обмежується лише нею. Тут ви навчитеся користуватися згаданими вище інструментами візуалізації: Matplotlib, Seaborn, Plotly.

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

Чому це важливо? Імовірно, ви не тільки досліджуватимете дані, а й представлятимете результати своєї аналітики замовникові й користувачам. Попіклуйтеся, щоб дані й аналітика були зрозумілими та корисними. Візуалізація — доволі потужний помічник у комунікації з людьми.

Офлайн

Окрім книжок та онлайн-курсів, може бути корисно знайти ментора або офлайновий курс. Гарний ментор-практик чи викладач допоможуть систематизувати знання й проведуть вас крок за кроком через весь pipeline роботи з даними. До того ж, спираючись на власний практичний досвід, зроблять це в контексті тих реалій, які є саме в українських компаніях, командах, проєктах. Це певною мірою вже інтегрує вас у DS-спільноту.

З офлайнових курсів з Data Science мені відомі Hillel (м. Київ, викладач Олександр Коробов) і спільний курс від компаній ISD та SOLVVE (м. Дніпро, викладач Олексій Нідзельський). На мою думку, якість і програма курсу дуже залежать від того, хто викладає. Тим паче в DS і ML, де ще немає тотальної стандартизації і кожен викладає з огляду на власний досвід і здібності вчити інших людей. Мені в цьому сенсі пощастило.

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

Одними з організаторів заходів, лекцій, воркшопів для DS-community є Data Science UA. Крім того, багато IT-компаній в Україні проводять власні мітапи. Тож підписуйтеся на їхню розсилку, соціальні сторінки, телеграм-канали, переглядайте календар подій на DOU й будьте в курсі новин.

Нерозкриті теми

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

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

Ще я не розглядав роботи з базами даних. Так, вам варто знати, які є типи баз даних чи як написати елементарний SQL-запит. Проте, на мою думку, не обов’язково надто заглиблюватися в це, досить знань, які дають змогу самостійно реалізувати просту взаємодію з БД для MVP або знайти спільну мову з інженером на проєкті. Найімовірніше, будь-який Back-end developer чи BigData engineer реалізує взаємодію зі сховищем даних ліпше за вас. Зате чого він не зробить, то це не зможе проаналізувати дані так, як ви. Тож сфокусуйтеся на тому, що ви можете робити ліпше за інших.

До речі, кілька слів про взаємодію в команді й організацію процесів на проєкті. Переконаний, вам буде корисно ознайомитися з поширеними методологіями розробки IT-проєктів з використанням ML і загалом. Варто ознайомитися з такими поширеними методологіями, як CRISP-DM, Scrum, Kanban тощо. Сподіваюся, вам пощастить працювати на проєкті, де налагоджено ефективні процеси роботи.

Прикінцеве слово

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

До того ж сучасний ринок праці стрімко змінюється, що спонукає людей постійно розвиватись і змінювати своє ремесло. Ураховуючи, що Data Scientist — одна з найсексуальніших професій сучасності, не дивно, що вас зацікавила саме ця професія.

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

Водночас самоосвіта не завжди сприяє систематизації знань, формуванню цілісної картини. Це може призвести до кризи фаховості й зростання сертифікованих «експертів», які, пройшовши якийсь курс з основ ML і навчившись використовувати бібліотечну RandomForest-модель, позиціюють себе як Rockstar Data Scientist. Загалом сучасну кризу фаховості описав, наприклад, професор Том Ніколс у книжці «The Death of Expertise». У контексті ж українського IT можна знайти повно критичних історій про «войти в IT».

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

Власне, у мене все. Бережіться й насолоджуйтеся життям :)

Корисні джерела

Пейпери:

Змагання.

Інтернет-ресурси:

Книжки:

Курси онлайн:

Офлайн:

Подібні статті:

LinkedIn

21 комментарий

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

Ні слова про Business Intelligence, і тулзи, жалько(

Дякую за відгук!
Ви праві, тут дійсно ні слова про Business Intelligence. Це тому, що Business Intelligence та Data Science вирішують різні завтдання. Якщо грубо узагальнити, то на мою думку BI — це більше про описову статистику та, напевно, трохи про статистичне висновування. DS більше про статистичне висновування, моделювання та оптимізіцію. Деякі ресурси з цієї статті можуть бути корисні і для BI. Наприклад, книжка «The Functional Art» Альберто КаЇро. Але загалом, якщо хочете почати кар’єру в BI, то ця дорожня мапа не годиться. Я не спеціалізуюсь на BI, не юзаю Tableau, Power BI тощо.

Серед величезної кількості булшіт статей про тіпа айтішні теми, потім натрапляєш на таку чудову статтю українською про Data Science! Радієш, що більшість посилань відмічені як вже знайомі, але все одно знаходиш для себе декілька крутих нових! Дякую за статтю — це круто!

Дякую за відгук!

Класс!
Очень здорово, что некоторые проводят карантин с пользой не только для себя, но и для других :)

Привіт, дякую :)

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

А от щодо

що робити, коли ви бачите в пейпері отаке?

То викинути той пейпер в сміття: мало того, що в формулі вектор дорівнює сумі вектора і числа, так ще й не «німий» індекс «і» справа від «=» відсутній зліва. Теоретично, можна зробити здогад, що там вся та дужка має множитись на і-й базисний вектор і потім то все сумуватись по «і», але це всього лиш здогад. Зараз, коли виходить 100500 статей по ML за секунду, тратити свій час на здогади і розплутування, що ж там автор мав на увазі, абсолютно недоцільно.

Дякую за відгук! Згоден, зараз є дуже багато пейперів і немає сенсу застрягати на якомусь незрозумілому.
Взагалі вміння працювати з пейперами — це скіл. Це не тільки про математичну підготовку, а і про вміння планувати свій робочій процес. Можна знайти 1-5 зрозумілих і дотичних до задачі пейперів, такі що я можу одразу закодити. Узагальнити їх і перевірити на скільки ідеї в них спрацюють для вирішення конкретної задачі. Потім знову і знову ітеративно рухатись від ідей до коду. Хоча це залежить від специфіки роботи. У ресьорчерів, напевно, більше часу йде на пейпери і ознайомлення зі state-of-the-art рішеннями для яких немає, а може і не буде готових бібліотечних рішень в умовному sklearn. То треба заглиблюватись в деталі і реалізовувати самостійно. А хтось може вирішити свою задачу лінійною регресією і не перейматись через формули.

Дякую за відгук!

А скільки вам часу зайняло від початку навчання до роботи дослідником даних? 1-2 роки?

Так, приблизно 1.5-2 роки. З різною інтенсивністю. Більшість цього терміну я працював розробником, тож на DS/ML залишалось не так багато часу як хотілося. Під час відпусток вчив інтенсивніше. В якийсь момент я відчув що досяг певного рівня знань і треба прогресувати далі, але тоді не встигатиму на роботі. Тому пішов з роботи і ще на кілька місяців сфокусувався виключно на DS. Такий собі ривок. Після цього знайшов нову роботу вже аналітиком даних. Пошук роботи зайняв 1-2 місяця. І для цього я переїхав в Київ, бо в Дніпрі значно менше джуніорівських вакансій.
Але нікого не закликаю звільнятись) Це суто мій спосіб свічнутись + я тоді заздалегідь фінансово підготувався до кількох місяців безробіття.
Можливо можна швидше це зробити. Нижче в коментах порадили лаконічніший список курсів. Але я нікуди не поспішав, тримав той темп навчання, який мені підходить :)

Чи виникали під час процесу сумніви щодо доцільності навчання?

Що саме ви маєте на увазі? Доцільності якогось конкретного курсу/книги? Почав, а потім засумнівався чи треба закінчувати? Таке було, декілька книг припинив читати бо не сподобались (в цій статті я їх не згадував). Але не дуже люблю незавершені справи, деякі курси ставив на паузу і повертався до них пізніше, коли було натхнення :)

Були деякі сумніви чи в тому я взагалі напрямку рухаюсь; чи не сфокусувався я на якомусь фрагменті не помічаючи інші важливі напрямки; чи не застряг я на технологіях/підходах, які застарілі, або дуже рідко використовуються, тому звужують кількість можливих вакансій. Це типові проблеми самоосвіти. На мою думку з цим може допомогти гарний офлайн курс чи ментор, хтось, хто складе притомну, всеохоплюючу, систематизовану дорожню мапу до навичок, які затребувані на ринку праці.

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

хорошая статья спасибо.
есть в Киеве сообщество DS @kyivdatascience (telega) присоединяйтесь

Дякую за відгук! Підписався на канал

Эй, автор, камон, Савенков закончил физ-фак СПбГУ. То что человеку нравилась музыка, а не физика, не отменяет того факта, что мат.подготовка у него не хуже выпускников мех-мата КНУ.

Дальше ИМХО:
Я верю что тяжелая работа над собой чаще побеждает ленивый талант. Но я в жизни не поверю, что человек, в жизни не решивший ни одного нелинейного диф.уровнения 2го порядка, не доказавший ни одной теоремы, не умеющий в голове прикинуть как на ассимптотике поведет себя функция, сможет действительно понять в

коли ви бачите в пейпері отаке?

что значит это «отаке» и из чего оно следует.
Да, курс УКУ неплохой. Но этот курс покрывает 1й семестр матана (который читается в нормальных вузах 1.5-2 года), и АГЛАы, теор.вера и дискретки там еще меньше. И на аргумент: «У вузі навчають багато зайвого, а тут тільки потрібне», я отвечу: в вузе е*ут теми теоремами и задачками, что б через 10 лет, человек, решивший свитчинутся в ДС, смог самостоятельно найти частные производные сложной функции нескольких переменных и наконец-то разобраться с этим несчастным бекпропагейшеном. Пройдя курс уку и год не трогав математику, ты уже ничего не вспомнишь.

В остальном, статья неплохая, со стилистической точки зрения даже хорошая. Вот только ценность ее конечно чуть выше фотки котиков в инстаграме, ибо такого рода статей уже было опубликовано больше, чем коммитов в репозиторий ядра линукса.
Но автор, конкректно к тебе у меня нету никакой предвзятости. Ты молодец, что прошел такой путь в саморазвитии и не сдался. Поставил цель и дошел до конца (офера).
П.С
Твой путь мог быть быстрее и дешевле:
mitx 6.00.1x Introduction to Computer Science and Programming Using Python — 79 usd
hackerrank/leetcode/codewards — бесплатно
Coursera Machine Learning Andrew Ng — 50 usd
Coursera Deep Learning Specialization — 50 usd
Курс машинного обучения от ODS на хабре — бесплатно

Камон) Дякую за відгук!

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

Так, не зможе. Саме для таких людей я навожу посилання на mathprofi, наприклад:
mathprofi.ru/...​ija_vtorogo_poryadka.html
mathprofi.ru/...​nie_vtorogo_poryadka.html
Звісно це нелегко. Але всі колись починають. Хтось після школи, хтось зараз почне)

Пройдя курс уку и год не трогав математику, ты уже ничего не вспомнишь.

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

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

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

Моя стаття стала реакцією на прохання конкретної людини описати як свічнутись. Значить як мінімум одній людині це може бути цікаво :)

І в мене була ще одна причина написати цю статтю. Я знаю що повно подібних матеріалів англійською та російською мовами. Проте я прихильник створювати свій україномовний контент.

п.с. дякую за посилання на інші курси. Я особисто не проходив Machine Learning Andrew Ng (shame on me), тому вирішив не радити його від себе, оскільки тут я ділюсь тільки власним досвідом. Але від всіх хто його проходив, я чув лише позитивні відгуки. З курсом від ODS я знайомий і кілька разів згадую в моїй статті. Корисний курс. Зрештою так, вибір є :)

Так, згоден. Все дуже залежить від проєкту, компаній, спеціалізації в рамках DS тощо. Комусь математика більше потрібна, комусь менше. Комусь важливіша теорія ймовірності, комусь матаналіз. Я, наприклад, можу реалізувати backpropagation, але крайній раз робив це на курсах, на роботі ще жодного разу не доводилось реалізовувати його руками. Джун може починати з простіших речей, а попрацювавши 1-3 роки і з даними і моделями набереться досвіду і математику у вільний час прокачає. Було б бажання.

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

Дякую за відгук!

якщо говорити про «геть з нуля», то я думаю спочатку треба витрати місяць на МатПрофі і місять на туторіал Пайтона — потім рухатись далі буде набагато легше.

Згоден. Особисто я почав з пайтона, основ статистики (не викладали у ВНЗ) і двох книжок по ML: «Make Your Own Neural Network» та «Introduction to Machine Learning with Python». Книжки саме для новачків. Я статистику почав вчити з курсів на Prometheus. Проте на МатПрофі є і статистика, і функції, і похідні, і теорія ймовірності. Корисний сайт.

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