Теоретические вопросы интервью |
||||||||||||||||||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-03-06 19:15 Контролируемое машинное обучение Что такое контролируемое машинное обучение? ? Случай, когда у нас есть как объекты (матрица X), так и метки (вектор y) Линейная регрессия Что такое регрессия? Какие модели можно использовать для решения задачи регрессии? ? Регрессионные модели исследуют взаимосвязь между зависимой (целевой) и независимой переменной (АМИ) (предиктором). Вот некоторые распространенные регрессионные модели
Что такое линейная регрессия? Когда мы его используем? ? Линейная регрессия-это модель, которая предполагает линейную зависимость между входными переменными (X) и единственной выходной переменной (y). С помощью простого уравнения:
B-коэффициенты регрессии, значения x-независимые (объясняющие) переменные, а y-зависимая переменная. Случай с одной объясняющей переменной называется простой линейной регрессией. Для более чем одной объясняющей переменной этот процесс называется множественной линейной регрессией. Простая линейная регрессия:
Множественная линейная регрессия:
Каковы основные допущения линейной регрессии? ? Существует несколько допущений линейной регрессии. Если какой-либо из них нарушается, предсказания и интерпретация модели могут оказаться бесполезными или вводящими в заблуждение.
Каково нормальное распределение? Почему нас это волнует? ? Нормальное распределение-это непрерывное распределение вероятностей, функция плотности вероятности которого принимает следующую формулу: где ?-среднее а ?-стандартное отклонение распределения. Нормальное распределение получает свое значение из центральной предельной теоремы, которая гласит, что если мы нарисуем достаточно большое число выборок, то их среднее значение будет следовать нормальному распределению независимо от начального распределения выборки, то есть распределение среднего значения выборок является нормальным. Важно, чтобы каждый образец был независим от другого. Это очень важно, потому что помогает нам изучать процессы, распределение населения которых нам неизвестно. Как мы проверяем, следует ли переменная за нормальным распределением? ??
Что делать, если мы хотим построить модель для прогнозирования цен? Нормально ли распределяются цены? Нужно ли нам делать какую-либо предварительную обработку цен? ?? Данные не являются нормальными. В частности, наборы данных реального мира или неочищенные наборы данных всегда имеют определенную асимметрию. То же самое касается и прогноза цен. Цена дома или любой другой рассматриваемой вещи зависит от целого ряда факторов. Таким образом, существует большая вероятность наличия некоторых искаженных значений, то есть выбросов, если мы говорим в терминах науки о данных. Да, возможно, вам придется провести предварительную обработку. Скорее всего, вам нужно будет удалить выбросы, чтобы сделать ваше распределение близким к нормальному. Какие методы решения линейной регрессии вы знаете? ?? Чтобы решить линейную регрессию, вам нужно найти коэффициенты, которые минимизируют сумму квадратов ошибок. Метод матричных алгебр: Допустим , у вас есть Но для решения этой задачи требуется найти обратную величину, что может занять много времени, если вообще возможно. К счастью, существуют такие методы, как сингулярная декомпозиция (SVD) или QR-декомпозиция, которые могут надежно вычислить эту часть (называемую псевдоинверсной) без фактической необходимости находить обратную. Популярная библиотека python ML Альтернативный метод: градиентный спуск. Смотрите объяснение ниже. Что такое градиентный спуск? Как это работает? ?? Градиентный спуск-это алгоритм, который использует концепцию исчисления градиента, чтобы попытаться достичь локальных или глобальных минимумов. Он работает, беря отрицательный градиент в точке данной функции и повторно обновляя эту точку с помощью вычисленного отрицательного градиента, пока алгоритм не достигнет локального или глобального минимума, что приведет к тому, что будущие итерации алгоритма вернут значения, равные или слишком близкие к текущей точке. Он широко используется в приложениях машинного обучения. Что такое нормальное уравнение? ?? Нормальные уравнения-это уравнения, полученные путем задания равных нулю частных производных от суммы квадратов ошибок (наименьших квадратов); нормальные уравнения позволяют оценить параметры множественной линейной регрессии. Что такое SGD — стохастический градиентный спуск? В чем разница с обычным градиентным спуском? ?? Как в градиентном спуске (GD), так и в стохастическом градиентном спуске (SGD) вы обновляете набор параметров итеративным образом, чтобы минимизировать функцию ошибки. В то время как в GD вы должны выполнить все выборки в вашем обучающем наборе, чтобы сделать одно обновление для параметра в конкретной итерации, в SGD, с другой стороны, вы используете только одну или подмножество обучающей выборки из вашего обучающего набора, чтобы сделать обновление для параметра в конкретной итерации. Если вы используете подмножество, то оно называется Минибатч-стохастическим градиентным спуском. Какие метрики для оценки регрессионных моделей вы знаете? ?
Что такое MSE и RMSE? ? MSE означает Mean Square Error, а RMSE-Root Mean Square Error. Это метрики, с помощью которых мы можем оценивать модели. Каков компромисс между смещением и дисперсией? ? Смещение-это ошибка, возникающая при аппроксимации истинной базовой функции, которая может быть довольно сложной, более простой моделью. Дисперсия - это чувствительность модели к изменениям в обучающем наборе данных. Компромисс между смещением и дисперсией-это отношение между ожидаемой ошибкой теста и дисперсией и смещением - оба они вносят свой вклад в уровень ошибки теста и в идеале должны быть как можно меньше:
Но по мере увеличения сложности модели смещение уменьшается, а дисперсия увеличивается, что приводит к переоснащению. И наоборот, упрощение модели помогает уменьшить дисперсию, но увеличивает смещение, которое приводит к недофинансированию. Утверждение Что такое переобучение? ? Когда ваша модель очень хорошо работает на вашем обучающем наборе, но не может обобщить тестовый набор, потому что она сильно подстраивается под обучающий набор. Как проверить правильность ваших моделей? ? Одним из наиболее распространенных подходов является разделение данных на обучающую, проверочную и тестовую части. Модели обучаются на данных поезда, гиперпараметры (например, ранняя остановка) выбираются на основе данных валидации, окончательное измерение производится на тестовом наборе данных. Другой подход-перекрестная валидация: разбить набор данных на K сгибов и каждый раз обучать модели на обучающих сгибах и измерять производительность на сгибах валидации. Кроме того, вы можете комбинировать эти подходы: создать тестовый/несогласованный набор данных и выполнить перекрестную проверку остальных данных. Конечное качество измеряется на тестовом наборе данных. Почему нам нужно разделить наши данные на три части: обучение, валидация и тестирование? ? Обучающий набор используется для подгонки модели, то есть для обучения модели с помощью данных. Затем набор валидации используется для обеспечения непредвзятой оценки модели при тонкой настройке гиперпараметров. Это улучшает обобщение модели. Наконец, для окончательной оценки модели следует использовать набор тестовых данных, который модель никогда раньше не "видела". Это позволяет объективно оценить модель. Оценка никогда не должна проводиться на тех же данных, которые используются для обучения. В противном случае производительность модели не была бы репрезентативной. Можете ли вы объяснить, как работает перекрестная проверка? ? Кросс-валидация-это процесс разделения всего обучающего набора на два подмножества: обучающий и проверочный набор, а также оценка вашей модели для выбора гиперпараметров. Но вы выполняете этот процесс итеративно, выбирая различные наборы обучения и проверки, чтобы уменьшить предвзятость, которую вы имели бы, выбрав только один набор проверки. Что такое K-кратная перекрестная проверка? ? K fold cross validation-это метод перекрестной проверки, при котором мы выбираем гиперпараметр k. Набор данных теперь разделен на k частей. Теперь мы берем 1-ю часть в качестве проверочного набора, а оставшуюся k-1-в качестве обучающего набора. Затем мы берем 2-ю часть в качестве проверочного набора, а остальные части k-1-в качестве обучающего набора. Таким образом, каждая часть используется в качестве проверочного набора один раз, а остальные части k-1 собираются вместе и используются в качестве обучающего набора. Он не должен использоваться в данных временных рядов. Как мы выбираем K в K-кратной перекрестной проверке? Какая твоя любимая буква К? ? Есть две вещи, которые следует учитывать при принятии решения о K: количество моделей, которые мы получаем, и размер набора валидации. Мы не хотим, чтобы количество моделей было слишком меньше, например, 2 или 3. По крайней мере 4 модели дают менее предвзятое решение по метрикам. С другой стороны, мы хотели бы, чтобы набор данных составлял не менее 20-25% от всех данных. Так что, по крайней мере, соотношение 3:1 между обучающим и проверочным набором сохраняется. Классификация Что такое классификация? Какие модели вы бы использовали для решения задачи классификации? ? Задачи классификации - это задачи, в которых наше пространство прогнозирования дискретно, т. е. существует конечное число значений, которыми может быть выходная переменная. Некоторые модели, которые могут быть использованы для решения задач классификации являются: логистическая регрессия, дерево решений, случайные леса, многослойный персептрон, один против всех, среди других. Что такое логистическая регрессия? Когда нам нужно его использовать? ? Логистическая регрессия - это алгоритм машинного обучения, который используется для бинарной классификации. Вы должны использовать логистическую регрессию, когда ваша переменная Y принимает только два значения, например True и False, "спам" и "не спам", "отток" и "не отток" и так далее. Переменная называется "двоичной" или "дихотомической". Является ли логистическая регрессия линейной моделью? Почему? ? Да, логистическая регрессия считается обобщенной линейной моделью, поскольку результат всегда зависит от суммы входных данных и параметров. Или, другими словами, выход не может зависеть от продукта (или частного и т. д.) его параметров. Что такое сигмовидная мышца? Что же он делает? ? Сигмовидная функция-это тип активационной функции, более конкретно определяемый как функция сдавливания. Функции сжатия ограничивают выход в диапазоне от 0 до 1, что делает эти функции полезными для предсказания вероятностей. Sigmod(x) = 1/(1+e^{-x}) Как мы оцениваем классификационные модели? ? В зависимости от задачи классификации мы можем использовать следующие оценочные метрики:
Что такое точность? ? Точность-это показатель для оценки классификационных моделей. Он рассчитывается путем деления числа правильных предсказаний на общее число предсказаний. Всегда ли точность является хорошей метрикой? ? Точность не является хорошим показателем производительности при наличии дисбаланса в наборе данных. Например, в бинарной классификации с 95% Класса А и 5% класса в постоянное предсказание класса будет иметь точность 95%. В случае набора данных дисбаланса нам нужно выбрать точность, отзыв или оценку F1 в зависимости от проблемы, которую мы пытаемся решить. Что такое таблица путаницы? Что такое ячейки в этой таблице? ? Таблица путаницы (или матрица путаницы) показывает, сколько истинных положительных (TP), истинно отрицательных (TN), ложноположительных (FP) и ложноотрицательных (FN) моделей было сделано.
Большинство показателей производительности для моделей классификации основаны на значениях матрицы путаницы. Что такое точность, отзыв и оценка F1? ?
Точность-вспомните компромисс ? Компромисс означает, что увеличение одного параметра приведет к уменьшению другого. Компромисс точности-отзыв происходит из-за увеличения одного из параметров(точности или отзыва) при сохранении той же модели. В идеальном сценарии, где есть идеально разделяемые данные, и точность, и отзыв могут получить максимальное значение 1,0. но в большинстве практических ситуаций в наборе данных есть шум, и набор данных не является идеально разделяемым. Некоторые точки положительного класса могут быть ближе к отрицательному классу и наоборот. В таких случаях смещение границы принятия решения может либо повысить точность, либо вызвать отзыв, но не то и другое. Увеличение одного параметра приводит к уменьшению другого. Что такое кривая ROC? Когда им пользоваться? ?? ROC расшифровывается как рабочие характеристики приемника. Схематическое представление, которое показывает контраст между истинной положительной ставкой и истинной отрицательной ставкой. Он используется, когда нам нужно предсказать вероятность бинарного исхода. Что такое AUC (AU ROC)? Когда им пользоваться? ?? AUC означает площадь под кривой ROC. ROC - это кривая вероятности, а AUC представляет собой степень или меру отделимости. Он используется, когда нам нужно оценить, насколько модель способна различать классы. Значение находится между 0 и 1, Чем выше, тем лучше. Как интерпретировать счет AU ROC? ?? Оценка AUC - это значение площади под кривой ROC. Если предположить, что Roc кривая состоит из точек, то Отличная модель имеет AUC около 1, Что означает, что она имеет хорошую меру отделимости. Плохая модель имеет AUC около 0, что означает, что она имеет худшую меру отделимости. Когда счет AUC равен 0,5, это означает, что модель не имеет возможности разделения классов вообще. Что такое кривая PR (precision-recall)? ?? Кривая точноговозврата (или кривая PR) представляет собой график точности (ось y) и отзыва (ось x) для различных порогов вероятности. Кривые точного возврата (кривые PR) рекомендуются для сильно перекошенных областей, где кривые ROC могут обеспечить чрезмерно оптимистичный взгляд на производительность. Какова площадь под кривой PR? Является ли это полезной метрикой? ?I я Прецизионный AUC отзыва точно так же, как ROC AUC, в том, что он суммирует кривую с диапазоном пороговых значений в виде одного балла. Высокая область под кривой представляет как высокую отзывчивость, так и высокую точность, где высокая точность относится к низкой ложноположительной частоте, а высокая отзывчивость-к низкой ложноотрицательной частоте. В каких случаях AU PR лучше, чем AU ROC? Однако разница заключается в том, что AU ROC смотрит на истинно положительную ставку TPR и ложноположительную ставку FPR, в то время как AU PR смотрит на положительную прогностическую ценность PPV и истинно положительную ставку TPR. Как правило, если истинные отрицательные значения не имеют значения для проблемы или вы больше заботитесь о положительном классе, AU PR обычно будет более полезным; в противном случае, если вы одинаково заботитесь о положительном и отрицательном классе или ваш набор данных достаточно сбалансирован, то переход с AU ROC-хорошая идея. Что мы делаем с категориальными переменными? ?? Категориальные переменные должны быть закодированы, прежде чем их можно будет использовать в качестве объектов для обучения модели машинного обучения. Существуют различные методы кодирования, в том числе:
Зачем нам нужна одна-горячая кодировка? ?? Если мы просто кодируем категориальные переменные с помощью Кодера меток, они становятся порядковыми, что может привести к нежелательным последствиям. В этом случае линейные модели будут рассматривать категорию с идентификатором 4 в два раза лучше, чем категорию с идентификатором 2. однократное кодирование позволяет нам представлять категориальную переменную в числовом векторном пространстве, которое гарантирует, что векторы каждой категории имеют равные расстояния друг от друга. Этот подход подходит не для всех ситуаций, поскольку при его использовании с категориальными переменными высокой мощности (напр. идентификатор клиента) мы столкнемся с проблемами, которые вступают в игру из-за проклятия размерности. Регуляризация Что произойдет с нашей моделью линейной регрессии, если в наших данных будет три столбца: x, y, z — и z будет суммой x и y? Мы не смогли бы выполнить рессгрессию. Поскольку z линейно зависит от x и y, то при выполнении регрессии будет получена сингулярная (не обратимая) матрица. Что происходит с нашей моделью линейной регрессии, если столбец z в данных представляет собой сумму столбцов x и y и некоторого случайного шума? ?? Ответьте здесь Что такое регуляризация? Зачем нам это нужно? ? Регуляризация используется для уменьшения переобучения в моделях машинного обучения. Это помогает моделям хорошо обобщаться и делать их устойчивыми к выбросам и шуму в данных. Какие методы регуляризации вам известны? ?? Существует в основном два типа регуляризации,
Какие методы регуляризации применимы к линейным моделям? ?? AIC/BIC, регрессия хребта, лассо, эластичная сетка, базисная погоня за шумом, модель Рудина-Ошера-Фатеми (ТВ), модель Поттса, RLAD, селектор Данцига, наклон Как выглядит регуляризация L2 в линейной модели? ?? Регуляризация L2 добавляет штрафной член к нашей функции затрат, которая равна сумме квадратов коэффициентов моделей, умноженных на лямбда-гиперпараметр. Этот метод гарантирует, что коэффициенты близки к нулю и широко используется в тех случаях, когда у нас есть много признаков, которые могут коррелировать друг с другом. Как выбрать правильные параметры регуляризации? ? Параметры регуляризации можно выбрать, например, с помощью поиска по сетке https://scikit-learn.org/stable/modules/linear_model.html имеет одну формулу для реализации регуляризации, Альфа в упомянутой формуле может быть найдена путем выполнения RandomSearch или GridSearch на наборе значений и выбора Альфа, которая дает наименьшую перекрестную проверку или ошибку проверки. Каково влияние регуляризации L2 на веса линейной модели? ?? Регуляризация L2 более строго наказывает большие веса (из-за квадратного штрафного термина), что побуждает значения веса распадаться к нулю. Как выглядит регуляризация L1 в линейной модели? ?? Регуляризация L1 добавляет штрафной член к нашей функции стоимости, которая равна сумме модулей коэффициентов моделей, умноженных на лямбда-гиперпараметр. Например, функция затрат с регуляризацией L1 будет выглядеть так: В чем разница между регуляризацией L2 и L1? ??
Можем ли мы иметь обе компоненты регуляризации L1 и L2 в линейной модели? ?? Да, эластичная сетчатая регуляризация сочетает регуляризацию L1 и L2. Какова интерпретация термина смещения в линейных моделях? ?? Смещение-это просто разница между прогнозируемым значением и фактическим/истинным значением. Его можно интерпретировать как расстояние от среднего предсказания и истинного значения, то есть истинное значение минус среднее(предсказания). Но не путайте точность и предвзятость. Как мы интерпретируем веса в линейных моделях? ?? Без нормализации Весов или переменных, если вы увеличиваете соответствующий предиктор на одну единицу, коэффициент представляет в среднем, насколько сильно изменяется выход. Кстати, эта интерпретация все еще работает для логистической регрессии - если вы увеличиваете соответствующий предиктор на одну единицу, вес представляет собой изменение логарифма шансов. Если переменные нормализованы, мы можем интерпретировать веса в линейных моделях как важность этой переменной в прогнозируемом результате. Если вес для одной переменной выше, чем для другой — можем ли мы сказать, что эта переменная более важна? ?? Да - если ваши предикторные переменные нормализованы. Без нормализации вес представляет собой изменение выхода на единицу изменения в предикторе. Если у вас есть предсказатель с огромным диапазоном и масштабом, который используется для прогнозирования выпуска с очень небольшим диапазоном - например, используя ВВП каждой страны для прогнозирования уровня материнской смертности, - ваш коэффициент должен быть очень маленьким. Это не обязательно означает, что эта предикторная переменная не является важной по сравнению с другими. Когда нам нужно выполнить нормализацию признаков для линейных моделей? Когда это нормально-не делать этого? ?? Нормализация признаков необходима для регуляризации L1 и L2. Идея обоих методов состоит в том, чтобы наказывать все признаки относительно одинаково. Это не может быть сделано эффективно, если каждый объект масштабируется по-разному. Линейная регрессия без методов регуляризации может быть использована без нормализации признаков. Кроме того, регуляризация может помочь сделать аналитическое решение более стабильным — она добавляет матрицу регуляризации к матрице признаков перед ее инверсией. Выбор функции Что такое выбор функций? Зачем нам это нужно? ? Выбор объекта-это метод, используемый для выбора соответствующих объектов для обучения модели. Нам нужно выбрать функцию, чтобы удалить ненужные функции, которые приводят модель к недостаточной производительности. Важен ли выбор признаков для линейных моделей? ?? Ответьте здесь Какие методы отбора признаков вам известны? ?? Вот некоторые из выбранных функций:
Можем ли мы использовать регуляризацию L1 для выбора признаков? ?? Да, потому что природа регуляризации L1 приведет к разреженным коэффициентам признаков. Выбор объектов может быть осуществлен путем сохранения только объектов с ненулевыми коэффициентами. Можем ли мы использовать регуляризацию L2 для выбора признаков? ?? Ответьте здесь Деревья решений Что такое деревья решений? ? Это тип алгоритма контролируемого обучения, который в основном используется для задач классификации. Удивительно, но он работает как для категориальных, так и для непрерывных зависимых переменных. В этом алгоритме мы разбиваем популяцию на два или более однородных набора. Это делается на основе наиболее значимых атрибутов/ независимых переменных, чтобы создать как можно более четкие группы. Дерево решений-это структура дерева, подобная потоковой диаграмме, где каждый внутренний узел (не-конечный узел) обозначает тест по атрибуту, каждая ветвь представляет результат теста, а каждый конечный узел (или терминальный узел) содержит значение для целевой переменной. Различные техники: например, Джини, получение информации, Хи-квадрат, энтропия. Как мы тренируем деревья решений? ??
Каковы основные параметры модели дерева решений? ?
Как мы обрабатываем категориальные переменные в деревьях принятия решений? ?? Некоторые алгоритмы дерева решений могут обрабатывать категориальные переменные из коробки, другие-нет. Однако мы можем преобразовывать категориальные переменные, например, с помощью двоичного или однократного кодера. Каковы преимущества одного дерева решений по сравнению с более сложными моделями? ??
Как мы можем узнать, какие функции более важны для модели дерева решений? ?? Часто мы хотим найти расщепление таким образом, чтобы оно минимизировало сумму примесей узла. Критерий примесности является параметром деревьев решений. Популярными методами измерения примеси являются примесь Джини и Энтропия, описывающая прирост информации. Случайный лес Что такое случайный лес? ? Случайный лес-это метод машинного обучения для регрессии и классификации, который состоит из множества деревьев решений. Случайный лес относится к более широкому классу алгоритмов ML, называемых ансамблевыми методами (другими словами, он включает в себя комбинацию нескольких моделей для решения одной задачи прогнозирования). Зачем нам нужна рандомизация в случайном лесу? ?? Случайный лес в расширении алгоритма bagging, который берет случайные выборки данных из обучающего набора данных (с заменой), обучает несколько моделей и средних прогнозов. Кроме того, каждый раз, когда рассматривается расщепление дерева, случайный лес берет случайную выборку из m признаков из полного набора n признаков (с заменой) и использует это подмножество признаков в качестве кандидатов на расщепление (например, Обучающие деревья решений на случайных выборках данных из обучающего набора данных уменьшают дисперсию. Выборка признаков для каждого разбиения в дереве решений декоррелирует деревья. Каковы основные параметры модели случайного леса? ??
Как мы выбираем глубину деревьев в случайном лесу? ?? Чем больше глубина, тем больший объем информации извлекается из дерева, однако, есть предел этому, и алгоритм, даже если он защищен от перенапряжения, может изучить сложные особенности шума, присутствующие в данных, и, как следствие, может перестроиться на шум. Таким образом, нет жесткого правила большого пальца при определении глубины, но литература предлагает несколько советов по настройке глубины дерева, чтобы предотвратить чрезмерную подгонку:
Откуда мы знаем, сколько деревьев нам нужно в случайном лесу? ?? Количество деревьев в случайном лесу обрабатывается n_estimators, и случайный лес уменьшает переобучение, увеличивая количество деревьев. Не существует фиксированного правила большого пальца для определения количества деревьев в случайном лесу, оно довольно точно настраивается с помощью данных, обычно начиная с взятия квадрата числа признаков (n), присутствующих в данных, с последующей настройкой до тех пор, пока мы не получим оптимальные результаты. Легко ли распараллелить обучение модели случайного леса? Как мы можем это сделать? ?? Да, R предоставляет простой способ распараллеливания обучения случайных лесов для крупномасштабных данных. Он использует параметр под названием multicombine, который может быть установлен в TRUE для распараллеливания вычислений случайных лесов. rf < - foreach(ntree=rep(25000, 6),. combine=randomForest::combine, . multicombine=TRUE,. packages='randomForest') %dopar% { randomForest(x, y, ntree=ntree) } Каковы потенциальные проблемы со многими крупными деревьями? ?? Ответьте здесь Что делать, если вместо того, чтобы найти лучший раскол, мы случайным образом выбираем несколько расколов и просто выбираем лучший из них. Сработает ли это? ? Ответьте здесь Что происходит, когда мы имеем коррелированные функции в наших данных? ?? В случайном лесу, поскольку случайный лес выбирает некоторые объекты для построения каждого дерева, информация, содержащаяся в коррелированных объектах, с удвоенной вероятностью будет выбрана, чем любая другая информация, содержащаяся в других объектах. В общем случае, когда вы добавляете коррелированные объекты, это означает, что они линейно содержат одну и ту же информацию, и таким образом это снизит надежность вашей модели. Каждый раз, когда вы тренируете свою модель, ваша модель может выбрать ту или иную особенность, чтобы "сделать ту же самую работу", то есть объяснить некоторую дисперсию, уменьшить энтропию и т. д. Градиентный бустинг Что такое деревья градиентного повышения? ?? Градиентный бустинг-это метод машинного обучения для регрессионных и классификационных задач, который создает модель прогнозирования в виде ансамбля слабых моделей прогнозирования, обычно деревьев решений. В чем разница между случайным лесом и градиентным бустингом? ??
Можно ли распараллелить обучение модели градиентного бустинга? Как это сделать? ?? Да, различные фреймворки предоставляют различные возможности для ускорения обучения, используя графические процессоры для ускорения процесса, делая его очень распараллеливаемым.Например, для XGBoost tree_method = 'gpu_hist' опция делает обучение быстрее с помощью графических процессоров. Важность признаков в деревьях повышения градиента — каковы возможные варианты? ?? Ответьте здесь Существуют ли какие-либо различия между непрерывными и дискретными переменными, когда речь заходит о важности характеристик моделей градиентного повышения? ? Ответьте здесь Каковы основные параметры модели градиентного бустинга? ?? Существует множество параметров, но ниже приведены несколько ключевых значений по умолчанию.
Как вы подходите к настройке параметров в XGBoost или LightGBM? ? В зависимости от набора данных настройка параметров может быть выполнена вручную или с помощью систем оптимизации гиперпараметров, таких как optuna и hyperopt. При ручной настройке параметров мы должны знать max-depth, min_samples_leaf и min_samples_split, чтобы наша модель не перекрывала данные, а пыталась предсказать обобщенные характеристики данных (в основном сохраняя дисперсию и смещение низкими для нашей модели). Как вы выбираете количество деревьев в модели градиентного бустинга? ?? Большинство реализаций градиентного бустинга по умолчанию настраиваются с относительно небольшим количеством деревьев, таких как сотни или тысячи. Используя scikit-learn, мы можем выполнить сеточный поиск параметра модели n_estimators Настройка параметров Какие стратегии настройки гиперпараметров (в целом) вы знаете? ?? Существует несколько стратегий для гипернастройки, но я бы сказал, что три наиболее популярные в настоящее время следующие:
В чем разница между стратегией настройки параметров поиска сетки и случайным поиском? Когда использовать то или иное? ?? Для получения более подробной информации обратитесь к приведенному выше ответу. Нейронные сети Какие проблемы могут решать нейронные сети? ? Нейронные сети хорошо решают нелинейные задачи. Некоторые хорошие примеры-это проблемы, которые относительно легки для человека (из-за опыта, интуиции, понимания и т. д.), Но трудны для традиционных регрессионных моделей: распознавание речи, распознавание почерка, идентификация изображений и т. д. Как работает обычная полностью подключенная нейронная сеть обратной связи? ?? В обычной полностью подключенной сети обратной связи каждый нейрон получает входные данные от каждого элемента предыдущего слоя, и, таким образом, рецептивное поле нейрона является всем предыдущим слоем. Они обычно используются для представления векторов признаков для входных данных в задачах классификации, но могут быть дорогостоящими в обучении из-за большого количества вычислений. Зачем нам нужны функции активации? ? Основная идея использования нейронных сетей заключается в изучении сложных нелинейных функций. Если мы не используем функцию активации между различными слоями нейронной сети, мы просто складываем несколько линейных слоев один поверх другого, и это приводит к изучению линейной функции. Нелинейность приходит только с функцией активации, это причина, по которой нам нужны функции активации. Каковы проблемы с сигмовидной кишкой как функцией активации? ?? Производная сигмоидной функции для больших положительных или отрицательных чисел почти равна нулю. Отсюда возникает проблема исчезающего градиента — во время обратного распространения наша сеть не будет учиться (или будет учиться резко медленно). Одним из возможных способов решения этой проблемы является использование функции активации ReLU. Что такое Релу? Чем она лучше сигмовидной или танх? ?? ReLU-это аббревиатура для выпрямленного линейного блока. Это функция активации, которая имеет значение 0 для всех отрицательных значений и значение f(x) = x для всех положительных значений. ReLU имеет простую функцию активации, которая позволяет быстро вычислять, и в то время как сигмоидные и танх-функции активации насыщаются при более высоких значениях, ReLU имеет потенциально бесконечную активацию, которая решает проблему исчезающих градиентов. Как мы можем инициализировать веса нейронной сети? ?? Правильная инициализация весовой матрицы в нейронной сети очень необходима. Проще говоря, мы можем сказать, что есть два способа инициализации.
А что, если мы установим все веса нейронной сети равными 0? Если все веса нейронной сети равны нулю, то выход каждого соединения будет одинаковым (W*x = 0). Это означает, что градиенты, которые обратно распространяются на каждое соединение в слое, одинаковы. Это означает, что все связи/веса изучают одно и то же, и модель никогда не сходится. Какие методы регуляризации нейронных сетей вы знаете? ??
Что такое отсев? Почему это полезно? Как это работает? ?? Отсев-это техника, которая на каждом этапе обучения отключает каждый нейрон с определенной вероятностью р. Таким образом, на каждой итерации мы обучаем только 1-p нейронов, что заставляет сеть не полагаться только на подмножество нейронов для представления признаков. Это приводит к регуляризирующим эффектам, которые контролируются гиперпараметром р. Оптимизация в нейронных сетях Что такое обратное распространение? Как это работает? Зачем нам это нужно? ?? Алгоритм обратного распространения ошибки ищет минимальное значение функции ошибки в весовом пространстве, используя метод, называемый правилом Дельта или градиентным спуском. Веса, которые минимизируют функцию ошибки, затем рассматриваются как решение проблемы обучения. Нам нужна обратная связь, потому что,
Какие методы оптимизации для обучения нейронных сетей вы знаете? ??
Как мы используем SGD (стохастический градиентный спуск) для обучения нейронной сети? ?? SGD аппроксимирует математическое ожидание несколькими случайно выбранными выборками (вместо полных данных). По сравнению с пакетным градиентным спуском мы можем эффективно аппроксимировать математическое ожидание в больших наборах данных с помощью SGD. Для нейронных сетей это значительно сокращает время обучения, даже учитывая, что оно будет сходиться позже, поскольку случайная выборка добавляет шум к градиентному спуску. Какова скорость обучения? ? Скорость обучения является важным гиперпараметром, который контролирует, насколько быстро модель адаптируется к задаче во время обучения. Его можно рассматривать как "ширину шага" при обновлении параметров, то есть как далеко веса перемещаются в направлении минимума нашей оптимизационной задачи. Что происходит, когда скорость обучения слишком велика? Слишком маленький? ? Большая скорость обучения может ускорить процесс обучения. Однако вполне возможно, что мы "выстрелим" слишком далеко и пропустим минимум функции, которую хотим оптимизировать, что не приведет к лучшему решению. С другой стороны, обучение с небольшой скоростью обучения занимает больше времени, но можно найти более точный минимум. Недостатком может быть то, что решение застряло в локальном минимуме, и веса не будут обновляться, даже если это не лучшее возможное глобальное решение. Как установить скорость обучения? ?? Не существует простого способа найти оптимальную скорость обучения для модели. Это включает в себя много ударов и испытаний. Обычно начинать с небольших значений, таких как 0,01, является хорошей отправной точкой для установки скорости обучения и дальнейшей настройки ее так, чтобы она не превышала или сходилась слишком медленно. Что такое Адам? В чем главная разница между Адамом и СГД? ?? Adam (Adaptive Moment Estimation) - это метод оптимизации для обучения нейронных сетей. в среднем это лучший оптимизатор .Он работает с моментами первого и второго порядка. Интуиция, стоящая за Адамом, заключается в том, что мы не хотим катиться так быстро только потому, что можем перепрыгнуть через минимум, мы хотим немного уменьшить скорость для тщательного поиска. Адам имеет тенденцию сходиться быстрее, в то время как SGD часто сходится к более оптимальным решениям. Недостатки высокой дисперсии SGD исправляются Адамом (как преимущество для Адама). Когда вы будете использовать Adam и когда SGD? ?? Адам имеет тенденцию сходиться быстрее, в то время как SGD часто сходится к более оптимальным решениям. Хотим ли мы иметь постоянную скорость обучения или лучше менять ее на протяжении всего обучения? ?? Ответьте здесь Как мы решаем, когда прекратить обучение нейронной сети? ? Просто прекратите обучение, когда ошибка проверки является минимальной. Что такое модель checkpointing? ?? Сохранение Весов, полученных с помощью модели mid training для длительно выполняющихся процессов, называется моделью checkpointing, так что вы можете возобновить обучение с определенной контрольной точки. Расскажите, как вы подходите к моделированию тренировочного процесса? ?? Ответьте здесь Нейронные сети для компьютерного зрения Как мы можем использовать нейронные сети для компьютерного зрения? ?? Нейронные сети, используемые в области компьютерного зрения, как правило, являются сверточными нейронными сетями (CNN). Вы можете узнать о свертках ниже. Похоже, что свертки довольно мощны, когда речь заходит о работе с изображениями и видео, благодаря их способности извлекать и изучать сложные функции. Таким образом, CNN-это метод go-to для любой проблемы в компьютерном зрении. Что такое сверточный слой? ?? Идея сверточного слоя заключается в предположении, что информация, необходимая для принятия решения, часто пространственно близка и, таким образом, она принимает только взвешенную сумму по соседним входным данным. Он также предполагает, что ядра сетей могут быть повторно использованы для всех узлов, поэтому число Весов может быть резко уменьшено. Чтобы противодействовать только одной функции, изучаемой на каждом слое, на вход подается несколько ядер, которые создают параллельные каналы на выходе. Последовательные слои также могут быть сложены в стопку, чтобы сеть могла находить более высокоуровневые объекты. Зачем нам вообще нужны свертки? Разве мы не можем использовать для этого полностью связанные слои? ?? Для полностью подключенного слоя требуется один вес на межслойное соединение, что означает, что число Весов, которое необходимо быстро вычислить, увеличивается по мере увеличения числа слоев и узлов на слой. Что такое объединение в Си-эн-эн? Зачем нам это нужно? ?? Объединение - это метод пониженной дискретизации карты объектов. Это позволяет слоям, которые получают относительно неискаженные версии входных данных, изучать низкоуровневые объекты, такие как линии, в то время как слои глубже в модели могут изучать более абстрактные объекты, такие как текстуры. Как работает максимальный пул? Существуют ли другие методы объединения? ?? Максимальное объединение-это метод, при котором максимальное значение рецептивного поля передается в следующую карту объектов. Наиболее часто используемым рецептивным полем является 2 x 2 с шагом 2, что означает, что карта признаков понижена с N x N до N/2 x N/2. Рецептивные поля размером более 3 х 3 используются редко, так как теряется слишком много информации. Другие методы объединения включают в себя:
Являются ли CNNs устойчивыми к вращениям? Что происходит с предсказаниями CNN, если изображение поворачивается? ? CNN не устойчивы к вращению по своей конструкции. Однако мы можем сделать наши модели устойчивыми, дополнив наши наборы данных различными поворотами исходных данных. Предсказания CNN изменятся, если изображение будет повернуто, и мы не увеличили наш набор данных соответствующим образом. Демонстрацию этого явления можно увидеть в этом видео, где CNN меняет свой предсказанный класс между уткой и кроликом на основе поворота изображения. Что такое аугментации? Зачем они нам нужны? ? Дополнения-это искусственный способ расширения существующих наборов данных путем выполнения некоторых преобразований, цветовых сдвигов или многих других вещей с данными. Это помогает диверсифицировать данные и даже увеличить их объем, когда модель испытывает нехватку данных для обучения. А какие дополнения ты знаешь? ? Существует много видов дополнений, которые могут быть использованы в зависимости от типа данных, с которыми вы работаете, некоторые из которых являются геометрическими и численными преобразованиями, PCA, обрезкой, заполнением, сдвигом, шумоподавлением и т. д. Как выбрать, какие дополнения использовать? ?? Дополнения действительно зависят от типа выходных классов и функций, которые вы хотите изучить в своей модели. Например. если у вас есть в основном правильно освещенные изображения в вашем наборе данных и вы хотите, чтобы ваша модель также предсказывала плохо освещенные изображения, вы можете применить сдвиг каналов к вашим данным и включить результирующие изображения в свой набор данных для получения лучших результатов. Какие архитектуры Си-эн-эн для классификации вы знаете? ? Классификация Изображений
Последние три разработаны таким образом, что они используют меньшее количество параметров, что полезно для edge AI. Что такое трансфертное обучение? Как это работает? ?? Учитывая исходный домен D_S и учебную задачу T_S, целевой домен D_T и учебную задачу T_T, трансфертное обучение направлено на то, чтобы помочь улучшить обучение целевой прогностической функции f_T в D_T с использованием знаний в D_S и T_S, где D_S ? D_T или T_S ? T_T. Другими словами, трансферное обучение позволяет повторно использовать знания, полученные из других областей или учебных задач. В контексте CNNs мы можем использовать сети, которые были предварительно обучены на популярных наборах данных, таких как ImageNet. Затем мы можем использовать веса слоев, которые учатся представлять объекты, и объединить их с новым набором слоев, который учится сопоставлять представления объектов с заданными классами. Две популярные стратегии-либо полностью заморозить слои, которые изучают представления объектов, либо дать им меньшую скорость обучения. Что такое обнаружение объекта? Вы знаете какие-нибудь архитектуры для этого? ? Ответьте здесь Что такое сегментация объектов? Вы знаете какие-нибудь архитектуры для этого? ? Ответьте здесь Классификация текста Как мы можем использовать машинное обучение для классификации текста? ?? Ответьте здесь Что такое мешок слов? Как мы можем использовать его для классификации текста? ?? Пакет слов-это представление текста, которое описывает появление слов в документе. Порядок или структура слов не рассматривается. Для классификации текста мы смотрим на гистограмму слов в тексте и рассматриваем каждое количество слов как функцию. Каковы преимущества и недостатки мешка слов? ?? Преимущества:
Недостатки:
Что такое N-граммы? Как мы можем их использовать? ?? Функция токенизации в последовательные последовательности слов называется n-граммами. С его помощью можно узнать N наиболее часто встречающихся слов (как часто за словом X следует слово Y) в данном предложении. Насколько большим должно быть N для нашего мешка слов при использовании N-граммов? ?? Ответьте здесь Что такое TF-IDF? Как это полезно для классификации текста? ?? Термин частота (TF) - это оценка частоты слова в текущем документе. Обратная частота документов (IDF) - это оценка того, насколько редко это слово встречается в документах. Он используется в сценарии, где сильно повторяющиеся слова не могут содержать столько информационного контента, сколько доменные конкретные слова. Например, такие слова, как” the", которые часто встречаются во всех документах, поэтому должны быть менее взвешенными. Оценка TF-IDF выделяет слова, которые различны (содержат полезную информацию) в данном документе. Какую модель вы бы использовали для классификации текста с помощью функции bag of words? ?? Ответьте здесь Вы бы предпочли модель деревьев градиентного бустинга или логистическую регрессию при классификации текста с помощью мешка слов? ?? Обычно логистическая регрессия лучше, потому что мешок слов создает матрицу с большим количеством столбцов. Для огромного количества столбцов логистическая регрессия обычно выполняется быстрее, чем деревья градиентного повышения. Что такое встраивание слов? Почему они полезны? Вы знаете Word2Vec? ? Ответьте здесь Знаете ли вы какие-нибудь другие способы получить вложения слов? ? Ответьте здесь Если у вас есть предложение с несколькими словами, вам, возможно, потребуется объединить несколько вложений слов в одно. Как бы вы это сделали? ?? Подходы ранжированы от простых до более сложных:
Вы бы предпочли градиентную модель повышающих деревьев или логистическую регрессию при выполнении классификации текста с вложениями? ?? Ответьте здесь Как можно использовать нейронные сети для классификации текста? ? Ответьте здесь Как мы можем использовать CNN для классификации текста? ? Ответьте здесь Кластеризация Что такое неконтролируемое обучение? ? Неконтролируемое обучение направлено на обнаружение отцов в данных, где нет никаких меток. Что такое кластеризация? Когда она нам понадобится? ? Алгоритмы кластеризации группируют объекты таким образом, что сходные характерные точки помещаются в одни и те же группы (кластеры), а несходные характерные точки помещаются в разные кластеры. Вы знаете, как работает K-means? ??
Как выбрать K для K-средних? ??
Какие еще алгоритмы кластеризации вы знаете? ??
Вы знаете, как работает DBScan? ??
Когда бы вы выбрали K-means и когда DBScan? ?
Уменьшение размерности Что такое проклятие размерности? Почему нас это волнует? ?? Данные только в одном измерении относительно плотно упакованы. Добавление измерения растягивает точки поперек этого измерения, раздвигая их еще больше. Дополнительные измерения распространяют данные еще дальше, делая высокомерные данные чрезвычайно разреженными. Мы заботимся об этом, потому что трудно использовать машинное обучение в разреженных пространствах. Знаете ли вы какие-нибудь методы уменьшения размерности? ??
Что такое сингулярная декомпозиция? Как он обычно используется для машинного обучения? ??
Ранжирование и поиск В чем заключается проблема ранжирования? Какие модели вы можете использовать для их решения? ?? Ответьте здесь Каковы хорошие неконтролируемые исходные линии для поиска текстовой информации? ?? Ответьте здесь Как бы вы оценили свои алгоритмы ранжирования? Какие офлайн-метрики вы бы использовали? ?? Ответьте здесь Что такое точность и отзыв в k? Точность при k и отзыв при k-это оценочные метрики для алгоритмов ранжирования. Точность при k показывает долю релевантных элементов в первых k результатах алгоритма ранжирования. А Recall at k указывает на долю релевантных элементов, возвращенных в топе k результатов из всех правильных ответов на данный запрос. Пример: для поискового запроса "автомобиль" в вашем магазине есть 3 релевантных товара. Ваш алгоритм поиска возвращает 2 из этих релевантных продуктов в первых 5 результатах поиска. Точность при 5 = # num релевантных продуктов в результате поиска / k = 2/5 = 40% отзыв при 5 = # num релевантных продуктов в результате поиска / # num всех релевантных продуктов = 2/3 = 66,6% Что такое средняя средняя точность при k? ? Ответьте здесь Как мы можем использовать машинное обучение для поиска? ?? Ответьте здесь Как мы можем получить обучающие данные для наших алгоритмов ранжирования? ?? Ответьте здесь Можно ли сформулировать задачу поиска как задачу классификации? Но как? ?? Ответьте здесь Как мы можем использовать данные о кликах в качестве обучающих данных для алгоритмов ранжирования? ? Ответьте здесь Знаете ли вы, как использовать деревья градиентного бустинга для ранжирования? ? Ответьте здесь Как вы проводите онлайн-оценку нового алгоритма ранжирования? ?? Ответьте здесь Рекомендательные системы Что такое рекомендательная система? ? Рекомендательные системы - это программные средства и методы, которые предоставляют рекомендации для элементов, которые, скорее всего, представляют интерес для конкретного пользователя. Каковы хорошие исходные условия при построении рекомендательной системы? ??
Что такое коллаборативная фильтрация? ??
Как мы можем включить неявную обратную связь (клики и т. д.) В наши рекомендательные системы? ?? В отличие от явной обратной связи, неявные наборы данных обратной связи не содержат негативных примеров. Например, явная обратная связь может быть положительной или отрицательной оценкой, но неявная обратная связь может быть количеством покупок или кликов. Один из популярных подходов к решению этой проблемы называется взвешенным чередованием наименьших квадратов (wALS) [Hu, Y., Koren, Y., & Volinsky, C. (2008, Декабрь). Коллаборативная фильтрация для неявных наборов данных обратной связи. В Области Интеллектуального Анализа Данных, 2008. ICDM ' 08. Восьмая международная конференция IEEE по (стр. 263-272). IEEE.]. вместо того, чтобы непосредственно моделировать рейтинговую матрицу, числа (например количество кликов) опишите силу в наблюдениях за действиями пользователя. Модель пытается найти скрытые факторы,которые могут быть использованы для прогнозирования ожидаемого предпочтения пользователя для элемента. Что такое проблема холодного старта? ?? Collaborative filterung включает в себя знания толпы, чтобы дать рекомендации по определенным пунктам. Скажем, мы хотим рекомендовать, сколько пользователь будет любить элемент, мы затем рассчитаем счет, используя рекомендации других пользователей для этого определенного элемента. Теперь мы можем различать два различных способа решения проблемы холодного старта. Во-первых, если есть новый пункт, который еще не был оценен, мы не можем дать никаких рекомендаций. Кроме того, когда появляется новый пользователь, мы не можем вычислить сходство с любым другим пользователем. Возможные подходы к решению проблемы холодного пуска? ???
Временные ряды Что такое временной ряд? ? Временной ряд - это набор упорядоченных во времени наблюдений, обычно собранных через регулярные промежутки времени. Чем временные ряды отличаются от обычной задачи регрессии? ? Принцип каузального прогнозирования состоит в том, что значение, которое должно быть предсказано, зависит от входных признаков (причинных факторов). При прогнозировании временных рядов ожидается, что прогнозируемое значение будет следовать определенному шаблону с течением времени. Какие модели вы знаете для решения задач временных рядов? ??
Если есть тенденция в нашей серии, как мы можем ее устранить? И зачем нам это делать? ?? Мы можем явно моделировать тренд (и/или сезонность) с помощью таких подходов, как метод Холта или метод Холта-Винтера. Мы хотим явно смоделировать тренд, чтобы достичь свойства стационарности для данных. Многие подходы к временным рядам требуют стационарности. Без стационарности интерпретация результатов этих анализов проблематична [Manuca, Radu & Savit, Robert. (1996). Стационарность и нестационарность в анализе временных рядов. Физика Д: Нелинейные Явления. 99. 134-161. 10.1016/S0167-2789(96)00139-X. ]. У вас есть ряд только с одной переменной “y”, измеренной в момент времени t. Как предсказать “y” в момент времени t+1? Какие подходы вы бы использовали? ?? Мы хотим посмотреть на корреляцию между различными наблюдениями Y. Эта мера корреляции называется автокорреляцией. Авторегрессионные модели-это модели множественной регрессии, в которых временные ряды исходного временного ряда рассматриваются как несколько независимых переменных. У вас есть ряд с переменной " y” и набором признаков. Как вы предсказываете " y” при t+1? Какие подходы вы бы использовали? ?? Учитывая предположение, что набор признаков дает значимую причинно-следственную связь для y, подход причинного прогнозирования, такой как линейная регрессия или множественная нелинейная регрессия, может быть полезен. В случае, если имеется много данных и объяснимость результатов не является высоким приоритетом, мы также можем рассмотреть подходы глубокого обучения. Каковы проблемы с использованием деревьев для решения задач временных рядов? ?? Модели случайных лесов не способны экстраполировать данные временных рядов и понимать возрастающие/убывающие тенденции. Он предоставит нам средние точки данных, если данные проверки имеют значения, превышающие значения обучающих точек данных. Источник: github.com Комментарии: |
|||||||||||||||||