В каких задачах и при использовании каких алгоритмов возникает «проблема мультиколлинеарности»?
Ответ
Мультиколлинеарность - два признака называются мультиколлинеарными, если два признака сильно коррелированы/зависимы. Изменения в одном признаке влекут за собой изменения в другом признаке.
Мультиколлинеарность влияет на алгоритмы линейной регрессии, логистической регрессии, KNN и Наивного Байеса.
======================
Линейная регрессия - из-за мультиколлинеарности линейная регрессия дает неверные результаты, и производительность модели снижается.
Это может уменьшить общий коэффициент, а также значение p (известное как значение значимости) и вызвать непредсказуемую дисперсию. Это приведет к переобучению, когда модель может отлично работать на известном тренировочном наборе, но потерпит неудачу на неизвестном наборе тестов. Поскольку это приводит к более высокой стандартной ошибке с более низким значением статистической значимости, мультиколлинеарность затрудняет определение того, насколько важен признак для целевой переменной. А при более низком значении значимости невозможно отклонить нулевое значение и приведет к ошибке второго рода для проверки нашей гипотезы.
=======================
Логистическая регрессия. Логистическая регрессия — это обобщенная линейная модель регрессии, на которую также влияет мультиколлинеарность.
=======================
KNN - из-за мультиколлинеарности точки становятся очень близкими, дают неверные результаты, и это влияет на производительность.
=======================
Наивный байесовский подход — основное предположение NB состоит в том, что признаки независимы. если функции коррелированы, предположение будет ошибочным.
=======================
На мой взляд, попытка решать любую задачу в предметной области указанными методами создает потенциальную угрозу мультиколлинеарности.
@machinelearning_interview
Ответ
Мультиколлинеарность - два признака называются мультиколлинеарными, если два признака сильно коррелированы/зависимы. Изменения в одном признаке влекут за собой изменения в другом признаке.
Мультиколлинеарность влияет на алгоритмы линейной регрессии, логистической регрессии, KNN и Наивного Байеса.
======================
Линейная регрессия - из-за мультиколлинеарности линейная регрессия дает неверные результаты, и производительность модели снижается.
Это может уменьшить общий коэффициент, а также значение p (известное как значение значимости) и вызвать непредсказуемую дисперсию. Это приведет к переобучению, когда модель может отлично работать на известном тренировочном наборе, но потерпит неудачу на неизвестном наборе тестов. Поскольку это приводит к более высокой стандартной ошибке с более низким значением статистической значимости, мультиколлинеарность затрудняет определение того, насколько важен признак для целевой переменной. А при более низком значении значимости невозможно отклонить нулевое значение и приведет к ошибке второго рода для проверки нашей гипотезы.
=======================
Логистическая регрессия. Логистическая регрессия — это обобщенная линейная модель регрессии, на которую также влияет мультиколлинеарность.
=======================
KNN - из-за мультиколлинеарности точки становятся очень близкими, дают неверные результаты, и это влияет на производительность.
=======================
Наивный байесовский подход — основное предположение NB состоит в том, что признаки независимы. если функции коррелированы, предположение будет ошибочным.
=======================
На мой взляд, попытка решать любую задачу в предметной области указанными методами создает потенциальную угрозу мультиколлинеарности.
@machinelearning_interview
Нужно ли увеличивать размер ядра свертки, чтобы улучшить эффект сверточной нейронной сети?
Ядро большего размера может упустить из виду функции и пропустить важные детали в изображениях, тогда как ядро меньшего размера может предоставить больше информации, что приведет к большей путанице. Таким образом, необходимо определить наиболее подходящий размер ядра/фильтра.
==============
Сверточные нейронные сети работают на двух предположениях:
Функции низкого уровня являются локальными. То, что полезно в одном месте, будет полезно и в других местах. Размер ядра должен определяться тем, насколько сильно мы верим в эти предположения для рассматриваемой проблемы. В одном крайнем случае, когда у нас есть ядра 1x1, мы, по сути, говорим, что функции низкого уровня являются попиксельными, и они вообще не влияют на соседние пиксели, и что мы должны применить одну и ту же операцию ко всем пикселям. С другой стороны, у нас есть ядра размером с весь образ. В этом случае CNN по существу становится полностью подключенным и перестает быть CNN, и мы больше не делаем никаких предположений о локальности объектов низкого уровня.
===============
На практике это часто делается, просто пробуя несколько размеров ядра и наблюдая, какой из них работает лучше всего.
@machinelearning_interview
Ядро большего размера может упустить из виду функции и пропустить важные детали в изображениях, тогда как ядро меньшего размера может предоставить больше информации, что приведет к большей путанице. Таким образом, необходимо определить наиболее подходящий размер ядра/фильтра.
==============
Сверточные нейронные сети работают на двух предположениях:
Функции низкого уровня являются локальными. То, что полезно в одном месте, будет полезно и в других местах. Размер ядра должен определяться тем, насколько сильно мы верим в эти предположения для рассматриваемой проблемы. В одном крайнем случае, когда у нас есть ядра 1x1, мы, по сути, говорим, что функции низкого уровня являются попиксельными, и они вообще не влияют на соседние пиксели, и что мы должны применить одну и ту же операцию ко всем пикселям. С другой стороны, у нас есть ядра размером с весь образ. В этом случае CNN по существу становится полностью подключенным и перестает быть CNN, и мы больше не делаем никаких предположений о локальности объектов низкого уровня.
===============
На практике это часто делается, просто пробуя несколько размеров ядра и наблюдая, какой из них работает лучше всего.
@machinelearning_interview
Как можно ускорить сходимость в градиентных методах настройки нейронных сетей?
Ответ
Задача оптимизатора — сделать функцию потерь как можно меньше, чтобы найти подходящие параметры для выполнения определенной задачи. В настоящее время основными оптимизаторами, используемыми при обучении моделей, являются SGD, RMSProp, Adam, AdaDelt и так далее. Оптимизаторы SGD с импульсом широко используются в научных кругах и промышленности, поэтому большинство выпускаемых моделей обучаются с помощью оптимизатора SGD с импульсом. Но у SGD-оптимизатора с импульсом есть два недостатка: во-первых, скорость сходимости низкая, во-вторых, трудно установить начальную скорость обучения, однако, если начальная скорость обучения установлена
правильно, а модели обучены в достаточном количестве итераций. , модели, обученные SGD с помощью импульса, могут достигать более высокой точности по сравнению с моделями, обученными другими оптимизаторами. Некоторые другие оптимизаторы с адаптивной скоростью обучения, такие как Adam, RMSProp и т. д., стремятся сходиться быстрее, но окончательная точность сходимости будет немного хуже.
==========================
Концепция скорости обучения: скорость обучения — это гиперпараметр для управления скоростью обучения, чем ниже скорость обучения, тем медленнее изменяется значение потерь, хотя использование низкой скорости обучения может гарантировать, что вы не пропустите ни один локальный минимум, но это также означает, что скорость конвергенции медленная, особенно когда градиент попадает в область градиентного плато.
=========================
Нейронные сети глубокого обучения обучаются с использованием алгоритма стохастического градиентного спуска.
Стохастический градиентный спуск — это алгоритм оптимизации, который оценивает градиент ошибки для текущего состояния модели, используя примеры из обучающего набора данных, а затем обновляет веса модели, используя алгоритм обратного распространения ошибок, называемый просто обратным распространением.
Величина, на которую веса обновляются во время обучения, называется размером шага или «скоростью обучения».
============================
Задача обучения нейронных сетей глубокого обучения заключается в тщательном выборе скорости обучения. Это может быть самый важный гиперпараметр для модели.
Стратегия снижения скорости обучения: Во время обучения, если мы всегда используем одну и ту же скорость обучения, мы не можем получить модель с максимальной точностью, поэтому скорость обучения следует регулировать во время обучения. На ранней стадии обучения веса находятся в состоянии случайной инициализации, а градиенты имеют тенденцию к снижению, поэтому мы можем установить относительно большую скорость обучения для более быстрой сходимости. На поздней стадии обучения веса близки к оптимальным значениям, оптимальное значение не может быть достигнуто при относительно большой скорости обучения, поэтому следует использовать относительно меньшую скорость обучения. Во время обучения многие исследователи используют стратегию снижения скорости обучения piecewise_decay, которая представляет собой пошаговое снижение скорости обучения. Например, при обучении ResNet50 начальная скорость обучения, которую установили, равна 0,1, и скорость обучения падает до 1/10 каждые 30 эпох, общее количество эпох для обучения равно 120. Помимо кусочного_распада, многие исследователи также предлагали другие способы уменьшить скорость обучения, например, polynomial_decay, exponential_decay и cosine_decay и т. д.
ResNet50 — это вариант модели ResNet, который имеет 48 слоев свертки, а также 1 слой MaxPool и 1 средний пул. Он имеет 3,8 x 10 ^ 9 операций с плавающей запятой. Это широко используемая модель ResNet и ее архитектура хорошо известна.
Смотри также https://informatics-ege.blogspot.com/2022/06/deep-learning-neural-networks-trained.html
➡️ Подробнее
@machinelearning_interview
Ответ
Задача оптимизатора — сделать функцию потерь как можно меньше, чтобы найти подходящие параметры для выполнения определенной задачи. В настоящее время основными оптимизаторами, используемыми при обучении моделей, являются SGD, RMSProp, Adam, AdaDelt и так далее. Оптимизаторы SGD с импульсом широко используются в научных кругах и промышленности, поэтому большинство выпускаемых моделей обучаются с помощью оптимизатора SGD с импульсом. Но у SGD-оптимизатора с импульсом есть два недостатка: во-первых, скорость сходимости низкая, во-вторых, трудно установить начальную скорость обучения, однако, если начальная скорость обучения установлена
правильно, а модели обучены в достаточном количестве итераций. , модели, обученные SGD с помощью импульса, могут достигать более высокой точности по сравнению с моделями, обученными другими оптимизаторами. Некоторые другие оптимизаторы с адаптивной скоростью обучения, такие как Adam, RMSProp и т. д., стремятся сходиться быстрее, но окончательная точность сходимости будет немного хуже.
==========================
Концепция скорости обучения: скорость обучения — это гиперпараметр для управления скоростью обучения, чем ниже скорость обучения, тем медленнее изменяется значение потерь, хотя использование низкой скорости обучения может гарантировать, что вы не пропустите ни один локальный минимум, но это также означает, что скорость конвергенции медленная, особенно когда градиент попадает в область градиентного плато.
=========================
Нейронные сети глубокого обучения обучаются с использованием алгоритма стохастического градиентного спуска.
Стохастический градиентный спуск — это алгоритм оптимизации, который оценивает градиент ошибки для текущего состояния модели, используя примеры из обучающего набора данных, а затем обновляет веса модели, используя алгоритм обратного распространения ошибок, называемый просто обратным распространением.
Величина, на которую веса обновляются во время обучения, называется размером шага или «скоростью обучения».
============================
Задача обучения нейронных сетей глубокого обучения заключается в тщательном выборе скорости обучения. Это может быть самый важный гиперпараметр для модели.
Стратегия снижения скорости обучения: Во время обучения, если мы всегда используем одну и ту же скорость обучения, мы не можем получить модель с максимальной точностью, поэтому скорость обучения следует регулировать во время обучения. На ранней стадии обучения веса находятся в состоянии случайной инициализации, а градиенты имеют тенденцию к снижению, поэтому мы можем установить относительно большую скорость обучения для более быстрой сходимости. На поздней стадии обучения веса близки к оптимальным значениям, оптимальное значение не может быть достигнуто при относительно большой скорости обучения, поэтому следует использовать относительно меньшую скорость обучения. Во время обучения многие исследователи используют стратегию снижения скорости обучения piecewise_decay, которая представляет собой пошаговое снижение скорости обучения. Например, при обучении ResNet50 начальная скорость обучения, которую установили, равна 0,1, и скорость обучения падает до 1/10 каждые 30 эпох, общее количество эпох для обучения равно 120. Помимо кусочного_распада, многие исследователи также предлагали другие способы уменьшить скорость обучения, например, polynomial_decay, exponential_decay и cosine_decay и т. д.
ResNet50 — это вариант модели ResNet, который имеет 48 слоев свертки, а также 1 слой MaxPool и 1 средний пул. Он имеет 3,8 x 10 ^ 9 операций с плавающей запятой. Это широко используемая модель ResNet и ее архитектура хорошо известна.
Смотри также https://informatics-ege.blogspot.com/2022/06/deep-learning-neural-networks-trained.html
➡️ Подробнее
@machinelearning_interview
Можно ли сказать, что машинное обучение - это автоматизация обработки данных?
Ответ : ML - это одна из фаз автоматизированной обработки данных
=========================
Обработка данных - это задача преобразования данных из заданной формы в гораздо более удобную и желаемую форму, то есть сделать ее более значимой и информативной.
========================
Используя алгоритмы машинного обучения, математическое моделирование и статистические знания, весь этот процесс можно автоматизировать.
========================
Результат этого полного процесса может быть в любой желаемой форме, такой как графики, видео, диаграммы, таблицы, изображения и многое другое, в зависимости от задачи, которую мы выполняем, и требований машины. Это может показаться простым, но когда дело касается крупных организаций, таких как Twitter, Facebook, административных органов, таких как парламент, ЮНЕСКО, и организаций сектора здравоохранения, весь этот процесс должен выполняться в очень структурированной манере.
Сбор:
===========
Самый важный шаг при запуске машинного обучения - получение данных хорошего качества и точности. Данные могут быть собраны из любого аутентифицированного источника, такого как data.gov.in, Kaggle или репозиторий наборов данных UCI. Например, при подготовке к конкурсному экзамену студенты изучают лучшие учебные материалы, к которым они могут получить доступ, чтобы они усваивали лучшее для получения наилучших результатов. Точно так же высококачественные и точные данные сделают процесс изучения модели проще и лучше, а во время тестирования модель будет давать самые современные результаты.
На сбор данных уходит огромное количество капитала, времени и ресурсов. Организации или исследователи должны решить, какие данные им нужны для выполнения своих задач или исследований.Пример: при работе с распознавателем выражений лица требуется множество изображений с различными человеческими выражениями. Хорошие данные гарантируют, что результаты модели верны и им можно доверять.
Подготовка :
===========
Собранные данные могут быть в необработанном виде, которые нельзя напрямую передать в машину. Итак, это процесс сбора наборов данных из разных источников, анализа этих наборов данных и последующего создания нового набора данных для дальнейшей обработки и исследования. Эта подготовка может быть выполнена вручную или в автоматическом режиме. Данные также могут быть подготовлены в числовой форме, что ускорит изучение модели.
Пример: изображение можно преобразовать в матрицу размером N X N, значение каждой ячейки будет указывать пиксель изображения.
Вход :
==========
Теперь подготовленные данные могут быть в форме, которая не может быть машиночитаемой, поэтому для преобразования этих данных в читаемую форму необходимы некоторые алгоритмы преобразования. Для выполнения этой задачи необходимы высокая точность вычислений. Пример: данные могут быть собраны из таких источников, как данные MNIST Digit (изображения), комментарии Twitter, аудиофайлы, видеоклипы.
Обработка :
==========
Это этап, на котором требуются алгоритмы и методы машинного обучения для выполнения инструкций, предоставленных для большого объема данных с точностью и оптимальным расчетом.
Выход :
На этом этапе машина получает результат осмысленным образом, который может быть легко выведен пользователем. Вывод может быть в виде отчетов, графиков, видео и т. д.
Место хранения :
Это последний шаг, на котором полученные выходные данные, данные модели данных и вся полезная информация сохраняются для использования в будущем
@machinelearning_interview
Ответ : ML - это одна из фаз автоматизированной обработки данных
=========================
Обработка данных - это задача преобразования данных из заданной формы в гораздо более удобную и желаемую форму, то есть сделать ее более значимой и информативной.
========================
Используя алгоритмы машинного обучения, математическое моделирование и статистические знания, весь этот процесс можно автоматизировать.
========================
Результат этого полного процесса может быть в любой желаемой форме, такой как графики, видео, диаграммы, таблицы, изображения и многое другое, в зависимости от задачи, которую мы выполняем, и требований машины. Это может показаться простым, но когда дело касается крупных организаций, таких как Twitter, Facebook, административных органов, таких как парламент, ЮНЕСКО, и организаций сектора здравоохранения, весь этот процесс должен выполняться в очень структурированной манере.
Сбор:
===========
Самый важный шаг при запуске машинного обучения - получение данных хорошего качества и точности. Данные могут быть собраны из любого аутентифицированного источника, такого как data.gov.in, Kaggle или репозиторий наборов данных UCI. Например, при подготовке к конкурсному экзамену студенты изучают лучшие учебные материалы, к которым они могут получить доступ, чтобы они усваивали лучшее для получения наилучших результатов. Точно так же высококачественные и точные данные сделают процесс изучения модели проще и лучше, а во время тестирования модель будет давать самые современные результаты.
На сбор данных уходит огромное количество капитала, времени и ресурсов. Организации или исследователи должны решить, какие данные им нужны для выполнения своих задач или исследований.Пример: при работе с распознавателем выражений лица требуется множество изображений с различными человеческими выражениями. Хорошие данные гарантируют, что результаты модели верны и им можно доверять.
Подготовка :
===========
Собранные данные могут быть в необработанном виде, которые нельзя напрямую передать в машину. Итак, это процесс сбора наборов данных из разных источников, анализа этих наборов данных и последующего создания нового набора данных для дальнейшей обработки и исследования. Эта подготовка может быть выполнена вручную или в автоматическом режиме. Данные также могут быть подготовлены в числовой форме, что ускорит изучение модели.
Пример: изображение можно преобразовать в матрицу размером N X N, значение каждой ячейки будет указывать пиксель изображения.
Вход :
==========
Теперь подготовленные данные могут быть в форме, которая не может быть машиночитаемой, поэтому для преобразования этих данных в читаемую форму необходимы некоторые алгоритмы преобразования. Для выполнения этой задачи необходимы высокая точность вычислений. Пример: данные могут быть собраны из таких источников, как данные MNIST Digit (изображения), комментарии Twitter, аудиофайлы, видеоклипы.
Обработка :
==========
Это этап, на котором требуются алгоритмы и методы машинного обучения для выполнения инструкций, предоставленных для большого объема данных с точностью и оптимальным расчетом.
Выход :
На этом этапе машина получает результат осмысленным образом, который может быть легко выведен пользователем. Вывод может быть в виде отчетов, графиков, видео и т. д.
Место хранения :
Это последний шаг, на котором полученные выходные данные, данные модели данных и вся полезная информация сохраняются для использования в будущем
@machinelearning_interview
На ваш взгляд, что более важно при разработке модели машинного обучения: производительность модели или её точность?
Ответ
По моему мнению, точность - самая важная характеристика модели машинного обучения и искусственного интеллекта. Когда мы обсуждаем производительность модели, нам нужно сначала уточнить, является ли это производительностью обучения модели или производительностью оценки модели? Производительность модели можно улучшить с помощью распределенных вычислений и распараллеливания оцениваемых активов, тогда как точность должна быть тщательно повышена в процессе обучения модели. Часто, когда мы сравниваем время вычислений для обучения модели с временем вычисления оценки той же модели, последнее оказывается на несколько порядков меньше. Кроме того, после того, как модели развернуты в работе, обычно (пере) обучение модели выполняется гораздо реже, чем оценка результатов.
Хотя это может и зависить от конкретной цели, доминирующей при принятии решения
========================================
1.Если вы имели в виду скорость, это, конечно, очень зависит от приложения. Например, при анализе медицинских изображений для определения наличия заболевания точность чрезвычайно важна, даже если модели потребуют минуты или часы, чтобы сделать прогноз.
========================================
2.Другие приложения требуют производительности в реальном времени, даже если это происходит за счет точности. Например, представьте себе машину, которая наблюдает за быстрой конвейерной лентой, несущей помидоры, где она должна отделять зеленые от красных. Хотя случайная ошибка нежелательна, успех этой машины в большей степени определяется ее способностью выдерживать ее пропускную способность.
@machinelearning_interview
Ответ
По моему мнению, точность - самая важная характеристика модели машинного обучения и искусственного интеллекта. Когда мы обсуждаем производительность модели, нам нужно сначала уточнить, является ли это производительностью обучения модели или производительностью оценки модели? Производительность модели можно улучшить с помощью распределенных вычислений и распараллеливания оцениваемых активов, тогда как точность должна быть тщательно повышена в процессе обучения модели. Часто, когда мы сравниваем время вычислений для обучения модели с временем вычисления оценки той же модели, последнее оказывается на несколько порядков меньше. Кроме того, после того, как модели развернуты в работе, обычно (пере) обучение модели выполняется гораздо реже, чем оценка результатов.
Хотя это может и зависить от конкретной цели, доминирующей при принятии решения
========================================
1.Если вы имели в виду скорость, это, конечно, очень зависит от приложения. Например, при анализе медицинских изображений для определения наличия заболевания точность чрезвычайно важна, даже если модели потребуют минуты или часы, чтобы сделать прогноз.
========================================
2.Другие приложения требуют производительности в реальном времени, даже если это происходит за счет точности. Например, представьте себе машину, которая наблюдает за быстрой конвейерной лентой, несущей помидоры, где она должна отделять зеленые от красных. Хотя случайная ошибка нежелательна, успех этой машины в большей степени определяется ее способностью выдерживать ее пропускную способность.
@machinelearning_interview
В чём отличия случайного поиска от случайного поиска с адаптацией?
Ответ
Чистый случайный поиск выбирает точки из домена независимо, и целевая функция не влияет на метод генерации следующей точки выборки. Напротив, чистый адаптивный поиск выбирает следующую точку из подмножества области со строго превосходящими значениями целевой функции. Чистый случайный поиск является экстремальным в том смысле, что итерации полностью независимы и никогда не используют предыдущую информацию для воздействия на стратегию поиска, в то время как чистый адаптивный поиск является экстремальным в противоположном смысле, потому что итерации полностью зависят друг от друга, а стратегия поиска заставляет улучшаться. по определению
Пример Python кода: https://informatics-ege.blogspot.com/2022/08/setup-scikit-multiflow-python-3104.html
@machinelearning_interview
Ответ
Чистый случайный поиск выбирает точки из домена независимо, и целевая функция не влияет на метод генерации следующей точки выборки. Напротив, чистый адаптивный поиск выбирает следующую точку из подмножества области со строго превосходящими значениями целевой функции. Чистый случайный поиск является экстремальным в том смысле, что итерации полностью независимы и никогда не используют предыдущую информацию для воздействия на стратегию поиска, в то время как чистый адаптивный поиск является экстремальным в противоположном смысле, потому что итерации полностью зависят друг от друга, а стратегия поиска заставляет улучшаться. по определению
Пример Python кода: https://informatics-ege.blogspot.com/2022/08/setup-scikit-multiflow-python-3104.html
@machinelearning_interview
Какой критерий информативности используется в алгоритме AdaBoost?
AdaBoost — это итеративный ансамблевый метод. Классификатор AdaBoost создает сильный классификатор, объединяя несколько плохо работающих классификаторов, так что вы получите сильный классификатор с высокой точностью. Основная концепция Adaboost заключается в установке весов классификаторов и обучении выборки данных на каждой итерации, чтобы обеспечить точные прогнозы необычных наблюдений. Любой алгоритм машинного обучения может использоваться в качестве базового классификатора, если он принимает веса в обучающем наборе. Adaboost должен соответствовать двум условиям:
Классификатор должен обучаться в интерактивном режиме на различных взвешенных обучающих примерах.
На каждой итерации он пытается обеспечить идеальное соответствие этим примерам, сводя к минимуму ошибку обучения.
==============================
Первоначально Adaboost случайным образом выбирает обучающую подгруппу.
Он итеративно обучает модель машинного обучения.AdaBoost, выбирая обучающий набор на основе точного прогноза последнего обучения.
Он присваивает более высокий вес неправильно классифицированным наблюдениям, чтобы в следующей итерации эти наблюдения получили высокую вероятность классификации.Кроме того, он присваивает вес обученному классификатору на каждой итерации в соответствии с точностью классификатора.Более точный классификатор получит больший вес.Этот процесс повторяется до тех пор, пока полные обучающие данные не будут соответствовать без какой-либо ошибки или пока не будет достигнуто указанное максимальное количество оценок.
Чтобы классифицировать, проведите «голосование» по всем созданным вами алгоритмам обучения.
Смотри Пайтон код алгоритма здесь https://informatics-ege.blogspot.com/2022/07/adaboost-algorithm-and-learn-adaboost.html
Ответ
@machinelearning_interview
AdaBoost — это итеративный ансамблевый метод. Классификатор AdaBoost создает сильный классификатор, объединяя несколько плохо работающих классификаторов, так что вы получите сильный классификатор с высокой точностью. Основная концепция Adaboost заключается в установке весов классификаторов и обучении выборки данных на каждой итерации, чтобы обеспечить точные прогнозы необычных наблюдений. Любой алгоритм машинного обучения может использоваться в качестве базового классификатора, если он принимает веса в обучающем наборе. Adaboost должен соответствовать двум условиям:
Классификатор должен обучаться в интерактивном режиме на различных взвешенных обучающих примерах.
На каждой итерации он пытается обеспечить идеальное соответствие этим примерам, сводя к минимуму ошибку обучения.
==============================
Первоначально Adaboost случайным образом выбирает обучающую подгруппу.
Он итеративно обучает модель машинного обучения.AdaBoost, выбирая обучающий набор на основе точного прогноза последнего обучения.
Он присваивает более высокий вес неправильно классифицированным наблюдениям, чтобы в следующей итерации эти наблюдения получили высокую вероятность классификации.Кроме того, он присваивает вес обученному классификатору на каждой итерации в соответствии с точностью классификатора.Более точный классификатор получит больший вес.Этот процесс повторяется до тех пор, пока полные обучающие данные не будут соответствовать без какой-либо ошибки или пока не будет достигнуто указанное максимальное количество оценок.
Чтобы классифицировать, проведите «голосование» по всем созданным вами алгоритмам обучения.
Смотри Пайтон код алгоритма здесь https://informatics-ege.blogspot.com/2022/07/adaboost-algorithm-and-learn-adaboost.html
Ответ
@machinelearning_interview
Что такое стохастический ЕМ-алгоритм, какова основная идея?
Ответ
Алгоритм максимизации ожидания (EM) — это способ найти оценки максимального правдоподобия для параметров модели, когда ваши данные неполны, имеют отсутствующие точки данных или имеют ненаблюдаемые (скрытые) скрытые переменные. Это итеративный способ аппроксимации функции максимального правдоподобия. Хотя оценка максимального правдоподобия может найти «наиболее подходящую» модель для набора данных, она не особенно хорошо работает для неполных наборов данных. Более сложный алгоритм EM может найти параметры модели, даже если у вас отсутствуют данные. Он работает, выбирая случайные значения для отсутствующих точек данных и используя эти предположения для оценки второго набора данных. Новые значения используются для создания лучшего предположения для первого набора, и процесс продолжается до тех пор, пока алгоритм не сойдется в фиксированной точке.
================================
Алгоритм EM находит оценки максимального правдоподобия для параметров модели, когда у вас есть неполные данные. «Е-шаг» находит вероятности для присвоения точек данных на основе набора гипотетических функций плотности вероятности; «М-шаг» обновляет исходную гипотезу новыми данными. Цикл повторяется до тех пор, пока параметры не стабилизируются.
@machinelearning_interview
Ответ
Алгоритм максимизации ожидания (EM) — это способ найти оценки максимального правдоподобия для параметров модели, когда ваши данные неполны, имеют отсутствующие точки данных или имеют ненаблюдаемые (скрытые) скрытые переменные. Это итеративный способ аппроксимации функции максимального правдоподобия. Хотя оценка максимального правдоподобия может найти «наиболее подходящую» модель для набора данных, она не особенно хорошо работает для неполных наборов данных. Более сложный алгоритм EM может найти параметры модели, даже если у вас отсутствуют данные. Он работает, выбирая случайные значения для отсутствующих точек данных и используя эти предположения для оценки второго набора данных. Новые значения используются для создания лучшего предположения для первого набора, и процесс продолжается до тех пор, пока алгоритм не сойдется в фиксированной точке.
================================
Алгоритм EM находит оценки максимального правдоподобия для параметров модели, когда у вас есть неполные данные. «Е-шаг» находит вероятности для присвоения точек данных на основе набора гипотетических функций плотности вероятности; «М-шаг» обновляет исходную гипотезу новыми данными. Цикл повторяется до тех пор, пока параметры не стабилизируются.
@machinelearning_interview
📌 Каковы области применения однофакторной логистической регрессии?
Ответ
Её можно использовать практически где угодно - в медицине, эконометрике, социологии, оценке качества продукции и т. д.
Логистическая регрессия полезна для ситуаций, в которых необходимо предсказать наличие или отсутствие характеристики или итога на основании значений набора независимых переменных. Она подобна модели линейной регрессии, но подходит для моделей, где зависимая переменная имеет два значения. Коэффициенты логистической регрессии могут использоваться для оценки отношений шансов для каждой зависимой переменной модели.
Зависимая переменная должна быть дихотомической. Независимые переменные могут быть интервальными или категориальными; у категориальных должна быть фиктивная (бинарная) или индикаторная кодировка (в процедуре есть опция автоматического перекодирования категориальных переменных).
Логистическая регрессия не требует строго нормального распределения для данных, однако оно желательно в отношении независимых переменных. Следует избегать коллинеарности предикторов, что может привести к смещенным оценкам и большим среднеквадратичным ошибкам. Процедура наиболее эффективна в ситуации, когда группирующая переменная является истинно категориальной; если принадлежность к группе определяется значениями непрерывной переменной (например, высокий IQ по сравнению с низким IQ), имеет смысл обратиться к линейной регрессии, чтобы воспользоваться преимуществом большей информативности непрерывной переменной.
Логистическая регрессия бывает двух видов: бинарная и мультиномиальная.
С помощью метода бинарной логистической регрессии можно исследовать зависимость дихотомических переменных (бинарных, имеющих лишь два возможных значения) от независимых переменных, имеющих любой вид шкалы. Как правило, в случае с дихотомическими переменными речь идёт о некотором событии, которое может произойти или не произойти; бинарная логистическая регрессия в таком случае рассчитывает вероятность наступления события в зависимости от значений независимых переменных.
При мультиномиальной логистической регрессии зависимая переменная не является дихотомической, а имеет больше двух категорий. Мультиномиальная логистическая регрессия пригодна только для категориальных независимых переменных, причём имеет значение, относятся ли они к шкале наименований или к порядковой шкале. Для независимых переменных, относящихся к порядковой шкале предпочтительнее метод порядковой регрессии. Не исключается возможность задания в качестве ковариат переменных, имеющих интервальную шкалу.
@machinelearning_interview
Ответ
Её можно использовать практически где угодно - в медицине, эконометрике, социологии, оценке качества продукции и т. д.
Логистическая регрессия полезна для ситуаций, в которых необходимо предсказать наличие или отсутствие характеристики или итога на основании значений набора независимых переменных. Она подобна модели линейной регрессии, но подходит для моделей, где зависимая переменная имеет два значения. Коэффициенты логистической регрессии могут использоваться для оценки отношений шансов для каждой зависимой переменной модели.
Зависимая переменная должна быть дихотомической. Независимые переменные могут быть интервальными или категориальными; у категориальных должна быть фиктивная (бинарная) или индикаторная кодировка (в процедуре есть опция автоматического перекодирования категориальных переменных).
Логистическая регрессия не требует строго нормального распределения для данных, однако оно желательно в отношении независимых переменных. Следует избегать коллинеарности предикторов, что может привести к смещенным оценкам и большим среднеквадратичным ошибкам. Процедура наиболее эффективна в ситуации, когда группирующая переменная является истинно категориальной; если принадлежность к группе определяется значениями непрерывной переменной (например, высокий IQ по сравнению с низким IQ), имеет смысл обратиться к линейной регрессии, чтобы воспользоваться преимуществом большей информативности непрерывной переменной.
Логистическая регрессия бывает двух видов: бинарная и мультиномиальная.
С помощью метода бинарной логистической регрессии можно исследовать зависимость дихотомических переменных (бинарных, имеющих лишь два возможных значения) от независимых переменных, имеющих любой вид шкалы. Как правило, в случае с дихотомическими переменными речь идёт о некотором событии, которое может произойти или не произойти; бинарная логистическая регрессия в таком случае рассчитывает вероятность наступления события в зависимости от значений независимых переменных.
При мультиномиальной логистической регрессии зависимая переменная не является дихотомической, а имеет больше двух категорий. Мультиномиальная логистическая регрессия пригодна только для категориальных независимых переменных, причём имеет значение, относятся ли они к шкале наименований или к порядковой шкале. Для независимых переменных, относящихся к порядковой шкале предпочтительнее метод порядковой регрессии. Не исключается возможность задания в качестве ковариат переменных, имеющих интервальную шкалу.
@machinelearning_interview
Что такое сеть радиальных базисных функций?
Сеть радиальных базисных функций - нейронная сеть прямого распространения сигнала, которая содержит промежуточный (скрытый) слой радиально симметричных нейронов. Такой нейрон преобразовывает расстояние от данного входного вектора до соответствующего ему "центра" по некоторому нелинейному закону (обычно функция Гаусса)[1]. В данной статье мы рассмотрим применение этой нейронной сети к решению задачи классификации с помощью восстановления смесей распределений (частный случай ЕМ-алгоритма
Выходом сети является линейная комбинация радиальных базисных функций входов и параметров нейрона. Сети радиальных базисных функций имеют множество применений, в том числе функции приближения, прогнозирования временных рядов, классификации и системы управления.
@machinelearning_interview
Сеть радиальных базисных функций - нейронная сеть прямого распространения сигнала, которая содержит промежуточный (скрытый) слой радиально симметричных нейронов. Такой нейрон преобразовывает расстояние от данного входного вектора до соответствующего ему "центра" по некоторому нелинейному закону (обычно функция Гаусса)[1]. В данной статье мы рассмотрим применение этой нейронной сети к решению задачи классификации с помощью восстановления смесей распределений (частный случай ЕМ-алгоритма
Выходом сети является линейная комбинация радиальных базисных функций входов и параметров нейрона. Сети радиальных базисных функций имеют множество применений, в том числе функции приближения, прогнозирования временных рядов, классификации и системы управления.
@machinelearning_interview
С какой целью делается бинаризация и в каких случаях?
Ответ
Бинаризация используется, когда вы хотите преобразовать вектор числовых признаков в логический вектор. В области обработки цифровых изображений бинаризация изображения — это процесс, посредством которого цветное изображение или изображение в градациях серого преобразуется в бинарное изображение, т. е. изображение только с двумя цветами (обычно черным и белым). Этот метод используется для распознавания объектов, форм и, в частности, символов. Благодаря бинаризации можно отличить интересующий объект от фона, на котором он находится. Функция preprocessing.Binarizer() выполняет бинарную обработку данных в соответствии с заданным порогом. Значения, превышающие пороговое значение, сопоставляются с 1, а значения, меньшие или равные пороговому значению, сопоставляются с 0. При пороговом значении по умолчанию, равном 0, только положительные значения сопоставляются с 1. В нашем случае установленное пороговое значение равно 1,4, поэтому значения, превышающие 1,4 сопоставляются с 1, а значения меньше 1,4 сопоставляются с 0.
==============================================
Фундаментальная идея этой техники заключается в проведении фиксированной демаркационной линии. Поэтому необходимо найти соответствующий порог и подтвердить, что все точки изображения, интенсивность света которых ниже определенного значения, принадлежат объекту (фону), а все точки с большей интенсивностью принадлежат фону (объекту). Бинаризация — это широко распространенная операция над данными подсчета, при которой аналитик может принять решение учитывать только наличие или отсутствие характеристики, а не количественное количество вхождений. В противном случае его можно использовать в качестве этапа предварительной обработки для оценок, учитывающих случайные булевы переменные.
Смотирите пример: https://informatics-ege.blogspot.com/2022/07/what-is-purpose-of-binarization.html
@machinelearning_interview
Ответ
Бинаризация используется, когда вы хотите преобразовать вектор числовых признаков в логический вектор. В области обработки цифровых изображений бинаризация изображения — это процесс, посредством которого цветное изображение или изображение в градациях серого преобразуется в бинарное изображение, т. е. изображение только с двумя цветами (обычно черным и белым). Этот метод используется для распознавания объектов, форм и, в частности, символов. Благодаря бинаризации можно отличить интересующий объект от фона, на котором он находится. Функция preprocessing.Binarizer() выполняет бинарную обработку данных в соответствии с заданным порогом. Значения, превышающие пороговое значение, сопоставляются с 1, а значения, меньшие или равные пороговому значению, сопоставляются с 0. При пороговом значении по умолчанию, равном 0, только положительные значения сопоставляются с 1. В нашем случае установленное пороговое значение равно 1,4, поэтому значения, превышающие 1,4 сопоставляются с 1, а значения меньше 1,4 сопоставляются с 0.
==============================================
Фундаментальная идея этой техники заключается в проведении фиксированной демаркационной линии. Поэтому необходимо найти соответствующий порог и подтвердить, что все точки изображения, интенсивность света которых ниже определенного значения, принадлежат объекту (фону), а все точки с большей интенсивностью принадлежат фону (объекту). Бинаризация — это широко распространенная операция над данными подсчета, при которой аналитик может принять решение учитывать только наличие или отсутствие характеристики, а не количественное количество вхождений. В противном случае его можно использовать в качестве этапа предварительной обработки для оценок, учитывающих случайные булевы переменные.
from sklearn import preprocessing
import numpy as np
data = np.array([[3, -1.5, 2, -5.4], [0, 4, -0.3, 2.1], [1, 3.3, -1.9, -4.3]])
print(data)
data_binarized = preprocessing.Binarizer(threshold=1.4).transform(data)
print("Done data_binarized","\n",data_binarized )
print("\n")
(.env) [boris@ServerFedora35 BINARIZE]$ python Binarize1.py
[[ 3. -1.5 2. -5.4]
[ 0. 4. -0.3 2.1]
[ 1. 3.3 -1.9 -4.3]]
Done data_binarized
[[1. 0. 1. 0.]
[0. 1. 0. 1.]
[0. 1. 0. 0.]]
Смотирите пример: https://informatics-ege.blogspot.com/2022/07/what-is-purpose-of-binarization.html
@machinelearning_interview
⚙️ 9 концепций, которые вы должны изучить для своих интервью по науке о данных
С появлением Интернета бесконечные ресурсы доступны всего одним щелчком мыши, и в результате мы можем получить доступ к любой логике и синтаксисам, которые мы ищем, но это может быть как благословением, так и проклятием. Если не использовать разумно, чрезмерная зависимость от Интернета может замедлить нас. Мы склонны чрезмерно полагаться на Интернет для простой логики и синтаксиса Python, и поэтому мы не тренируем свой мозг запоминать эти концепции. Итак, каждый раз, когда мы используем даже часто используемые синтаксисы, мы привыкаем их гуглить — это нас тормозит, и другие видят в нас дилетантов.
Итак, каково решение?
Вы ищете синтаксис/концепцию в Google первые 2-3 раза, когда вы ее используете, а затем пытаетесь реализовать ее самостоятельно на 4-й раз.
В этом блоге я познакомлю вас с некоторыми из наиболее эффективных концепций науки о данных, которые вам следует изучить, чтобы сэкономить время и стать более продуктивным специалистом по науке о данных. Если вы уже знакомы с этими концепциями, вы можете использовать этот блог, чтобы освежить свое понимание
➡️ Читать дальше
@machinelearning_interview
С появлением Интернета бесконечные ресурсы доступны всего одним щелчком мыши, и в результате мы можем получить доступ к любой логике и синтаксисам, которые мы ищем, но это может быть как благословением, так и проклятием. Если не использовать разумно, чрезмерная зависимость от Интернета может замедлить нас. Мы склонны чрезмерно полагаться на Интернет для простой логики и синтаксиса Python, и поэтому мы не тренируем свой мозг запоминать эти концепции. Итак, каждый раз, когда мы используем даже часто используемые синтаксисы, мы привыкаем их гуглить — это нас тормозит, и другие видят в нас дилетантов.
Итак, каково решение?
Вы ищете синтаксис/концепцию в Google первые 2-3 раза, когда вы ее используете, а затем пытаетесь реализовать ее самостоятельно на 4-й раз.
В этом блоге я познакомлю вас с некоторыми из наиболее эффективных концепций науки о данных, которые вам следует изучить, чтобы сэкономить время и стать более продуктивным специалистом по науке о данных. Если вы уже знакомы с этими концепциями, вы можете использовать этот блог, чтобы освежить свое понимание
➡️ Читать дальше
@machinelearning_interview
Что делать, если классы не сбалансированы?
Я бы тут уточнил вопрос: кому и когда делать? Причины дисбаланса бывают разные, иногда он устраним на этапе постановки задачи, иногда он совсем неустраним и надо продумать подходящую метрику качества, а если уже всё продумано, то часто ничего не надо делать.
Впрочем, совсем полный ответ на этот вопрос должен затронуть и особенности локального тестирования: при разбиении на фолды надо сохранять пропорцию классов, т.н. StratifiedKFold.
Есть куча искусственных приёмов для восстановления баланса классов, например SMOTE. Но как показывает практика, лучше с ними не связываться, гораздо важнее подобрать правильную модель и корректно преобразовать её результаты (например, с помощью калибровки). В крайнем случае, можно использовать пересемплирование (resampling) данных, например, дублирование объектов малого класса. Для желающих сказать побольше при ответе на этот вопрос — вот ссылка.
@machinelearning_interview
Я бы тут уточнил вопрос: кому и когда делать? Причины дисбаланса бывают разные, иногда он устраним на этапе постановки задачи, иногда он совсем неустраним и надо продумать подходящую метрику качества, а если уже всё продумано, то часто ничего не надо делать.
Впрочем, совсем полный ответ на этот вопрос должен затронуть и особенности локального тестирования: при разбиении на фолды надо сохранять пропорцию классов, т.н. StratifiedKFold.
Есть куча искусственных приёмов для восстановления баланса классов, например SMOTE. Но как показывает практика, лучше с ними не связываться, гораздо важнее подобрать правильную модель и корректно преобразовать её результаты (например, с помощью калибровки). В крайнем случае, можно использовать пересемплирование (resampling) данных, например, дублирование объектов малого класса. Для желающих сказать побольше при ответе на этот вопрос — вот ссылка.
@machinelearning_interview
Как вы обрабатываете пропуски? Какие методы подстановки вы рекомендуете?
Существует несколько способов обработки пропущенных данных:
- удаление строк с пропущенными данными;
- подстановка среднего значения, медианы или моды;
- присваивание уникального значения;
- предсказание пропущенных значений;
- использование алгоритма, допускающего пропуски – например, случайный лес.
Лучший метод – удалить строки с пропусками, поскольку это гарантирует, что мы не добавим никаких ошибок или сдвигов, и, в конечном счете, получим точную и надежную модель. Однако, этот метод можно использовать лишь в тех случаях, когда данных много, а процент пропусков невысок.
@machinelearning_interview
Существует несколько способов обработки пропущенных данных:
- удаление строк с пропущенными данными;
- подстановка среднего значения, медианы или моды;
- присваивание уникального значения;
- предсказание пропущенных значений;
- использование алгоритма, допускающего пропуски – например, случайный лес.
Лучший метод – удалить строки с пропусками, поскольку это гарантирует, что мы не добавим никаких ошибок или сдвигов, и, в конечном счете, получим точную и надежную модель. Однако, этот метод можно использовать лишь в тех случаях, когда данных много, а процент пропусков невысок.
@machinelearning_interview
Дайте простой пример того, как постановка экспериментов может помочь ответить на вопрос о поведении. Как экспериментальные данные контрастируют с данными наблюдений?
Ответ
Данные наблюдений получаются от исследования наблюдений, когда мы наблюдаем значения нескольких переменных и определяем, есть ли между ними корреляция.
Экспериментальные данные получаются от исследования экспериментов, когда мы контролируем некоторые переменные и сохраняем их значения неизменными, определяя их влияние на результат.
Вот пример постановки эксперимента: разбейте группу на две части. Контрольная группа живет, как обычно. Тестовую группу просят выпивать по бокалу вина каждый вечер на протяжении 30 дней. После этого можно исследовать, как вино влияет на сон.
@machinelearning_interview
Ответ
Данные наблюдений получаются от исследования наблюдений, когда мы наблюдаем значения нескольких переменных и определяем, есть ли между ними корреляция.
Экспериментальные данные получаются от исследования экспериментов, когда мы контролируем некоторые переменные и сохраняем их значения неизменными, определяя их влияние на результат.
Вот пример постановки эксперимента: разбейте группу на две части. Контрольная группа живет, как обычно. Тестовую группу просят выпивать по бокалу вина каждый вечер на протяжении 30 дней. После этого можно исследовать, как вино влияет на сон.
@machinelearning_interview
Для тестирования новой и старой систем сортировки пациентов неотложной помощи исследователи выбрали 20 ночей и случайным образом назначили новую систему сортировки на 10 из них, в остальных оставив старую. Они рассчитали среднее время ожидания (СВО) доктора для каждой ночи. Для новой системы СВО = 3 часа с отклонением 0.60, тогда как для старой было 5 часов с отклонением 0.68. Оцените 95% доверительный интервал для разницы в среднем СВО между системами. Считайте дисперсию постоянной.
Воспользуемся формулой нахождения доверительного интервала для двух независимых выборок (используем t-таблицу для n1+n2-2 степеней свободы)
Доверительный интервал – это среднее +/- t-оценка * стандартную ошибку.
Среднее значение = новое среднее – старое среднее = 3-5 = -2.
t-оценка равна 2.101, учитывая 18 степеней свободы (20-2) и 95% доверительный интервал (смотри Картинку).
Стандартная ошибка = sqrt(0.62*9+0.682*9)/(10+10–2)) * sqrt(1/10+1/10) = 0.352. Доверительный интервал = [-2.75, -1.25].
@machinelearning_interview
Воспользуемся формулой нахождения доверительного интервала для двух независимых выборок (используем t-таблицу для n1+n2-2 степеней свободы)
Доверительный интервал – это среднее +/- t-оценка * стандартную ошибку.
Среднее значение = новое среднее – старое среднее = 3-5 = -2.
t-оценка равна 2.101, учитывая 18 степеней свободы (20-2) и 95% доверительный интервал (смотри Картинку).
Стандартная ошибка = sqrt(0.62*9+0.682*9)/(10+10–2)) * sqrt(1/10+1/10) = 0.352. Доверительный интервал = [-2.75, -1.25].
@machinelearning_interview
Вы баллотируетесь на пост, и ваш социолог опросил 100 избирателей, 60 из которых сказали, что собираются голосовать за вас. Можете ли вы быть уверены в победе?
Ответ
Примем для простоты, что у вас только один соперник.
Также примем, что желаемый доверительный интервал составляет 95%. Это даст нам z-оценку 1.96. Формула на картинке.
В нашей задаче p = 0.6, z = 1.96, n = 100, что дает доверительный интервал [50.4, 69.6].
Таким образом, при доверительном интервале 95% вы можете расслабиться, только если ничего не имеете против победы с минимальным перевесом. В противном случае придется добиться 61 голоса из 100 опрошенных, чтобы не беспокоиться.
@machinelearning_interview
Ответ
Примем для простоты, что у вас только один соперник.
Также примем, что желаемый доверительный интервал составляет 95%. Это даст нам z-оценку 1.96. Формула на картинке.
В нашей задаче p = 0.6, z = 1.96, n = 100, что дает доверительный интервал [50.4, 69.6].
Таким образом, при доверительном интервале 95% вы можете расслабиться, только если ничего не имеете против победы с минимальным перевесом. В противном случае придется добиться 61 голоса из 100 опрошенных, чтобы не беспокоиться.
@machinelearning_interview
🔥 Полезнейшая Подборка каналов
🖥 Machine learning
@ai_machinelearning_big_data – все о машинном обучении
@data_analysis_ml – все о анализе данных.
@machinelearning_ru – машинное обучении на русском от новичка до профессионала.
@machinelearning_interview – подготовка к собеседования Data Science
@datascienceiot – бесплатные книги Machine learning
@ArtificialIntelligencedl – канал о искусственном интеллекте
@neural – все о нейронных сетях
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - работа ds, ml
🖥 Python
@pro_python_code – погружение в python
@python_job_interview – подготовка к Python собеседованию
@python_testit тесты на python
@pythonlbooks - книги Python
@Django_pythonl django
@python_djangojobs - работа Python
🖥 Java
@javatg - Java для програмистов
@javachats Java чат
@java_library - книги Java
@android_its Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
🖥 Javascript / front
@javascriptv - javascript изучение
@about_javascript - javascript продвинутый
@JavaScript_testit -тесты JS
@htmlcssjavas - web
@hashdev - web разработка
👣 Golang
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@Golang_google - go для разработчиков
@golangtests - тесты и задачи GO
@golangl - чат Golang
@GolangJobsit - вакансии и работа GO
@golang_jobsgo - чат вакансий
@golang_books - книги Golang
@golang_speak - обсуждение задач Go
🖥 Linux
@linux_kal - чат kali linux
@linuxkalii - linux kali
@linux_read - книги linux
👷♂️ IT работа
@hr_itwork - ит-ваканнсии
🖥 SQL
@sqlhub - базы данных
@chat_sql - базы данных чат
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - язык программирования rust
@rust_chats - чат rust
#️⃣ c# c++
@csharp_ci - c# c++кодинг
@csharp_cplus чат
📓 Книги
@programming_books_it
@datascienceiot
@pythonlbooks
@golang_books
@frontendbooksit
@progersit
@linux_read
@java_library
@frontendbooksit
📢 English for coders
@english_forprogrammers - Английский для программистов
🖥 Github
@github_code
@ai_machinelearning_big_data – все о машинном обучении
@data_analysis_ml – все о анализе данных.
@machinelearning_ru – машинное обучении на русском от новичка до профессионала.
@machinelearning_interview – подготовка к собеседования Data Science
@datascienceiot – бесплатные книги Machine learning
@ArtificialIntelligencedl – канал о искусственном интеллекте
@neural – все о нейронных сетях
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - работа ds, ml
@pro_python_code – погружение в python
@python_job_interview – подготовка к Python собеседованию
@python_testit тесты на python
@pythonlbooks - книги Python
@Django_pythonl django
@python_djangojobs - работа Python
@javatg - Java для програмистов
@javachats Java чат
@java_library - книги Java
@android_its Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
@javascriptv - javascript изучение
@about_javascript - javascript продвинутый
@JavaScript_testit -тесты JS
@htmlcssjavas - web
@hashdev - web разработка
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@Golang_google - go для разработчиков
@golangtests - тесты и задачи GO
@golangl - чат Golang
@GolangJobsit - вакансии и работа GO
@golang_jobsgo - чат вакансий
@golang_books - книги Golang
@golang_speak - обсуждение задач Go
@linux_kal - чат kali linux
@linuxkalii - linux kali
@linux_read - книги linux
👷♂️ IT работа
@hr_itwork - ит-ваканнсии
@sqlhub - базы данных
@chat_sql - базы данных чат
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - язык программирования rust
@rust_chats - чат rust
#️⃣ c# c++
@csharp_ci - c# c++кодинг
@csharp_cplus чат
📓 Книги
@programming_books_it
@datascienceiot
@pythonlbooks
@golang_books
@frontendbooksit
@progersit
@linux_read
@java_library
@frontendbooksit
@english_forprogrammers - Английский для программистов
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Какими способами можно сделать модель более устойчивой к выбросам?
Ответ
Выбросы обычно определяются по отношению к распределению. Они могут быть удалены на этапе предварительной обработки (до любого этапа обучения)…
Странно задавать вопрос именно в такой форме, чтобы услышать именно такой ответ! Как СДЕЛАТЬ МОДЕЛЬ устойчивой — надо до её использования повозиться с данными. Если бы вопрос был «как решить проблему выбросов», то ответ был бы корректным, причём я бы его разнёс по пунктам:
- удаление выбросов на этапе подготовки данных (в том числе, нахождение аномальных значений, винзоризация, стат. критерии, преобразование признаков и т.п.),
- применение т.н. робастных моделей (например, линейных с настройкой не на сумму квадратов ошибки, а на сумму модулей),
- удаление выбросов и переобучение моделей (например, удаляя объекты, на которых модель ошибается сильнее).
А вообще, я бы попросил уточнить вопрос: хотелось бы немного знать природу выбросов, чтобы выбрать правильную стратегию решения.
@machinelearning_interview
Ответ
Выбросы обычно определяются по отношению к распределению. Они могут быть удалены на этапе предварительной обработки (до любого этапа обучения)…
Странно задавать вопрос именно в такой форме, чтобы услышать именно такой ответ! Как СДЕЛАТЬ МОДЕЛЬ устойчивой — надо до её использования повозиться с данными. Если бы вопрос был «как решить проблему выбросов», то ответ был бы корректным, причём я бы его разнёс по пунктам:
- удаление выбросов на этапе подготовки данных (в том числе, нахождение аномальных значений, винзоризация, стат. критерии, преобразование признаков и т.п.),
- применение т.н. робастных моделей (например, линейных с настройкой не на сумму квадратов ошибки, а на сумму модулей),
- удаление выбросов и переобучение моделей (например, удаляя объекты, на которых модель ошибается сильнее).
А вообще, я бы попросил уточнить вопрос: хотелось бы немного знать природу выбросов, чтобы выбрать правильную стратегию решения.
@machinelearning_interview
@machinelearning_interview
Please open Telegram to view this post
VIEW IN TELEGRAM