Что такое прунинг (pruning) дерева решений?
Прунинг ещё могут называть усечением или редукцией. Это процесс упрощения структуры уже построенного дерева путём удаления некоторых вершин.
Как правило, удаляются вершины, которые вносят минимальный вклад в точность модели. То есть сначала дерево строится жадно без ограничений, а затем проводится усечение. Необходимо добиться того, чтобы итоговое качество упало не сильно, но дерево начало подходить под условия регуляризации. Качество стоит измерять на отдельной, отложенной выборке.
Для чего это делается? При жадном построении алгоритм часто создаёт дерево, которое полностью учитывает обучающие данные, включая шум. Это может привести к переобучению, когда модель теряет способность хорошо обобщать на новых данных.
#машинное_обучение
Прунинг ещё могут называть усечением или редукцией. Это процесс упрощения структуры уже построенного дерева путём удаления некоторых вершин.
Как правило, удаляются вершины, которые вносят минимальный вклад в точность модели. То есть сначала дерево строится жадно без ограничений, а затем проводится усечение. Необходимо добиться того, чтобы итоговое качество упало не сильно, но дерево начало подходить под условия регуляризации. Качество стоит измерять на отдельной, отложенной выборке.
Для чего это делается? При жадном построении алгоритм часто создаёт дерево, которое полностью учитывает обучающие данные, включая шум. Это может привести к переобучению, когда модель теряет способность хорошо обобщать на новых данных.
#машинное_обучение
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Proglib запускает канал Азбука айтишника
Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками.
У нас есть рубрики:
⭐ База — в ней рассказываем про термины из IT простым языком
⭐ Проект — объясняем, из чего состоят айтишные проекты и сколько они могут стоить
⭐ Психология айтишника — тут говорим про софт-скиллы, особенности работы и взаимодействия
👉Подписывайтесь!
Подписывайтесь на наш новый канал про айти для неайтишников — для совсем новичков и тех, кто постоянно взаимодействует с айтишниками.
У нас есть рубрики:
👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Proglib.academy | IT-курсы
Некоторые разработчики утверждают, что математика не обязательна, в то время как другие считают, что без её фундаментальных знаний невозможно стать программистом. Если вас мучает ее математическое незнание, то скорее читайте нашу статью.
🔗 Статья
Чтобы лучше разбираться в математике, прикрепляем наш курс:
Please open Telegram to view this post
VIEW IN TELEGRAM
Как быть с категориальными предикторами при построении линейной регрессии?
Их, конечно, нужно привести к числовому виду. Как именно это сделать, нужно решать, исходя из вида категориальной переменной.
▫️ Номинальная.
У таких переменных нет естественного порядка, и они обычно представляют собой различные категории, такие как цвета, пол и т.д. Для кодирования номинальных переменных чаще всего используется метод one-hot кодирования. При этом каждая категория представляется отдельной бинарной переменной (столбцом), где 1 означает наличие этого признака, а 0 — его отсутствие.
▫️ Порядковая.
Такие переменные имеют естественный порядок, например, оценки уровня образования или уровни удовлетворённости. Для таких переменных можно использовать порядковое кодирование, где каждая категория получает числовое значение, отражающее её ранг. Например, «низкий», «средний» и «высокий» уровень удовлетворенности можно закодировать как 1, 2 и 3 соответственно.
#машинное_обучение
Их, конечно, нужно привести к числовому виду. Как именно это сделать, нужно решать, исходя из вида категориальной переменной.
▫️ Номинальная.
У таких переменных нет естественного порядка, и они обычно представляют собой различные категории, такие как цвета, пол и т.д. Для кодирования номинальных переменных чаще всего используется метод one-hot кодирования. При этом каждая категория представляется отдельной бинарной переменной (столбцом), где 1 означает наличие этого признака, а 0 — его отсутствие.
▫️ Порядковая.
Такие переменные имеют естественный порядок, например, оценки уровня образования или уровни удовлетворённости. Для таких переменных можно использовать порядковое кодирование, где каждая категория получает числовое значение, отражающее её ранг. Например, «низкий», «средний» и «высокий» уровень удовлетворенности можно закодировать как 1, 2 и 3 соответственно.
#машинное_обучение
Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/61c44272
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/61c44272
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/61c44272
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что вы знаете о проблемах взрывающегося и затухающего градиента?
▪️Взрывающийся градиент
Эта проблема возникает, когда градиенты функции потерь начинают расти экспоненциально во время обучения. В результате это приводит к тому, что веса становятся огромными и приходят в NaN. Конечно, сеть с такими параметрами не может моделировать зависимости корректно.
Почему это происходит?
Если говорить о математических причинах, то это случается, когда произведение частных производных функции активации и весов на каждом слое превышает единицу. Если матрица весов W имеет большое собственное значение, то при умножении этого значения на градиенты потерь происходит экспоненциальный рост величины градиентов.
▪️Исчезающий градиент
Это проблема, обратная предыдущей. Градиенты функции потерь наоборот становятся слишком маленькими, близкими к нулю, и веса нейросети в принципе перестают обновляться. При таких условиях качество работы модели не растёт.
Почему это происходит?
Исчезающий градиент возникает, когда произведение частных производных функции активации и весов на каждом слое меньше единицы. В этом случае градиенты уменьшаются экспоненциально по мере прохождения через каждый слой сети. В конечном итоге, градиенты становятся настолько малыми, что обновления весов практически не происходят.
#машинное_обучение
▪️Взрывающийся градиент
Эта проблема возникает, когда градиенты функции потерь начинают расти экспоненциально во время обучения. В результате это приводит к тому, что веса становятся огромными и приходят в NaN. Конечно, сеть с такими параметрами не может моделировать зависимости корректно.
Почему это происходит?
Если говорить о математических причинах, то это случается, когда произведение частных производных функции активации и весов на каждом слое превышает единицу. Если матрица весов W имеет большое собственное значение, то при умножении этого значения на градиенты потерь происходит экспоненциальный рост величины градиентов.
▪️Исчезающий градиент
Это проблема, обратная предыдущей. Градиенты функции потерь наоборот становятся слишком маленькими, близкими к нулю, и веса нейросети в принципе перестают обновляться. При таких условиях качество работы модели не растёт.
Почему это происходит?
Исчезающий градиент возникает, когда произведение частных производных функции активации и весов на каждом слое меньше единицы. В этом случае градиенты уменьшаются экспоненциально по мере прохождения через каждый слой сети. В конечном итоге, градиенты становятся настолько малыми, что обновления весов практически не происходят.
#машинное_обучение
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что вы знаете о координатном спуске?
Внимание, не нужно путать это с градиентным спуском. Хотя оба являются методами оптимизации и позволяют минимизировать функцию.
Различие заключается в том, что координатному спуску не нужно вычислять градиенты целевой функции. Вместо этого он последовательно обновляет значения одной переменной за раз, фиксируя остальные. Это позволяет методу координатного спуска быть простым в реализации.
В общем случае алгоритм выглядит так:
▫️Проводится инициализация некоторым значением x_0
▫️Затем фиксируются значения всех переменных кроме x_i, — так получается одномерная функция f(x_i). Проводится одномерная оптимизация по переменной x_i любым методом одномерной оптимизации. Если выполнен критерий останова, то возвращается текущее значение x. Это повторяется для i=1…n.
#машинное_обучение
Внимание, не нужно путать это с градиентным спуском. Хотя оба являются методами оптимизации и позволяют минимизировать функцию.
Различие заключается в том, что координатному спуску не нужно вычислять градиенты целевой функции. Вместо этого он последовательно обновляет значения одной переменной за раз, фиксируя остальные. Это позволяет методу координатного спуска быть простым в реализации.
В общем случае алгоритм выглядит так:
▫️Проводится инициализация некоторым значением x_0
▫️Затем фиксируются значения всех переменных кроме x_i, — так получается одномерная функция f(x_i). Проводится одномерная оптимизация по переменной x_i любым методом одномерной оптимизации. Если выполнен критерий останова, то возвращается текущее значение x. Это повторяется для i=1…n.
#машинное_обучение
Каковы главные преимущества архитектуры Transformer?
Будем опираться на статью Attention is all you need, в которой впервые описали архитектуру Transformers.
▪️Использование механизма внимания
Это позволяет моделировать зависимости между элементами последовательности независимо от расстояния между ними. Такой подход помогает модели лучше учитывать контекст.
▪️Параллелизация обучения
Благодаря отказу от рекуррентной архитектуры, Transformer позволяет параллелизовать вычисления. Это достигается за счёт использования mulithead механизма внимания, который обрабатывает все элементы последовательности одновременно.
▪️Универсальность
Transformer показала высокую эффективность не только в задачах машинного перевода, но и в других. Это говорит о её хорошей способности к обобщению на разные типы задач.
#глубокое_обучение
Будем опираться на статью Attention is all you need, в которой впервые описали архитектуру Transformers.
▪️Использование механизма внимания
Это позволяет моделировать зависимости между элементами последовательности независимо от расстояния между ними. Такой подход помогает модели лучше учитывать контекст.
▪️Параллелизация обучения
Благодаря отказу от рекуррентной архитектуры, Transformer позволяет параллелизовать вычисления. Это достигается за счёт использования mulithead механизма внимания, который обрабатывает все элементы последовательности одновременно.
▪️Универсальность
Transformer показала высокую эффективность не только в задачах машинного перевода, но и в других. Это говорит о её хорошей способности к обобщению на разные типы задач.
#глубокое_обучение
Напишите функцию для вычисления евклидова расстояния
Вот две точки для примера:
Решение:
#python
#программирование
Вот две точки для примера:
plot1 = [1,3]
plot2 = [2,5]
Решение:
def euclidean_dist(point1, point2):
return ((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)**0.5
point1, point2 = [1, 3], [2, 5]
print(euclidean_dist(point1, point2)) # -> 2.23606797749979
#python
#программирование
Какой из перечисленных алгоритмов может быть использован для заполнения пропущенных значений как категориальных, так и непрерывных переменных?
Anonymous Quiz
16%
K-means кластеризация
18%
Линейная регрессия
66%
K-ближайших соседей (KNN)
Что такое TF-IDF?
TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки значимости слова в документе относительно всех других документов в коллекции или корпусе. TF-IDF сочетает два значения:
🔷 TF (Частота слова)
Это число, показывающее, сколько раз слово встречается в документе. Чем чаще, тем слово важнее в контексте этого документа.
🔷 IDF (Обратная частота документа)
Это мера, которая уменьшает вес слов, часто встречающихся во всём корпусе документов. Чем реже слово встречается во всём корпусе, тем больше его вклад в IDF.
Значение TF-IDF рассчитывается как произведение TF и IDF. На основе TF-IDF значений слов можно построить векторы документов.
#NLP
TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки значимости слова в документе относительно всех других документов в коллекции или корпусе. TF-IDF сочетает два значения:
🔷 TF (Частота слова)
Это число, показывающее, сколько раз слово встречается в документе. Чем чаще, тем слово важнее в контексте этого документа.
🔷 IDF (Обратная частота документа)
Это мера, которая уменьшает вес слов, часто встречающихся во всём корпусе документов. Чем реже слово встречается во всём корпусе, тем больше его вклад в IDF.
Значение TF-IDF рассчитывается как произведение TF и IDF. На основе TF-IDF значений слов можно построить векторы документов.
#NLP
Что такое токенизация?
Токенизация в контексте обработки естественного языка — это процесс разделения текста на составные части. Такими составными частями могут быть слова, небольшие словосочетания или даже слоги.
Зачем нам это нужно? Токенизация позволяет перевести текст в формат, удобный для дальнейшего анализа и обработки. Токены можно преобразовать в числовые векторы, что необходимо для моделей машинного обучения. Примеры таких методов — мешок слов (Bag of Words), TF-IDF и векторные представления слов (word embeddings).
Кроме того, токенизация помогает выделить основу слова и его морфологические признаки (окончания, префиксы и т.д.), что полезно для задач, связанных с морфологическим анализом.
#NLP
Токенизация в контексте обработки естественного языка — это процесс разделения текста на составные части. Такими составными частями могут быть слова, небольшие словосочетания или даже слоги.
Зачем нам это нужно? Токенизация позволяет перевести текст в формат, удобный для дальнейшего анализа и обработки. Токены можно преобразовать в числовые векторы, что необходимо для моделей машинного обучения. Примеры таких методов — мешок слов (Bag of Words), TF-IDF и векторные представления слов (word embeddings).
Кроме того, токенизация помогает выделить основу слова и его морфологические признаки (окончания, префиксы и т.д.), что полезно для задач, связанных с морфологическим анализом.
#NLP
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
Что такое мультиколлинеарность?
Мультиколлинеарность возникает, когда две или более независимые переменные в модели сильно коррелированы между собой. Это означает, что между ними велика степень линейной связи.
Наличие мультиколлинеарности может приводить к проблемам:
▪️Коэффициенты регрессии становятся нестабильны. То есть небольшие изменения в данных могут сильно изменить значения коэффициентов.
▪️Коэффициенты становится сложнее интерпретировать.
▪️Могут увеличиваться стандартные ошибки оценок коэффициентов, что снижает точность и статистическую значимость предсказаний модели.
#машинное_обучение
Мультиколлинеарность возникает, когда две или более независимые переменные в модели сильно коррелированы между собой. Это означает, что между ними велика степень линейной связи.
Наличие мультиколлинеарности может приводить к проблемам:
▪️Коэффициенты регрессии становятся нестабильны. То есть небольшие изменения в данных могут сильно изменить значения коэффициентов.
▪️Коэффициенты становится сложнее интерпретировать.
▪️Могут увеличиваться стандартные ошибки оценок коэффициентов, что снижает точность и статистическую значимость предсказаний модели.
#машинное_обучение
Что бы вы стали делать с пропусками во временных рядах?
На выбор метода заполнения пропусков будет влиять такая характеристика ряда, как стационарность. Соответственно, это первое, что мы должны определить.
В целом, подходов к заполнению пропусков несколько:
▪️Заполнение средним и медианой.
Это простые методы, которые позволяют быстро и эффективно заполнить пропуски, но могут внести искажения, особенно если ряд имеет тренд или сезонность.
▪️Заполнение предыдущим и последующим значениями.
Метод last observation carried forward (LOCF) заполняет пропуски предыдущими значениями, а метод next observation carried backward (NOCB) — последующими.
▪️ Заполнение скользящим средним и медианой.
В этом методе используются несколько предыдущих и последующих значений для вычисления среднего или медианы. Это позволяет сгладить данные и уменьшить влияние случайных выбросов.
▪️Интерполяция.
Этот метод подходит для рядов с трендом. Существует несколько способов интерполяции:
- Линейная, когда строится прямая линия между двумя соседними точками.
- Полиномиальная, когда используется полином для прохождения через все известные точки.
- Сплайн, когда применяется кусочно-заданная функция из нескольких полиномов.
▪️Заполнение с сезонной корректировкой.
Этот метод используется для нестационарных рядов. Временной ряд разлагается на компоненты, интерполяция применяется к тренду и случайным колебаниям, после чего добавляется сезонность.
#машинное_обучение
На выбор метода заполнения пропусков будет влиять такая характеристика ряда, как стационарность. Соответственно, это первое, что мы должны определить.
В целом, подходов к заполнению пропусков несколько:
▪️Заполнение средним и медианой.
Это простые методы, которые позволяют быстро и эффективно заполнить пропуски, но могут внести искажения, особенно если ряд имеет тренд или сезонность.
▪️Заполнение предыдущим и последующим значениями.
Метод last observation carried forward (LOCF) заполняет пропуски предыдущими значениями, а метод next observation carried backward (NOCB) — последующими.
▪️ Заполнение скользящим средним и медианой.
В этом методе используются несколько предыдущих и последующих значений для вычисления среднего или медианы. Это позволяет сгладить данные и уменьшить влияние случайных выбросов.
▪️Интерполяция.
Этот метод подходит для рядов с трендом. Существует несколько способов интерполяции:
- Линейная, когда строится прямая линия между двумя соседними точками.
- Полиномиальная, когда используется полином для прохождения через все известные точки.
- Сплайн, когда применяется кусочно-заданная функция из нескольких полиномов.
▪️Заполнение с сезонной корректировкой.
Этот метод используется для нестационарных рядов. Временной ряд разлагается на компоненты, интерполяция применяется к тренду и случайным колебаниям, после чего добавляется сезонность.
#машинное_обучение
Какие бывают типы данных?
Классификацию можно начать с того, чтобы выделить две большие группы: категориальные данные и количественные данные.
▪️Категориальные данные
Они описывают принадлежность объекта к определённой группе. В свою очередь делятся на два вида: номинальные и порядковые.
▫️Номинальные.
Такие данные не могут быть упорядочены, поэтому их сравнение не имеет смысла. В качестве примера могут служить цвета, города, пол и т.д.
▫️Порядковые.
Таким данным свойственна внутренняя иерархия, их можно проранжировать. Это могут быть оценки (плохо, удовлетворительно, хорошо, отлично), позиции в соревнованиях (первое место, второе место, третье место), уровень образования (начальное, среднее, высшее).
▪️Количественные данные
Их также называют числовыми. Могут быть дискретными и непрерывными.
▫️Дискретные.
Принимают строго определённые значения. Это может быть количество бракованных деталей в произведённой партии.
▫️Непрерывные.
Эти данные могут принимать любое значение в пределах определённого диапазона и не имеют конечной точности измерений. В качестве примера могут служить рост человека (170.5 см, 182.3 см, 165.2 см), время выполнения задачи (2.5 часа, 3.7 часа, 1.2 часа).
#анализ_данных
Классификацию можно начать с того, чтобы выделить две большие группы: категориальные данные и количественные данные.
▪️Категориальные данные
Они описывают принадлежность объекта к определённой группе. В свою очередь делятся на два вида: номинальные и порядковые.
▫️Номинальные.
Такие данные не могут быть упорядочены, поэтому их сравнение не имеет смысла. В качестве примера могут служить цвета, города, пол и т.д.
▫️Порядковые.
Таким данным свойственна внутренняя иерархия, их можно проранжировать. Это могут быть оценки (плохо, удовлетворительно, хорошо, отлично), позиции в соревнованиях (первое место, второе место, третье место), уровень образования (начальное, среднее, высшее).
▪️Количественные данные
Их также называют числовыми. Могут быть дискретными и непрерывными.
▫️Дискретные.
Принимают строго определённые значения. Это может быть количество бракованных деталей в произведённой партии.
▫️Непрерывные.
Эти данные могут принимать любое значение в пределах определённого диапазона и не имеют конечной точности измерений. В качестве примера могут служить рост человека (170.5 см, 182.3 см, 165.2 см), время выполнения задачи (2.5 часа, 3.7 часа, 1.2 часа).
#анализ_данных
👾 Дуэт для старта в Data Science
Когда все казалось потерянным и надежда на карьеру в DS и аналитики исчезала. Он часами изучал возможности, но так и не находил выхода.
Но появилась она, с предложением, которое изменит всё…
...до 30 июня курс по математике за полцены и курс по Machine Learning в подарок
🛍 14 990 ₽ (вместо 29 990 ₽)🛍
Что ждёт вас на курсе:
⭐️ Полугодовая программа от преподавателей ВМК МГУ
⭐️ 47 видеолекций и 150 практических заданий
⭐️ Бессрочный доступ ко всем материалам курса
⭐️ Развернутая обратная связь по всем домашним заданиям и ссылки на полезные дополнительные материалы
🫶 Воспользуйтесь шансом, чтобы начать свой путь в Data Science – https://proglib.io/w/2cb0a5bd
Когда все казалось потерянным и надежда на карьеру в DS и аналитики исчезала. Он часами изучал возможности, но так и не находил выхода.
Но появилась она, с предложением, которое изменит всё…
...до 30 июня курс по математике за полцены и курс по Machine Learning в подарок
Что ждёт вас на курсе:
🫶 Воспользуйтесь шансом, чтобы начать свой путь в Data Science – https://proglib.io/w/2cb0a5bd
Please open Telegram to view this post
VIEW IN TELEGRAM
Что вы знаете про правило цепи (chain rule)? Как оно используется в машинном обучении?
Как известно, во время градиентного спуска используется градиент, то есть вектор частных производных. Допустим, в этом векторе у нас есть производная функции логистической ошибки, производная сигмоиды и производная линейной функции. Что нужно, чтобы найти полную производную сложной функции?
Для этого применяется правило цепи, которое позволяет выразить производную сложной функции через произведение производных её составных частей. Отметим также, что этот процесс идёт в обратном от прямого распространения порядке: сначала производная ошибки, потом сигмоиды третьего слоя, затем линейной функции второго. Именно поэтому процесс называется обратным распространением ошибки (error back propagation).
#математика
#машинное_обучение
Как известно, во время градиентного спуска используется градиент, то есть вектор частных производных. Допустим, в этом векторе у нас есть производная функции логистической ошибки, производная сигмоиды и производная линейной функции. Что нужно, чтобы найти полную производную сложной функции?
Для этого применяется правило цепи, которое позволяет выразить производную сложной функции через произведение производных её составных частей. Отметим также, что этот процесс идёт в обратном от прямого распространения порядке: сначала производная ошибки, потом сигмоиды третьего слоя, затем линейной функции второго. Именно поэтому процесс называется обратным распространением ошибки (error back propagation).
#математика
#машинное_обучение
Вы можете коротко рассказать, как онлайн-кинотеатры подбирают нам кино на вечер?
Онлайн-кинотеатры используют рекомендательные системы для подбора фильмов на основе предпочтений пользователей. Существует три основных типа рекомендательных систем:
▪️Фильтрация по популярности.
В такой системе рекомендуются фильмы с высоким рейтингом, без учета индивидуальных предпочтений.
▪️Фильтрация на основе содержания.
Система анализирует фильмы, которые пользователь смотрел ранее, и предлагает похожие фильмы (например, по жанру или актерам).
▪️Коллаборативная фильтрация.
Система находит пользователей с похожими вкусами и рекомендует фильмы, которые понравились им. Существует два вида коллаборативной фильтрации:
▫️User-based — рекомендации на основе предпочтений похожих пользователей.
▫️Item-based — рекомендации на основе сходства фильмов. Сходство определяется на базе предпочтений всех пользователей, которые оставили свои оценки.
Для коллаборативной фильтрации часто используется алгоритм k-ближайших соседей (KNN) для определения сходства между фильмами или пользователями.
🔹Пример работы системы:
▪️Создаётся матрица предпочтений пользователей и фильмов.
▪️Используется алгоритм KNN для нахождения ближайших соседей.
▪️Подбираются фильмы с наибольшим сходством с уже просмотренными фильмами.
Так, если вы посмотрели фильм «Матрица», система может порекомендовать другие фильмы с Киану Ривзом или в жанре научной фантастики.
#машинное_обучение
Онлайн-кинотеатры используют рекомендательные системы для подбора фильмов на основе предпочтений пользователей. Существует три основных типа рекомендательных систем:
▪️Фильтрация по популярности.
В такой системе рекомендуются фильмы с высоким рейтингом, без учета индивидуальных предпочтений.
▪️Фильтрация на основе содержания.
Система анализирует фильмы, которые пользователь смотрел ранее, и предлагает похожие фильмы (например, по жанру или актерам).
▪️Коллаборативная фильтрация.
Система находит пользователей с похожими вкусами и рекомендует фильмы, которые понравились им. Существует два вида коллаборативной фильтрации:
▫️User-based — рекомендации на основе предпочтений похожих пользователей.
▫️Item-based — рекомендации на основе сходства фильмов. Сходство определяется на базе предпочтений всех пользователей, которые оставили свои оценки.
Для коллаборативной фильтрации часто используется алгоритм k-ближайших соседей (KNN) для определения сходства между фильмами или пользователями.
🔹Пример работы системы:
▪️Создаётся матрица предпочтений пользователей и фильмов.
▪️Используется алгоритм KNN для нахождения ближайших соседей.
▪️Подбираются фильмы с наибольшим сходством с уже просмотренными фильмами.
Так, если вы посмотрели фильм «Матрица», система может порекомендовать другие фильмы с Киану Ривзом или в жанре научной фантастики.
#машинное_обучение