1. Фундамент: Python, математика для Data Science и разведочный анализ данных
Фундамент: Python, математика для Data Science и разведочный анализ данных
Добро пожаловать на курс «Путь ML/AI инженера». Вы стоите в начале захватывающего путешествия. Многие новички стремятся сразу же обучать нейронные сети, генерировать изображения или создавать чат-ботов. Однако, попытка построить небоскрёб без фундамента приведет к тому, что здание рухнет при первом же ветре. В мире Data Science этим фундаментом являются три кита: язык программирования Python, математическая база и умение «чувствовать» данные (EDA).
В этой статье мы разберем, почему именно эти инструменты необходимы, как они взаимодействуют друг с другом и как начать мыслить как инженер данных, а не просто как пользователь библиотек.
!Пирамида навыков ML-инженера, показывающая зависимость сложных алгоритмов от базовых знаний.
Python: Ваш главный инструмент
Почему Python стал стандартом де-факто в мире искусственного интеллекта? Ответ кроется не в скорости самого языка (он, на самом деле, довольно медленный по сравнению с C++), а в его экосистеме и простоте синтаксиса. Python выступает в роли «клея», который соединяет высокопроизводительные вычисления, написанные на низкоуровневых языках, с удобным интерфейсом для разработчика.
Святая троица библиотек
Для ML-инженера «голый» Python используется редко. Мы работаем с библиотеками, которые превращают его в мощный научный калькулятор:
DataFrame — таблицу, с которой можно проводить любые манипуляции: фильтрацию, группировку, объединение и очистку данных.Пример того, как мы мыслим в коде:
В ML мы избегаем циклов for везде, где это возможно, заменяя их матричными операциями.
Математика: Язык, на котором говорят данные
Вам не нужно быть доктором математических наук, чтобы стать ML-инженером, но вы должны понимать принципы, лежащие в основе алгоритмов. Машинное обучение — это, по сути, статистика и оптимизация, реализованные в коде.
Линейная алгебра: Структура данных
Любые данные — будь то картинка, текст или звук — для компьютера являются набором чисел. Линейная алгебра учит нас работать с этими наборами.
Ключевое понятие — вектор. Это упорядоченный набор чисел.
Где: * — вектор (например, описание одной квартиры: площадь, этаж, цена). * — компоненты вектора (конкретные значения признаков). * — размерность пространства (количество признаков).
Одной из самых важных операций является скалярное произведение (Dot Product). Оно показывает, насколько два вектора «похожи» или направлены в одну сторону. Это основа работы нейронов в нейросетях.
Где: * — результат скалярного произведения (одно число). * — знак суммы, означающий сложение всех элементов от 1 до . * и — соответствующие элементы векторов и .
Математический анализ: Обучение моделей
Если линейная алгебра позволяет представить данные, то матанализ позволяет моделям учиться. Суть обучения — это минимизация ошибки. Мы хотим найти такие параметры модели, при которых ошибка минимальна.
Здесь в игру вступает производная. Она показывает скорость изменения функции. В ML мы используем градиент (вектор производных), чтобы понять, в какую сторону нужно менять веса модели, чтобы уменьшить ошибку.
Определение производной:
Где: * — производная функции в точке . * — предел при стремлении к нулю (бесконечно малое приращение). * — изменение значения функции. * — изменение аргумента.
Простыми словами: производная говорит нам, становится ли ошибка больше или меньше, если мы чуть-чуть сдвинем параметр.
Статистика: Понимание неопределенности
Мир не идеален, и данные всегда содержат шум. Статистика помогает нам отделять сигнал от шума.
Две важнейшие метрики, которые вы будете использовать постоянно:
Формула дисперсии генеральной совокупности:
Где: * — дисперсия. * — общее количество наблюдений. * — сумма по всем элементам. * — конкретное значение из набора данных. * — среднее значение набора данных.
Если дисперсия высокая, данные сильно разбросаны, и модели может быть сложнее найти закономерности.
Разведочный анализ данных (EDA)
Exploratory Data Analysis (EDA) — это процесс предварительного исследования данных для выявления закономерностей, аномалий и проверки гипотез. Это работа детектива перед тем, как дело передадут в суд (модели машинного обучения).
> «Garbage In, Garbage Out» (Мусор на входе — мусор на выходе). > — Принцип информатики, означающий, что качество выходных данных определяется качеством входных.
Если вы подадите в нейросеть «грязные» данные, никакая математика не спасет результат. EDA включает в себя несколько этапов:
1. Очистка данных (Data Cleaning)
Реальные данные ужасны. В них есть пропуски, опечатки, дубликаты. На этом этапе мы решаем: * Заполнить пропуски средним значением или удалить эти строки? * Как исправить ошибки в написании категорий (например, "Moskow" и "Moscow")?2. Одномерный анализ (Univariate Analysis)
Мы смотрим на каждый признак отдельно. Какое распределение у зарплат? Есть ли выбросы (люди с зарплатой в миллиард, которые искажают среднее)? Для этого используются гистограммы и ящики с усами (boxplots).3. Многомерный анализ (Multivariate Analysis)
Мы ищем связи между признаками. Зависит ли цена квартиры от этажа? Коррелирует ли опыт работы с зарплатой?!Тепловая карта корреляции помогает быстро увидеть, какие признаки взаимосвязаны.
Для оценки взаимосвязи часто используют коэффициент корреляции Пирсона (), который меняется от -1 до 1. Если , признаки растут синхронно. Если , один растет, другой падает.
Заключение
Сегодня мы заложили первый камень в фундамент вашего образования. Мы узнали, что Python с библиотеками NumPy и Pandas — это ваш экскаватор для работы с данными. Линейная алгебра и матанализ — это чертежи, по которым строятся модели. А EDA — это геодезическая разведка, гарантирующая, что мы строим на твердой почве, а не на болоте.
В следующей статье мы перейдем от теории к практике и разберем основы классического машинного обучения, начав с линейной регрессии — алгоритма, который, несмотря на свою простоту, используется в бизнесе повсеместно.