Подготовка к собеседованию на Machine Learning Engineer
Менторы
Специалисты своей области, которые смогут помочь вам
Middle .Net Developer
Senior Product Manager
Middle Python Developer
Ведущий программист
Backend Software Engineer (PHP)
Senior .NET/C# developer
Middle DevOps Engineer | Tbilisi, Georgia
Middle C# .NET
Senior PHP-разработчик
Middle python developer
Каналы
Полезные Telegram каналы и чаты
Транскрипция видео:
Всем привет моё имя Богдан я автор симулятор инженера машинного обучения место где вы можете получить опыт работы менеджера до того как устроитесь Мэри инженером либо же получить дополнительный опыт Если вы уже работаете либо мене инженером либо на другой специальности И хотите укоренять свои навыки и сегодня мы проводим мог интервью открыто собеседование с Вадимом одним из инженеров которые участвуют в симуляторе Привет Привет расскажи вообще вкратце симулятор и про свой опыт Мне кажется в симулятор попадает многие
00:00:03 - 00:01:39
после окончания курсов я не был исключением То есть я пошел учиться на startml и я понял что не хватает каких-то практических знаний и вот то что запустили симулятором или это было прям супер вовремя и я не раздумываюсь пошел туда и даже больше скажу что я после окончания курса Я понял что совмещать параллельно работу и учебу качественно учиться невозможно поэтому я принял решение уволиться и пойти целиком симулятор для того чтобы лучше впитать все знания прошлому опыту он никак не связан сойти
00:00:52 - 00:02:28
Я последнее время Работал главным специалистом авторского надзора Если ты знаешь что такое авторский надзор Если нет могу сказать это когда Проектный институт то есть какая-то проектная организация выпускает свои чертежи проекты и они непосредственно воплощаются в жизнь то выделяется там человек или группа специалистов которые непосредственно находится на стройке и решает либо на месте вопросы либо как-то пытаются их дистанционно решить задействовав ресурс со стороны из организации и вот я как раз таки работал
00:01:40 - 00:02:57
главный специалистом а наш Проектный институт проектировал метрополитен Я в Москве строил можно сказать метро построить метро Мне кажется задача тоже сложно за дизайнеть как это все будет выглядеть Да это было Это было непросто но это было интересно и очень сильно прокачал свои софты очень сильно прокачался в поиске и навыки решения опроса собеседника потому что не каждый человек может грамотно изложить сразу свои мысли и суть проблемы такое было хороший тренажер я у тебя в резюме видел пролив моделирование
00:02:21 - 00:03:39
через трансформацию классов да было такое Это было как тестовое задание на кегли там мы сколько там месяцев соревновались Вот и на самом деле я скажем так не вошел в топ но для меня это был хороший урок потому что я с агрегировал скажем так все знания которые были получены во время курса Старт тоннель в таком в практическом русле уже и у меня так они устаканились и было понятно уже как что нужно какие-то нужно делать для того чтобы модельку построить обучаешь сразу знания а расскажи вообще что за такая задача
00:02:59 - 00:04:24
отлив моделирования и что за классы там трансформируются задача полив моделирования состоит в том чтобы предсказать кому из клиентов Да допустим направить как на кого из клиентов по воздействовать для того чтобы они совершили дополнительную продажу то есть лифт Это разница между теми клиентами кому направится какой-то воздействие я не купят и если этого не совершить вот разница это вот как раз таки Apple вот трансформации Клиент купил и так и так трансформация классов Да они учитываются то есть у нас вот из этой матрички там
00:03:47 - 00:05:16
четыре варианта мы классу один присвоему те кто у нас не купит если мы не отправим СМСку и те кто купит если мы отправим им и они не купят не надо на них тратить деньги [музыка] наоборот Наоборот 11 это кто у нас купит и так мы на них деньги не тратим А на тех кто если мы не отправим не купят на них тратим деньги хорошо получается В какой задаче на обучение мы свели моделирование здесь классификацию верно А что если у нас в качестве выхода не купит не купит А сколько денег Сколько денег тогда это регрессивная
00:04:32 - 00:06:19
будет задача тогда это уже будет задача не через трансформацию классов а допустим через тоже дерево которое кстати есть на симуляторе медлей Я пытался и я пока не могу допустим представим ситуацию к нам приходит маркетологи говорят хотим модель тока для чего это халтурка на недельку справишься что какие твои действия Ну во-первых я подойду к маркетологам там или позвоню им Да там и спрошу для чего им нужна модель оттока что они в итоге хотят получить Ну то есть на что повоздействовать там да там то есть
00:05:28 - 00:07:06
понять хотя бы что мы будем там оптимизировать Да там или на что мы будем влиять от этого подобрать уже какую-то свою метрику для задачи вообще как вот относится задача моделирования и прогноза тока Я помню смотрел видео Валерия Бабушкина я забыл по-моему я помню что Валерий говорит модели только она не нужна две задачи с помощью модели оттока по моему также пытаются найти тех людей на которых нужно по воздействию для того чтобы они остались в облифте Мы также воздействуем людей но только чтобы они купили то есть в этом и
00:06:29 - 00:07:53
в этом случае мы пытаемся дозаработать скажем так на своей аудитории Ладно меня решаем задачу тока получили некоторую на выходе вероятность что пользователь течет как бы мы учитывая то что исходная задача Ну как бы было только не было бинарное как мы вот имея вероятности можем обработать выходы модели чтобы что-то Дальше сами делать принимать решение Я думаю что можно установить какой-нибудь trashold отсечку по которой мы будем говорить что человек скорее всего уйдет допустим это может быть там 50 процентов да там
00:07:16 - 00:08:42
уверенность 0,5 так далее И только по достижению этой отсечки воздействия этих пользователей которые превышает ее Какие метрики обычно используются оттекают понятно дело не ровно половина пользова здесь есть дисбаланс классов Какие метрики ты знаешь для дисбаланса классов для дисбаланса классов Я думаю здесь может подойти Взвешенный F1 мира и может подойти Rock PR это когда там precision recal расскажи подробнее Вот как можно подбирать отсечку для Ну вот пиар состоит у нас с каких метрик precision recola мы получили
00:07:58 - 00:09:39
вероятность оттока или какой-то скоро тока и мы хотим перейти к названным метрикам классификации вот как мы можем отсечку здесь подбирать За что каждый Метрика отвечает из этих двух и какая между ними вообще закономерность я начну чуть-чуть шага назад что у нас когда когда мы используем классификацию то у нас появляется так называемая Матрица ошибок когда у нас есть значение таргета и значение [музыка] непосредственной модели То которое нам предсказывает и Матрица ошибок у нас по диагонали если
00:08:49 - 00:10:30
мы берем то это у нас правильно предсказанный положительный класс правильно предсказанный отрицательный класс и по другой диагонали Это неправильно сказано положительно неправильно предсказанный отрицательный соответственно у нас прессижен это так называемая точность предсказание То есть это отношение Используйте то есть правильно предсказанных положительного класса на сумму Позитив плюс Представьте менеджер который не проходил Старт Мэри симулятор не знаю ничего ты мне объясняешь что вообще точность это у нас
00:09:40 - 00:11:11
что мы предсказали положительный класс и как можно меньше в этом ошиблись А recola это полнота это что мы как можно больше объектов положительного класса предсказали можно покрыли свои модели покрыли свои модели престижение нам важно чтобы мы не ошибились на первом классе положительных срабатываний а приколе Ну то есть мы например можем взять просто топ-5 но они Точно Вот все относятся к нашему нас классу а приколе Главное чтобы покрытие было больше А там если мы какие-то лишнее задеваем это уже не так
00:10:28 - 00:11:50
и соответственно возвращаясь к рок PR кривой Это получается что мы по различным вот этим трешолдам замеряем присяжные рекол и строим их на графике и соответственно Метрика PR ой Rock PR это будет площадь вот под кривой Допустим мы приходим К менеджеру говорим вот у нас площадь подберет кривой 1.9 такой четкое значение Он спрашивает А как мы можем Ну вот быть уверенным что завтра не будет там один из темы после завтра там два и два Вот как можно какое-то оценить диапазон в котором болтается во-первых я могу конечно ошибаться но
00:11:09 - 00:12:48
по-моему больше единицы не может быть не попался хорошо второе мы можем построить доверительный интервал э для изучения Рог но он у нас допустим же есть выборка на которой мы обучались и мы можем с помощью бутстропа повытаскивать и проитрироваться Да там несколько там тысяч раз и за счет этого построить доверительный интервал метро расскажи вообще как работает у нас допустим есть выборка она пришла к нам из генеральной совокупности Мы про которую мы ничего не знаем И у нас есть только вот эта выборка мы можем вытаскивать часть
00:11:59 - 00:13:39
значений из доступных выборки считать необходимые по ней там статистики и возвращать обратно значение сколько значение вытаскивает Можно Все можно все значений я вот этот момент не готов Я помню там есть нюанс какой-то но я себе в пометках ставил что я бы брал чуть меньше значение по количеству выборки Ну то есть чуть меньше чем основная выборка много раз дальше и мы получаем мы делаем с помощью быстро по вычисляем вычисляем какую-то статистику заносим ее естественно куда-нибудь там сохраняем Вот это количество раз и мы статистика
00:12:51 - 00:14:42
на нас озвучена задача интересует рок пиар Ну то есть мы достаем выборку обучаем на ней модель замеряем на нейрок пиар сохраняем результат Так мы повторяем повторяем мы еще раз обучаем модель делаем предсказание сказание на неё одна модель но мы несколько раз потому что тогда получается 10 тысяч раз обучать модель да и это уже получится по моему возможно так вот мы достаем с помощью мы делаем предсказание модели замеряем рок PR и сохраняем его так мы повторяем много-много раз и получаем какой-то
00:13:49 - 00:15:31
распределение нашей пиар значение и по [музыка] о данной выборки мы уже можем [музыка] вычислить доверительный интервал То есть если заданной точности То есть если мы берем там 95 процентов доверительный интервал то получается что нам нужно понтилям то есть по два с половиной 97,5 контилия взять интервал и в нем будет находиться наша значение пиар кривой Да хорошо сразу тогда дам обратную страху все правильно кроме вот то что ты не уточнил размер выборки правильно брать столько же сколько данных выборки у нас
00:14:48 - 00:16:29
повторениями то есть какой-то элемент будет там два раза три какой-то ноль раз но каждый раз тоже размер потому что иначе мы смещенную какую-то метрику будем оценивать а нет уже которая нас интересует Я может уточнить Правильно ли я понял что вот мы берем всю выборку но Допустим мы берем условно 10 процентов мы из него выкидываем И эти 10 процентов замещаем повторами вот взятой выбор не так мы берем выборку 1000 элементов мы сэмплим по тысяче элементов Но это вот Случайный из тысячи То есть какой-то
00:15:41 - 00:17:05
когда мы так случайно сэмплим несколько раз какой-то ноль раз там и так далее и каждый раз немножко будет перекос свою сторону и мы таким образом расшатываем нашу метрику получаем некоторую такую оценку потому что у нас выборка которую мы имеем это просто лучше самое большее что мы знаем о генеральной совокупности и мы по сути воспроизводим как бы мы сэмплились совокупности такой вопрос Если у нас нет возможности сэмплить тысячи раз у нас есть например посчитаны есть 5 моделей 5 фолдов и наша метрикой которую мы хотим оценить
00:16:23 - 00:17:48
исходя из того что ты сказал холды я могу предположить что можно их сравнить с помощью кроссволидации замерить их качество но этих моделей если вам просто усредним опять получим просто одну оценку нам нужно выбрать из пяти моделей одну лучше одна модель обычно 5 раз на разных и у нас на 5 разных болтах есть оценки наши метрики дал ответ то что кросс валидация такой игрушечные маленьких размерах но тоже за счет того что у нас разные холды мы получаем распределение и учитывая то что Ну в принципе
00:17:10 - 00:18:51
на метрике в каком-то виде метрики усреднения в силу известная теорема которую ты мне поможешь назвать симметрики Да что-то там усредняют Поэтому даже у такого маленького сэмплов будет асимптотически все сходиться к тому что у нас нормальных людей все можно оценивать я если правильно понял ты говоришь про Центральный предельную теорему собеседование Мне нужно воспроизвести Дания Я верю а возможно ты знаешь такой Адванс Вопрос какие бывают схемы распорядации Ну вот не в рамках разных задач А в рамках вот просто насколько
00:18:03 - 00:19:58
бить сколько повторений делать разбиение и как это влияет на какую-то там точность оценки наши метрики мы можем воспользоваться просто методом отложенной выборки самый простой тестовый кино Да там и на нем замерять качество Когда же мы используем непосредственно кросс фалидацию у нас Я знаю три варианта проведения кросс валидации обычно дефолт когда мы разбиваем на какое-то количество солтов равных и по очереди это все модель обучается на минус одном фалде и замеряется качественном хобби Это хороший вариант Когда у нас нет
00:19:13 - 00:20:41
временной зависимости в данных Когда у нас есть временная зависимость это у нас уже там Сири Сплит идёт мы в ней у нас нет временной зависимости у нас keefold и мы хотим определить сколько насколько Fall of Beats вот как мы принимаем решение на количество холодов насколько я помню когда вот как раз таки Я учился что есть такой момент что в идеале конечно чтобы количество фолдов равнялось количество элементов у нас наши выборки вот и это самый лучший вариант но он естественно очень для чего для точной
00:19:57 - 00:21:20
оценки потому что интересует неточная оценка мы сравниваем несколько моделей точность оценки Как по-другому называется Я возможно путаю конечно возможно а бас Да А какой еще есть свойство разброса между ними как раз таки проблема вот например если мы хотим замерить финальное качество модели нас интересует схема валидации с меньшей с меньшим смещением или с меньшим разбросом когда мы сравниваем модели между собой Да мы хотим финальное качество модели посчитать тогда я думаю что это должно быть все-таки
00:20:48 - 00:22:13
смещение у нас важно потому что нам важно как можно ближе оценивать наш параметр метрику довольно похожие модели Вот мы что-то там поменяли добавили набор новых вещей или там оптимизировали параметры и хотим сравнить и у них точность точнее смещение примерно одинаковое правильно Вот Но в таком случае нам нужно обращать внимание на разброс потому что Чем выше разброс тем у нас дальше могут улетать значения от истинного но здесь не про значение от истинного чем больше у нас разброс тем менее чувствительная схема валидации и мы если
00:21:38 - 00:23:14
сравниваем две модели одно лучше другой Она может быть просто в рамках их погрешности и мы на самом деле принимаем решение можно сказать по кофейной гуще а не на каком-то значимым уровне кстати про распределение право смещение Расскажи про Ну допустим мы построили нашу модель оплета у нас есть какая-то старая ручная подборка пользователей на которых мы воздействовать есть новая такая крутые машины обучением и мы проводим Расскажи Из каких основных компонентов состоит аб-тест Я помню в резюме было
00:22:28 - 00:24:09
как раз ты соболезненно освоился Да я решил эту задачу на симуляторе Ну значит в первую очередь мы выбираем метрику по которой мы будем делать выводы что у нас есть различия либо нет различий далее мы дизайнер уже сам эксперимент Мы сначала устанавливаем выбираем ошибку первого рода Но это ложноположительная ошибка это с частотой с которой мы будем фиксировать изменения тогда когда на самом деле этого изменения нет также после того как мы установили уровень значимости Да он обычно опять берет 05
00:23:20 - 00:24:45
берется мы устанавливаем ошибку второго рода это ложная отрицательное это тогда когда мы говорим что нулевая гипотеза верна тогда когда на самом деле есть изменения [музыка] группа А и Б обе ошибки играют роль Но ты все верно говоришь просто хочу чтобы ты приземлил это теперь на [музыка] Вот именно на метрике по группам можно положительная ошибка то есть ошибка первого рода это мы говорим что у нас новый алгоритм лучше хотя на самом деле он не лучше ошибка второго рода наоборот мы говорим что старые лучше не изменился
00:24:06 - 00:25:43
когда на самом деле второй оказался лучше так лучше или не изменился мы не замечаем что наш новый алгоритм он на самом деле лучший и принимаем Что старые все-таки лучше чем новый То есть это ошибка второго рода когда фактически Ну там Ну опять ты сказала что лучше на самом деле что со значимой разница между ними Нет хорошо потому что например можем заметить в том числе со значимую разницу и она будет Ну когда например второй алгоритм хуже и он тоже будет со значимая отличаться и мы поймаем это или не понимаем
00:24:56 - 00:26:23
например Расскажи что такое пивалью нулевая гипотеза вот эти все вещи это у нас вероятность [музыка] встретить такой же или более экстремально отклонение в данных про гипотезы это мы проверяем допустим какие-то если у нас различия в алгоритмах или нет И у нас нулевая гипотеза это то что у нас различий алгоритмах нет альтернативный гипотеза что есть и вот когда мы провели эксперименты замеряем метрики и сравниваем их между собой и высчитываем пиво или так называемый который нам говорит о том что вот ту разницу которая
00:25:41 - 00:27:05
мы видим между двумя алгоритмами с какой вероятностью мы можем встретить такую же или более еще значимую разницу более экстремальная более сильная и вот если она меньше чем наш заданный уровень ошибки первого рода то тогда можем сказать что у нас есть основания на то чтобы Отклонить в любой гипотезу и принять альтернативную почти все верно но можно еще более наговорить ты говоришь про разницу заметить разницу такой экстремальную на самом деле есть у любой статистики у любого теста не обязательно на
00:26:24 - 00:27:50
разницу средних можно что Мы заметили такое значение статистики или более экстремальное Да ну тут просто мне в терминах разницы проще воспринимать А как мы в тесте определяем сколько нам данных нужно и какую разницу можем задать насколько я помню Мы это можем проверить с помощью а-теста не проверить посчитать посчитать посчитать с помощью теста это такой тест Когда у нас есть две одинаковые выборки и мы по ним итеративно считаем статистики И сравниваем между собой ты сейчас говоришь про симуляцию
00:27:10 - 00:28:45
я говорил про Как мы можем посчитать по-моему если у нас есть если мы знаем что наши данные пришли из нормального распределения тогда мы можем использовать формулу [музыка] наверное сейчас я не воспроизведу но с помощью нее можно вычислить и минимально значимый размер выборки средний дисперсия нас интересует Если мы если мы считаем минимальный значимый эффект размер выборки если размер выборки мы считаем то у нас должен присутствовать еще мы договорились Сегодня могу догадаться что Ошибка первого рода и второго рода
00:28:02 - 00:29:27
Но на самом деле Да есть такая формула и она не только есть для нормального распределения есть также там для других феноменов и так далее а то что ты говоришь про интерактивно проведем тест это уже про действительно можно оценивать если мы не хотим искать формулу через симуляции Но обычно через них в конце уже проверяют действительно мы все правильно посчитали и выдерживаем заявленные уровни ошибок первого рода Расскажи как проводится симуляции И как понять что все правильно все готово недавно начал что у нас есть две выборки
00:28:51 - 00:30:33
они одинаковые Ну мы можем просто взять нашу выборку на исторических данных которые задают Только желательно чтобы на них по моему не было экспериментов чтобы не вызывать какие-то дополнительные шумы в данных берем одну выборку Да там между ними умножим на два мы считаем различаются ли между ними то есть мы считаем по ним статистики такого размера выборку Мы берем достаточно чтобы детектировать эффект различия между хорошо Мы только что брать сказали что мы по формуле посчитали размер минимальный размер необходимый выборки
00:29:43 - 00:31:04
такого размера дальше вот мы взяли выборки считаем по ним статистики И с помощью статистического критериев проверяем Если разница между выборками или нет И у нас доля того что у нас есть различия в этих выборках не должна превышать тот уровень значимости который мы изначально перед экспериментом поставили как будет выглядеть распределение равномерно [музыка] а как мы проверим теперь и какие мы здесь ошибки можем посчитать Ну вот мы посчитали здесь ошибку первого рода еще можно проверить ошибку второго рода мощность как это мы
00:30:30 - 00:32:17
делаем Что такое мощность мощность это обратная величина обратной ошибки второго рода а нет мощность симуляциях будто проверяем мощность мы сделаем симуляцию берем две заведомо различающиеся выборки мы можем из одной выборки взять части возьмем к одной выборке прибавим тот минимальный значимый эффект который мы посчитали по формуле И тем самым у нас будет различие выборки и вот уже эти две выборки мы будем сравнивать на бтесте симуляционно и посмотрим детектируем ли мы с необходимую мощность нужно вероятностью
00:31:24 - 00:33:01
и что мы там ожидаем и какое распределение в этот раз мы ожидаем здесь увидеть количество долек количество случаев когда мы детектируем различия должна быть столько же или больше чем мощность То есть это единица минус ошибка второе все правильно градиентный бустинг самая любимая тема как он работает Почему градиентный градиентный Бусик это такой вид сомблирования моделей базовых Когда у нас ошибки предыдущей модели является таргетами для последующей и так далее и так далее и так далее это все считается Градиент здесь Потому что
00:32:17 - 00:33:55
Мы берем производную считаем разницу между таргетом и предсказанием первой модели модель там допустим я берут самую простую которая там можно среднюю по всем таргетам поставили Вот и берут первый производную Да этого это получается что Градиент у нас Мы берем производную подставляем туда разницу между таргетом и отступа модели далее мы считаем коэффициент для второй модели для того чтобы минимизировать так скажем уже ошибку и дальше это поступает следующую модель и в следующую модель так и так далее Что за коэффициент
00:33:13 - 00:35:02
пропустил Ну такой поправочный коэффициент скажем весовой для того чтобы не будешь с другой моделью бустинга [музыка] в простом бустинге этого нету а в градиентным подбираются коэффициент что же такое Нет ты все верно говоришь что мы считаем Градиент ошибки и ты хорошо что потом сказал что Градиент ошибки они просто как-то вначале говорил и мы добавляем новую модель с фиксированным весом которые обозначаются как Learning Raid Это и так далее чтобы это если мы градиентом бустинге берем первое дерево Не совсем
00:34:13 - 00:35:59
понял вопроса Что будет у нас есть ансамбль где суммируются какими-то весами деревья каждый из них нам на что-то свое обучается после предыдущего И что если мы убираем первое дерево из этого ансамбре складываем все остальное если мы убираем первое дерево или выбираем убираем убираем первое дерево делаем предсказание смотрим на что-то там то есть это самый первый алгоритм по которому который делал предсказание потом отступы которого дальше уже практимировать правильно понимаю Не совсем ты верно сказал что мы берем средние по таргету
00:35:05 - 00:36:31
первое приближение место базы модели А ну в этом случае если первое дерево будет то там оно сильно же переобучиться под данной нет мы же уже ничего не обучаем но хорошо Я тебя запутал Да как правильно сказала Мы сначала берем средние подарки то потом считаем градиенты потом строим первое дерево потом второе дерево на том что на границе от ошибки предсказания среднего первого дерева и так далее первое дерево оно дает довольно большой модель А уже если убираем последнее дерево оно уже и там шумы какие-то маленькие
00:35:48 - 00:37:15
остаточки обучаются и она не сильно уровне метрику ну и соответственно что-то промежуточное средних там большой вес первой модели передается такой вопрос Вот есть у нас с разными акции ВУЗ целая jbm капуст может быть знаешь как принцип построения дерева у них различается в двух словах [музыка] капуст это детище Яндекса его особенностью заключается в том что оно из коробки может категориальная фичи обрабатывать у их же Boost у него по-моему идет одно дерево там есть принципиальное различие Я знаю что их же буста у него помимо
00:36:34 - 00:38:16
первой производной есть еще вторая производная когда давай вот именно про Дерево у Lite jbm он строится Ну то есть обрезается листы Ну то есть они только в одну сторону расширяется и он быстро быстрее работает ну то есть у него у нас есть только там один ответ это обрезанное дерево такое правильную сторону немножко округляешь некорректно в терминологии тоже некорректно Ты про правильно подумал Но то как Ты объясняешь Он работает Как же быть строятся дерево одно есть прям даже два слова я не вспомню
00:37:34 - 00:39:07
нет но могу по предположить что это связано с глубиной и либо с размером с количеством листьев но можно сказать да в их же быть все мы как строим вот у нас есть разбиение в каком-то признаку мы получаем например две группы элементов дальше мы к не разбили на две каждый из этих групп мы дальше не двигаемся А в LG beami У нас вот разбили на две У нас две новые ноды потом мы среди всех выбираем какую разбить разбили это на 2 теперь выбираем из этих трех Может быть сейчас лучше разбить еще эту на две а может быть лучше Вот это
00:38:29 - 00:39:58
разбить мы как бы всех одинаково принимаем и а это идет к тому что могут быть очень сильно асимметричные А их же будете они все ну вот сайте как зависит количество листьев от Глубины в их же пустеп Вайс деревьях они два в степени нас если глубина глубина 2 то у нас будет Два листа на 3 забьются еще будут 4 и так далее Вопросик Как можем тоже это что там много неуверенных своих моделях вот хотим сделали предсказание как-то оценить вот новых данных модель делает предсказания хотим оценить насколько
00:39:14 - 00:41:01
модель уверенно или не уверена своих предсказаниях модель регрессии градиентным бустинг регрессивный То есть как можем У нас есть метрики но Метрика это что-то про всю модель в целом а мы хотим именно на уровне одного объекта понять это объект который модели сильно понятно как предсказывает и хорошо В таких вот сейчас разбирается какой-то объект или это объект совершенно новый и типа предсказания которые она сделала она очень такой шаткое что мы можем сделать как можем какую-то оценку уверен с неуверенность
00:40:20 - 00:41:43
[музыка] Но я могу ошибаться но мне единственное что приходит на ум это вот посмотреть дисперсию насколько она изменилась [музыка] Ну у нас допустим когда дерево строится Да мы там разбиваем на признаки и смотрим насколько у нас изменилось допустим если мы говорим про регрессию насколько сильно изменилась у нас дисперсия то есть разброс пока еще не понимаю обычная модель на новых данных она делает предсказание как мы здесь какой-то дисперсию мы не знаем реальные Таргет найти просто хотим например отследить что чуваки на
00:41:01 - 00:42:40
этих данных мы уверены что модель знает что предсказала на этих есть сомнения Будьте Аккуратнее Ну возможно не знаю вызвать этот метод фьючером потенции Это не по объектам Ну хорошо сразу тогда подскажу есть задача третьего уровня симуляторе называется Бусинка Как можно оценивать уверенность предсказание модели в случае градиентов если совсем вермитрия такая вот у нас модель Как делать предсказания если модель уверена в этом объекте у нас деревья друг друга исправляют и если то она уже на первых стадиях на первых там
00:41:58 - 00:43:34
десяти стать нужным ответа следующий будет какой-то косметику вносить А если модель не уверена то от дерева к дереву на таких объектах и будет ворошить и можем там с каким -то какие-то такие Под ансамбли посмотреть как у них есть разногласия или нет И посчитать разброс и Мы это можем сделать на новых объектах спокойно по объекту то есть Можем Конечно все это сделать но таким образом точно оценить модели с такими объектами хорошо работает плохо работает Дальше расскажи про диплои Маша и сервисов
00:42:48 - 00:44:34
как-то вообще происходит что это такое зачем это нужно диплоид насколько понимаю это вывод Продакшен это уже непосредственно запуск модели и я так понимаю что еще автоматически до обучения модели можно сделать на новых данных которые происходят допустим у нас модель мы вручную обучать хотя бы просто как мы ее вводим в продакш и здесь есть элементы шаги подводные камни это задача но непосредственно у нас я еще не дошел к сожалению могут так порассуждать какие есть этапы рассуждают Да что первое что нам самое главное это Нужны
00:43:52 - 00:45:30
хорошие данные правильные без ошибок пропусков и так далее То есть пусть у нас хорошие данные уже Кстати как называется Может быть шаг может быть специальность которая занимается качественными данными Да ну допустим мы уже на стадии моделирования проконтролировали что данные хорошие все источники Вот именно сам тепло и как происходит что вообще мы делаем Ну у нас допустим модель висит где-нибудь в Облаке в том же да там или на серваке что такое висит Ну находится Что такое находится Ну то есть как я
00:44:45 - 00:46:32
понимаю что на каком-то сервере развернута Ну то есть там есть как сервис такой допустим какой-нибудь стажер обучил клевую модельку ноутбуке а как сделать так чтобы хорошая модель коллектив ноутбуке вдруг начала приносить деньги Ну то есть она должна выдавать там какие-то предсказания то есть по запросу к ней поступают данные в эту модель Ну как общается сервер клиент с помощью пул квест И что это за такие интересные ключевые слова путь когда мы что-то вносим я вот сомневаюсь может быть некорректно его
00:45:44 - 00:47:15
называю Да чувствуется когда мы пытаемся что-то изменить на севере либо в нашу модель то есть мы туда приносим где-то мы что-то забираем оттуда получаем какие-то предсказания там или еще вот и таким образом Когда у нас модель где-то висит в Облаке на сервере не поступают какие-то данные она их обрабатывает выдает предсказание мы забираем ее по гету по запросу и уже эти данные использую Какие ты знаешь [музыка] что угодно просто первое что приходит на ум это не орк это некоторые методология Как правильно вот эти самые запросы
00:46:35 - 00:48:33
оформлять структурировать библиотека по-моему так называется request Если я правильно помню Ну не совсем это еще не фреймворк это именно [музыка] сейчас как фиксируется версия библиотек а вдруг там обновление вышло и вдруг что-то может пойти не так ну Мне на ум приходит здесь только гид версионирование какие-то именно проход А вот в колледже используется много библиотек так и версия ты имеешь ввиду что когда мы допустим делаем модель мы там Файлик рекламируем версии библиотек фиксируем нас нужен Где используется Ну мы
00:47:43 - 00:49:17
допустим можем установить виртуальное окружение с помощью команды с этого файлика закачать все вот эти библиотеки именно в тех версиях которых мы проектировали и это будет гарантировать то что у нас не будет каких-то там ошибок не будет конфликтов с новыми версиями Потому что когда что-то где-то библиотека не фиксирована обновляется Потом что-то падает и день выяснять сервис deployds docker контейнере в котором фиксируется всю нужное окружение Все нужно там база данных библиотек чтобы наш наша модель или наш другой сервис
00:48:48 - 00:50:27
жил зафиксированном таком аквариуме окружение контейнере и здесь мотор от того что там меня обновляется в мире мы были уверены что она будет работать через год а за какими вот когда мы сервис уже с диплоили он работает метриками можем следить такие технические Может там пару-тройку назовёшь наверное время приема и время забора сигнала Ну ответа насколько там у нас велик этот Pink Насколько быстро работает сервис [музыка] видимо еще можно количество запросов [музыка] фиксировать тоже я думаю да потому что допустим
00:49:46 - 00:51:24
если мы не фиксируем количество там запросов Да к модели и вдруг там что-то упадет мы можем посмотреть мы можем не узнать что был какой-нибудь пиковый скачок Да там в запросах из-за этого модель упала это была именно в этом причина не в чем-то другом что если у нас нет требования на реакцию Нужно ли нам Ну в таком случае мне кажется Ну то есть естественно тут все цели зависит сначала для чего нам Для чего у нас используется этот сервис в каком месте наша бизнес цепочки по последний вопрос перед
00:50:35 - 00:52:09
кодинг завершением вот допустим у нас по каким-то причинам вдруг модель не посчитала предсказание у нас Real Time сервис и Ответ нужен быстро что мы тогда можем сделать можно [музыка] найти похожий запрос и выдать по нему вот эти вот ответ такой либо просто предыдущий какой-нибудь допустим как вот сказать если Бывает так что во временных рядах bestline это то что у нас ничего не поменялось то есть какие у нас запросы были да то они примерно такие же дальше будут и на основании этого можно предположить что либо поискать похожие
00:51:36 - 00:53:14
запрос из недавних Да там либо просто последний такой же какой-нибудь выдать похоже поискать это звучит как какая-то тоже задача тоже можно что-то пойти не так Может тоже довольно долго занимать только ты сказал про предыдущий вот ответ на запрос но скорее ты имел ввиду предыдущие какие-то значения действительно какое-то там упрощенная там кстати ты например делаешь модель предсказания какого-то временного ряда например прогноз спроса простой случай и вот чего бы ты начинал моделировать каких моделей таких подходов Я бы
00:52:30 - 00:54:06
наверное выбрал регрессию линейную в этом случае потому что она которая умеет в тренды Ну то есть она умеет еще проще Может проще линейной регрессии Я думаю что ну либо простой быдлайн то же самое что и было Вот энтом какое-то окно назад то есть Может там медиану средняя там Макс меню То есть ты дай даже есть какие-то признаки ты можешь просто подарки взять предыдущие и уже вот такой модели достаточно и для Full Back ответов сервисе и чтобы посмотреть что тебя работает все как бы нигде не падает и
00:53:30 - 00:55:14
потом уже Линейная модель это усложнение уже там дополнительные вещи которые там с агрегатом потому что только потом если игра стоит переходить к любимом бустингом тем более чем то еще более сложному То есть это условно такое итеративное усложнение У нас есть некоторый такой в голове всегда график вот типа время затраты вот там точность условно вот там Сколько денег можно принести и мы можем принести Ну как бы уже супер базой моделью Там просто средняя на агрегатах Линейная уже настолько много что там вот дальше
00:54:24 - 00:56:00
период осложнения там с помощью бусингов он там не стоит свечи мы там за неделю сделаем чем он там возиться очень долго с чем-то сложным что не такой большой прирост супер Давай тогда откроем Google и что-нибудь в этом духе сделаем простую задачку думаю за 5-10 минут это здание я многим давал собеседование многих она завалило задание очень простое Сейчас я вас спалю называется графики нет а напиши пожалуйста функцию ты можешь даже кстати в макдауне эти условия прописать Напиши пожалуйста функцию
00:55:12 - 00:56:42
которая выводит числа от одного до n Но если число делится на 3 вместо числа нужно выводить из Fi Z если число делится на 5 место числа нужно вводить баз и если число делится и на 3 на 5 нужно выводить из вас так если внутри [музыка] если на 5 если оба числа так и и на 3 на 5 у нас фисбас супер Значит нужно писать такую мы принимаем сюда число какой-то да [музыка] по-моему так если у нас внутри есть у нас на 5 Ну можно здесь попробовать такое в лоб решение что допустим как я здесь написал слова если у нас
00:56:00 - 00:58:22
делится без остатка на 3 но при этом у нас не делится без остатка на 5 то там выводить и так далее третий и получится что если делится это тогда [музыка] [музыка] [музыка] то [музыка] мы выводим просто бас просто [музыка] у нас он уже не должен делиться на три но при этом делится на 5 просто здесь можно написать [музыка] сейчас я пытаюсь просто вспомнить Мне просто кажется надо задать я сейчас думал о том что если я сейчас выведу как бы els чтобы напишу Принт физбасс то он во всех случаях кроме этих будет
00:58:06 - 01:00:06
выводить Принт это будет неверно Тогда здесь нужно сделать или единственное я [музыка] с этим моментом немного сомневаюсь Правильно ли выставил обозначение что принимаемые у нас тип аргумента должен быть винтовый запустил [музыка] не совсем так я ожидал случайно поставил троечку вместо ожидаемое поведение теперь Но я же сказал что нужно вывести число от 1 до n а оно выводит только одну строчку А так я прошу прощения Я когда писал сконцентрироваться на этих так еще раз если делится на три без остатка то получается
01:00:33 - 01:02:23
мы выводим физ и и плюс числа Повтори пожалуйста задание мы вводим числа от 1 до n если число делится на 3 выводим вместо числа при вот в данном примере которые сделал при числе 15 у нас должно было вывести [музыка] один два если тройка то это должно вывести [музыка] физ потом 45-65 [музыка] здесь тогда это нужно делать в цикле получается мы будем продвигаться от 0 до а N у нас кстати мы включительно или не включительно мы от одного до нет то есть мы если 15 Значит надо от 1 до плюс 1 Ну просто если мы делаем цикл
01:02:39 - 01:04:50
Все я понял in Range нужно от единицы до n + 1 правильно таком случае где но если мы хотим 15 включить в наш диапазон дальше мы выводим на каждом мы проверяем сейчас тогда получается может быть нам здесь просто нужно выводить и нам а нам нужно вывести именно последовательность все от одного по полностью То есть у нас тогда здесь у нас Нам нужно поменять и нужно поменять и правильно но проблема будет в том насколько я помню что у нас цикл прервется когда одно из этих действий выполнится насколько я помню
01:03:58 - 01:05:46
[музыка] Салам выглядит правильно на самом деле у этой задачи есть несколько еще шагов которые мы уже не успеваем которые уже не успеваем перейти но того что написал уже достаточно чтобы некоторых связь сдать да будем уже продвигаться к завершению целом прошел интервью довольно хорошо довольно уверенно были до моменты но в целом хорошо рассказал про модели про сдача певца про тепло тоже можно больше деталей прошивки Да не запутался можно сказать поймал меня на руках больше единицы Но вот в коде Да к сожалению
01:05:51 - 01:07:48
[музыка] есть куда расти есть еще много задач нерешенных видов стимуляторе например да вот вначале стайпингом запутался но хорошо что вообще про него знаешь и исправился правильно а Пеппа 8 не соблюдаешь отступала два вместо четырех Да можно говорить что там вот в голове по дефолту 2 Но если у тебя был бы вот именно работа руками большой опыт вопреки или там поменял в настройках делал чтобы просто было все это потом пробелы некоторые тоже там с операторами то есть тоже хорошо Блэком чтобы обычно Просто извини что
01:07:03 - 01:08:58
перебиваю я просто обычно грязно сначала пишу а потом уже почищаю да грязно нужно писать В смысле именно имплементации то есть алгоритмическая то есть то что ты начал просто первое что в голову пришло именно в лоб решить это типа вообще хорошо и нормально но например если мы будем именно анализировать алгоритмически то вот у тебя 35 я их в условии назвал по одному разу А здесь они в коде хардкорно написаны значит если я поменяю какое-то одно условие нужно будет менять код в трех разных местах что не хорошо что не
01:08:14 - 01:09:41
делает код гибким и адаптивным к меняющимся бизнес-требованием например могу слово поменять место физ поставить там фуз и тоже нужно в двух местах менять Хотя одно условие по тоже какие-то такие вот моменты можно делать гибче оптимальнее сразу думать наперед То есть как вообще делать так чтобы твой код можно было легко и просто там модифицировать изменять а не переписывать с нуля там под новую без логику нужно закладывать такие элементы Ну и то что пишет что же видно типа не бегала тоже нужно работать
01:08:57 - 01:10:27
и Ну это просто практикой нарабатывается может получить У нас знаешь стиль поэтому тоже этому ты скажи пожалуйста не бегает Что значит это не вслепую смысле что ты очень быстро пишешь не задумываешься вообще типа как там Какой оператор называется второй этаппинг называется и у тебя уже в голове Как таблица умножения все это все эти возможности просто скорость написания по сути Ну я знаю что мне нужно еще расти в именно в питоне Я знаю свои проблемы Да как вот некоторые говорят Hard skills или в профессии поэтому на самом деле ты
01:09:40 - 01:11:23
довольно хорошо прошел довольно уверенно как и сказал То есть в плане теории довольно хороший уровень Я советую Вадима пару недель пару месяцев симулятора будет просто боец куда Что нового Ты узнал ради этого мог интервью сам самое интересное что я запомнил это про бустинги и про уверенность их предсказание нового какого-то значения Потому что я в симуляторе этого не нашел не дошел до тут еще и интересная очень Такой тонкий момент может быть ты чего-то там боялся перед собеседованием А тут оказалось не так
01:10:41 - 01:12:32
страшно дом местами даже пострашнее в принципе я всегда волнуюсь [музыка] Да и поэтому мне что-то сейчас вспомнить из того что мы с тобой поговорили это будет сложно потому что эмоции такие являются сложно мне сложно проходил непроходимым чтобы ты посоветовал другим кандидатом который может быть не вызвались попробовать принципе все возможно вопрос приложимости усилий и времени [музыка] Я бы все равно бы рекомендовал бы вот нашим ребятам попробовать обязательно потому что это во-первых практический
01:11:42 - 01:13:05
опыт во вторых все равно повторяю участь вы знания все равно так скажем трамбуете в своей голове То есть это дополнительная такая практика и тренировка вот Ну и наверное самое важное в обучении это системность и отдых наверное Вот это правильно расставить обучение графика обучения отдыха Вот это залог долгосрочный такой цели достижения цели спасибо на этом тогда Спасибо большое [музыка] интересное полезно Желаю дальнейших успехов решения задач прохождения реальных собеседований Спасибо Спасибо
01:12:29 - 01:14:17