Про интерпретацию ROC-AUC Дьяконов у себя в блоге хорошо написал. Это вероятность того, что два случайно взятых из выборки объекта разных классов будут упорядочены моделью корректно, то есть уверенность модели на объекте класса 1 будет выше, чем на объекте класса 0.
@@lerosh7894 ну про архитектуры моделек кажется релевантный вопрос, а вот про методы поиска ближайших соседей как будто бы излишне, это как с алгоритмами сортировки, ты просто их используешь) какие архитектуры обсуждали? что задизайнить задали?
@@noname-bi7ve там про методы поиска было в тему задачки на дизайн как раз, архитектуры энкодера, подробнее раскрывать задачу не хочу, некрасиво как по мне)
вообще не айтишник, не знаю зачем это включил и посмотрев хочу сказать одно - вы на каком языке говорите вообще и откуда его знаете? здесь же просто 0 чего-то известного и понятного обывателю, ужас)
Блин гойс объясните а смысл учить ответы на вопросы собесов если можно просто разобраться + выучить саму теорию? Это как будто бы по времени быстрее (особенно если в базе >200 вопросов) и больше понимания предметной области даст не?). Я к тому что если вы знаете саму теорию хорошо вы и так на все вопросы ответите. А так контент в кайф, мои любимые видео это хамский собес и трэш собес в стиле азазина.
Тогда Вадимыч тут просчитался чутка, он также включил туда же логистическую регрессию, а там есть сигмоида, которая как раз таки и добавляет этой самой нелинейности. По сути бустинг лог регресси это и есть нейронка
@@gernar228 бустинг на каждой итерации учится на mse на градиент по предыдущей комбинации, поэтому туда никак нельзя запихнуть логистическую регрессию.
Логистические регрессии бустить можно т.к. сигмоида даст нелинейность. В xgboost можно использовать линейную модель как базовый алгоритм через параметр booster:’gblinear’. (Но это уже не чистый бустинг, там нет ансамбля моделей). На практике это может быть полезно для прогнозирования временных рядов т.к. линейная модель умеет экстраполировать.
Для ROC-AUC: Ось Ox разбиваешь на такое кол-во равных интервалос, сколько объектов 0 класса в выборке, ось Oy - сколько объектов 1 класса. Сортируешь выборку по предсказаниям модели от большего к меньшему. Идешь сверху вниз и смотришь на колонку таргет. Если встретил объект 1 класса шаг вверх, объект 0 класса - вправо, если объекты 1 и 0 класса имеют одинаковое предсказание - по диагонали. Зачастую на собесе получается трапеция или трапеция и треугольник, у которых легко посчитать площадь. Остальные метрики легко загуглить.
@@tihnikroc auc не так строится. Для каждого порогового значения ищется tpr и fpr и отмечается координата на графике. Через все полученные координаты проводится линия (roc). Задача с собеса сводится к тому чтобы найти координату для одного порога
@@чел-в1ц3т в основном теор вер нужен для построения доверительных интервалов, проверке гипотез. Из матана для работы в классическом МЛ сложнее градиентного спуска в большинстве случаев ничего не требуется
ROC-AUC=0.5 верный ответ, в питоне проверить можно. На пальцах если объяснять - инверсия предсказаний никак не поменяет сортировку таргетов, это возможно только в том случае, когда рок-аук=0.5
Не, там еще два нулевых элемента внизу таблицы, просто их не видно. Их же 10, судя по описанию, 6 из них единичные. У меня 3/4 (или 18/24) ROC-AUC получился, не понимаю , откуда у собеседующего 19/24 вышло.
А у нас же вроде глубина дерева является гиперпараметром, то есть мы сами определяем сложность (частично). Но вообще наверно N * M * (количество вершин)?
В зависимости от того какую модель мы строим, как мне кажется. То есть мы же можем построить супер тупую модель которая всегда будет просто выдавать константу => количество вершин равно 1. Но при этом можем и обучить такую модель которая будет максимально переобучена и у неё будет столько листовых вершин, сколько данных в обучающей выборке,то есть N. ???
Именно, там в самом начале нужно отсортировать элементы по значению каждого признака и выбрать оптимальное разбиение. Это N*logN*M. Потом тоже самое надо повторить для двух поддеревьев, у которых N/2 элементов. Для каждого из них это займет N/2*M (поскольку до этого уже все отсортировали), в сумме будет N*M. Для следующего уровня нужно проделать тоже самое с 4мя деревьями по N/4 элементов в каждом, получим ту же сложность N*M. В дереве logN уровней, поэтому в итоге получим все те же N*M*logN. Итого общая сложность О(N*logN*M)
спасибо за видос, нужно больше таких видео!)
забавная тенденция - чем выше грейд, тем проще вопросы
Про интерпретацию ROC-AUC Дьяконов у себя в блоге хорошо написал. Это вероятность того, что два случайно взятых из выборки объекта разных классов будут упорядочены моделью корректно, то есть уверенность модели на объекте класса 1 будет выше, чем на объекте класса 0.
Собеседовался в т банк неделю назад, вопросы почти 1 в 1 были такие же 😂
+
Да, у них процесс собеседований сиандартизированный
Метишь на место Никиты? Ай-ай-ай
Очень круто! Спасибо!
Очень круто 👏🏽
ребят я поражаюсь что вы такие умные. это мне не на с++ фигнюшки писать..
Кажется, это собес на стажера/джуна, на сеньорскую нлп позицию совсем другие вопросы)
какие?
@@noname-bi7ve обсуждали архитектуры современных языковых моделек, разные жадные алгоритмы кнн типа как устроен annoy, hnsw + задачка на мл дизайн
@@lerosh7894 ну про архитектуры моделек кажется релевантный вопрос, а вот про методы поиска ближайших соседей как будто бы излишне, это как с алгоритмами сортировки, ты просто их используешь) какие архитектуры обсуждали? что задизайнить задали?
@@noname-bi7ve там про методы поиска было в тему задачки на дизайн как раз, архитектуры энкодера, подробнее раскрывать задачу не хочу, некрасиво как по мне)
Какую ЗП предложили?
лайк за видео, коммент для алгоритмов ютуба
Я делал бустинг над линейными моделями с слоями активации. Норм работает но деревья будут лучше.😅
вообще не айтишник, не знаю зачем это включил и посмотрев хочу сказать одно - вы на каком языке говорите вообще и откуда его знаете? здесь же просто 0 чего-то известного и понятного обывателю, ужас)
Кайф🎉
Блин гойс объясните а смысл учить ответы на вопросы собесов если можно просто разобраться + выучить саму теорию? Это как будто бы по времени быстрее (особенно если в базе >200 вопросов) и больше понимания предметной области даст не?). Я к тому что если вы знаете саму теорию хорошо вы и так на все вопросы ответите. А так контент в кайф, мои любимые видео это хамский собес и трэш собес в стиле азазина.
Вообще это точно т-банк судя по табличке. Но слишком лайт какой-то. Меня гораздо жеще спрашивали. Мейби позиция стажер-джун
Сеньоская позиция
А че у тебя спрашивали в кратце?
@@gernar228 Явно тип немного напутал задания либо ему лень было что-то сложное спрашивать
@@arti5946 Гораздо жеще за классику было. Скажем так не дефолтные вопросы
@@fivel6436 А можешь поделиться конкретными вопросами?
Поставил поставил я лайк, хватит держать этот неловкий зрительный контакт
У них задача на дебаггинг одна и та же уже 3 года 🥴
Бессмысленно использовать линейне модели в бустинге, потому что комбинация линейных моделей линейна
Тогда Вадимыч тут просчитался чутка, он также включил туда же логистическую регрессию, а там есть сигмоида, которая как раз таки и добавляет этой самой нелинейности. По сути бустинг лог регресси это и есть нейронка
ты прав, бессмысленно только для линейной регрессии
но на логистической не запускал, интересно что будет
@@gernar228 бустинг на каждой итерации учится на mse на градиент по предыдущей комбинации, поэтому туда никак нельзя запихнуть логистическую регрессию.
Логистические регрессии бустить можно т.к. сигмоида даст нелинейность.
В xgboost можно использовать линейную модель как базовый алгоритм через параметр booster:’gblinear’. (Но это уже не чистый бустинг, там нет ансамбля моделей). На практике это может быть полезно для прогнозирования временных рядов т.к. линейная модель умеет экстраполировать.
любая комбинация линейных моделей линейна?
Го пайтон бэкенд
Можно, пожалуйста, пояснительную бригаду на подсчёт ROC-AUC, и других метрик по табличке?
Для ROC-AUC:
Ось Ox разбиваешь на такое кол-во равных интервалос, сколько объектов 0 класса в выборке, ось Oy - сколько объектов 1 класса. Сортируешь выборку по предсказаниям модели от большего к меньшему. Идешь сверху вниз и смотришь на колонку таргет. Если встретил объект 1 класса шаг вверх, объект 0 класса - вправо, если объекты 1 и 0 класса имеют одинаковое предсказание - по диагонали. Зачастую на собесе получается трапеция или трапеция и треугольник, у которых легко посчитать площадь.
Остальные метрики легко загуглить.
@@tihnikroc auc не так строится. Для каждого порогового значения ищется tpr и fpr и отмечается координата на графике. Через все полученные координаты проводится линия (roc). Задача с собеса сводится к тому чтобы найти координату для одного порога
@@artemiy568 Алгоритм, который я описал также корректно посчитает roc-auc
@@artemiy568 ты бы не позорился, @tihnik все правильно написал, это и есть roc кривая в координатах fpr-tpr
Как думаете дадут оффер если мне 17 и пройду собес хорошо ?
когда 18 исполнится дадут
брооо ты офигеешь но мне тож 17 и я завтра в тинькофф иду на собес,надеюсь получится
А его взяли в итоге?
были финалы в две команды, предложили пойти в команду, которая меньше понравилась по задачам. В итоге вышел работать в другое место
@@tihnikподскажи, какие разделы математики нужны для data science?
@@чел-в1ц3т в основном теор вер нужен для построения доверительных интервалов, проверке гипотез. Из матана для работы в классическом МЛ сложнее градиентного спуска в большинстве случаев ничего не требуется
ROC-AUC=0.5 верный ответ, в питоне проверить можно. На пальцах если объяснять - инверсия предсказаний никак не поменяет сортировку таргетов, это возможно только в том случае, когда рок-аук=0.5
Не, там еще два нулевых элемента внизу таблицы, просто их не видно. Их же 10, судя по описанию, 6 из них единичные. У меня 3/4 (или 18/24) ROC-AUC получился, не понимаю , откуда у собеседующего 19/24 вышло.
Но если судить по тому что видно, то он прав. И это достаточно элегантный способ дать ответ без рисования графика
@@gernar228 Спасибо, я чуть не ёбнулся, пытаясь понять, где я был неправ, и почему рок-аук не 1/2 :)
@@wad881988 объясни, пожалуйста, как посчитать по данным без построения
Это видимо собес на стажера на обычную тинькофовскую позицию data science, в тинькофф AI вопросы поинтереснее
это и близко не стажер
У меня был в жизни 1 вводный курс ML, я и то ответил бы почти все вопросы, наверное. Странно, что на сеньора такие вопросы на собесе.
А какой курс ты проходил
@@floydic8632 Я имею в виду курс в университете (Высшая Школа Экономики в Санкт-Петербурге, ОП Экономика)
А на какую зарплату собеседовался? Это вообще джун или мидл позиция?
Скорее стажер
@@RibaKit-d7c как же дрочат стажёров нынче...
Собес был на сеньора
Так стажер или сеньор ?😂😂😂
@@arti5946 это синьорская позиция, запрашивал оклад 400-500к на руки
какие курсы по ds рекомендуете?
Оффер под ключ, конечно
А курсы тебе зачем?
Хард мл вроде норм на карпов курсес
А у нас же вроде глубина дерева является гиперпараметром, то есть мы сами определяем сложность (частично). Но вообще наверно N * M * (количество вершин)?
А количество вершин какое может быть?
В зависимости от того какую модель мы строим, как мне кажется. То есть мы же можем построить супер тупую модель которая всегда будет просто выдавать константу => количество вершин равно 1. Но при этом можем и обучить такую модель которая будет максимально переобучена и у неё будет столько листовых вершин, сколько данных в обучающей выборке,то есть N.
???
@@НиколайБезмен O(m*n*log(n))) - ответ
Именно, там в самом начале нужно отсортировать элементы по значению каждого признака и выбрать оптимальное разбиение. Это N*logN*M. Потом тоже самое надо повторить для двух поддеревьев, у которых N/2 элементов. Для каждого из них это займет N/2*M (поскольку до этого уже все отсортировали), в сумме будет N*M. Для следующего уровня нужно проделать тоже самое с 4мя деревьями по N/4 элементов в каждом, получим ту же сложность N*M. В дереве logN уровней, поэтому в итоге получим все те же N*M*logN. Итого общая сложность О(N*logN*M)
Дизлайк за поарошайничество лайков.
Как можно засрать удивительно простое и ясное явление как нейросеть ? Отдайте ее описание принципа работы не инженерам .