#ml #shap #interpretabiity #mutualinformation
О, этот удивительный мир халатности и безответственности. А может, просто здорового пофигизма? Как общеизвестно, пакет SHAP раскладывает предсказание модели для каждой строки данных на линейную сумму "вкладов" каждого признака, по сути формируя матрицу NxM (строк данных на число признаков). На базе этой информации SHAP предлагает пользователю несколько основных визуализаций:
1) summary всех признаков, отсортированные по убыванию модуля средней значимости на всём рабочем датасете
идёт в 2 вкусах: плоский одноцветный bar plot, где построен только модуль среднего, и более продвинутый beeswarm plot, где напротив признака отображены значения Шэпли этого признака для все строк данных. Да ещё и раскрашены в цветовой шкале значений этой фичи. Тем самым по beeswarm можно понять, к примеру, что в среднем повышение/понижение какой-то фичи сподвигает модель прогнозировать более высокий/низкий таргет.
2) объяснение индивидуального прогноза
идёт в 3 фасонах: force plot, waterfall plot, decision plot. последний обладает широкой функциональностью: может отображать несколько примеров сразу, работает с мультиклассовой классификацией, позволяет кластеризовать "пути" в пространстве признаков, по которым модель приходит к решению;
3) объяснение вклада индивидуального признака: scatte plot, ранее dependence plot. По X значение признака, по Y значение кэфа Шэпли для этого примера. Похоже чем-то на PDP по виду (но разная суть). И вот тут автор SHAP, видимо, вдохновлённый тем, что PDP может быть не только одномерным, предлагает бесплатно из коробки киллер фичу: так как по Y на графике все равно уже есть вариабельность, SHAP вам автоматически раскрасит точки в цвета...другой наиболее влияющей фичи (на основную фичу вашего графика). Звучит шикарно, и я думал, что "наиболее влияющая" уж в пакете-то SHAP определяется хитрыми интеракциями теории игр... Полез в код, куда там... Во-первых, там просто np.corrcoeff, во-вторых, и то на максимум 10_000 точек. Так а как же квартет Энскомба? Нелинейность у нас отменили? Хочу попробовать заменить пирсоновский corrcoeff на хотя бы взаимную информацию.
UPD: на мой взгляд, MI куда чётче разделяет низкие и высокие прогнозы. Пример в аттаче. Надо бы замёрджить PR.
О, этот удивительный мир халатности и безответственности. А может, просто здорового пофигизма? Как общеизвестно, пакет SHAP раскладывает предсказание модели для каждой строки данных на линейную сумму "вкладов" каждого признака, по сути формируя матрицу NxM (строк данных на число признаков). На базе этой информации SHAP предлагает пользователю несколько основных визуализаций:
1) summary всех признаков, отсортированные по убыванию модуля средней значимости на всём рабочем датасете
идёт в 2 вкусах: плоский одноцветный bar plot, где построен только модуль среднего, и более продвинутый beeswarm plot, где напротив признака отображены значения Шэпли этого признака для все строк данных. Да ещё и раскрашены в цветовой шкале значений этой фичи. Тем самым по beeswarm можно понять, к примеру, что в среднем повышение/понижение какой-то фичи сподвигает модель прогнозировать более высокий/низкий таргет.
2) объяснение индивидуального прогноза
идёт в 3 фасонах: force plot, waterfall plot, decision plot. последний обладает широкой функциональностью: может отображать несколько примеров сразу, работает с мультиклассовой классификацией, позволяет кластеризовать "пути" в пространстве признаков, по которым модель приходит к решению;
3) объяснение вклада индивидуального признака: scatte plot, ранее dependence plot. По X значение признака, по Y значение кэфа Шэпли для этого примера. Похоже чем-то на PDP по виду (но разная суть). И вот тут автор SHAP, видимо, вдохновлённый тем, что PDP может быть не только одномерным, предлагает бесплатно из коробки киллер фичу: так как по Y на графике все равно уже есть вариабельность, SHAP вам автоматически раскрасит точки в цвета...другой наиболее влияющей фичи (на основную фичу вашего графика). Звучит шикарно, и я думал, что "наиболее влияющая" уж в пакете-то SHAP определяется хитрыми интеракциями теории игр... Полез в код, куда там... Во-первых, там просто np.corrcoeff, во-вторых, и то на максимум 10_000 точек. Так а как же квартет Энскомба? Нелинейность у нас отменили? Хочу попробовать заменить пирсоновский corrcoeff на хотя бы взаимную информацию.
UPD: на мой взгляд, MI куда чётче разделяет низкие и высокие прогнозы. Пример в аттаче. Надо бы замёрджить PR.
Forwarded from Борис опять
В последнее время у меня в канале много постов о собственном сверхчеловечестве.
Вот что остается за кадром:
* Перестал читать статьи. Причем очень жалею об этом. Вчера первый раз за два месяца прочитал блог пост о статье и сразу начал галлюцинировать идеями стартапов. Статьи реально необходимая для развития штука, которая круто развивает воображение.
* Перестал проходить Anki. Накопилось что-то около 50 непройденных карточек. Мое золотое правило такое: если я за день прошел карточку в Анки, то день прошел не зря, потому что я хотя бы не откатился назад.
* Перестал системно заниматься курсом по Computer Vision. Мой план это реализовать на классическом CV panorama stitcher (сделано), классификатор, сегментатор и детектор. Плюс все базовые алгоритмы: billinear interpolation (сделано), Histogram normalization (сделано), Harris (сделано), SIFT (сделано на 90%, дальше бросил), HOG, RANSAC, итд.
* Спорта больше нет. Точнее все еще нет с конца февраля. Хотя бы стал делать 10-минутную разминку по утрам, чтобы все не болело.
* Хобби практически нет. Раньше я водил партии в Fate Core (настольная ролевка как DnD, но с большим фокусом на повествование, а не на кубы) и занимался пением. Теперь возобновил пение хотя бы раз в две недели.
* Общения практически нет. Тяжело поддерживать удаленный контакт с друзьями, хоть CRMку заводи. Но все реально, если прикладывать усилия: берешь и звонишь. Или общаешься с новыми знакомыми из местных эмигрантов. Или с коллегами с работы. Короче варианты есть, но я ничего не делаю.
Все из-за чего-то похожего на то, о чем пишет Лаида выше. Только в моем случае причина в постоянном переключении. И работа, и учеба, и адаптация в новой стране, и консультации по поиску работы, и преподавание в ОТУС, и пет проект в который я серьезно закопался, и друзья зовут делать ML на аутсорсе для рекламной компании.
Я очень сильно концентрируюсь на работе из-за того, что реальность оказалась не такой, как хотелось бы. Банально просел уровень жизни, но это не самое главное. Главное, что появилось ощущение, будто обстоятельства диктуют мне как жить: теперь ты просто чувак с работой белого воротничка, живешь в маленьком городке и трясешься о счетах за электричество. Возникает внутренний бунт. Кажется, что сейчас я похреначу и снова все будет красочно и искрометно. Конечно истиный путь это сесть в позу лотоса, принять реальность и просто жить в новых условиях, но я пока не познал дзен.
Вот что остается за кадром:
* Перестал читать статьи. Причем очень жалею об этом. Вчера первый раз за два месяца прочитал блог пост о статье и сразу начал галлюцинировать идеями стартапов. Статьи реально необходимая для развития штука, которая круто развивает воображение.
* Перестал проходить Anki. Накопилось что-то около 50 непройденных карточек. Мое золотое правило такое: если я за день прошел карточку в Анки, то день прошел не зря, потому что я хотя бы не откатился назад.
* Перестал системно заниматься курсом по Computer Vision. Мой план это реализовать на классическом CV panorama stitcher (сделано), классификатор, сегментатор и детектор. Плюс все базовые алгоритмы: billinear interpolation (сделано), Histogram normalization (сделано), Harris (сделано), SIFT (сделано на 90%, дальше бросил), HOG, RANSAC, итд.
* Спорта больше нет. Точнее все еще нет с конца февраля. Хотя бы стал делать 10-минутную разминку по утрам, чтобы все не болело.
* Хобби практически нет. Раньше я водил партии в Fate Core (настольная ролевка как DnD, но с большим фокусом на повествование, а не на кубы) и занимался пением. Теперь возобновил пение хотя бы раз в две недели.
* Общения практически нет. Тяжело поддерживать удаленный контакт с друзьями, хоть CRMку заводи. Но все реально, если прикладывать усилия: берешь и звонишь. Или общаешься с новыми знакомыми из местных эмигрантов. Или с коллегами с работы. Короче варианты есть, но я ничего не делаю.
Все из-за чего-то похожего на то, о чем пишет Лаида выше. Только в моем случае причина в постоянном переключении. И работа, и учеба, и адаптация в новой стране, и консультации по поиску работы, и преподавание в ОТУС, и пет проект в который я серьезно закопался, и друзья зовут делать ML на аутсорсе для рекламной компании.
Я очень сильно концентрируюсь на работе из-за того, что реальность оказалась не такой, как хотелось бы. Банально просел уровень жизни, но это не самое главное. Главное, что появилось ощущение, будто обстоятельства диктуют мне как жить: теперь ты просто чувак с работой белого воротничка, живешь в маленьком городке и трясешься о счетах за электричество. Возникает внутренний бунт. Кажется, что сейчас я похреначу и снова все будет красочно и искрометно. Конечно истиный путь это сесть в позу лотоса, принять реальность и просто жить в новых условиях, но я пока не познал дзен.
❤3
https://www.youtube.com/watch?v=km2Hd_xgo9Q
#joboffer #stayatthetable #ignoreultimatums
"Everybody has a plan until he gets punched in the face"
#joboffer #stayatthetable #ignoreultimatums
"Everybody has a plan until he gets punched in the face"
YouTube
How to Negotiate Your Job Offer - Prof. Deepak Malhotra (Harvard Business School)
Prof. Deepak Malhotra offers 15 pieces of negotiation advice, followed by Q&A, in an informal session for students at the Harvard Business School. Deepak is the author of:
- The Peacemaker's Code (new release in 2021): https://amzn.to/2YcfSEl
- Negotiating…
- The Peacemaker's Code (new release in 2021): https://amzn.to/2YcfSEl
- Negotiating…
https://www.youtube.com/watch?v=GLay7kksLtc&ab_channel=MicroConf
#startup
Don't charge early customers until they start receiving ample value
#startup
Don't charge early customers until they start receiving ample value
YouTube
How to Validate Your Idea & Launch to $7k in Recurring Revenue – Rob Walling – MicroConf 2014
Rob works step-by-step through his idea validation process and launch experience with Drip, an email service provider he launched in 2013.
MicroConf 2014
http://microconf.com
#microconf #microconf2014
Join our exclusive community for SaaS founders → ht…
MicroConf 2014
http://microconf.com
#microconf #microconf2014
Join our exclusive community for SaaS founders → ht…
https://3dnews.ru/1081225/moskovskiy-student-napisal-diplom-s-pomoshchyu-chatgpt-i-dage-smog-ego-zashchitit
"Алексей Жадан писал дипломную работу по теме «Анализ и совершенствование управления игровой компании». На начальном этапе он сгенерировал план работы по заданной теме и направил его научному руководителю. План пришлось переработать в соответствии с методическим пособием по написанию научных работ. Для этого студент попросил ChatGPT изучить справочный материал и адаптировать под него план диплома.
Для генерации введения к работе Жадан отправил чат-боту основной запрос на английском языке, а позднее просил дополнить материал из-за ограничений бота по количеству символов. Получившийся текст объёмом 6200 символов он перевёл на русский. Аналогичным образом была написана теоретическая часть работы. Чтобы сделать выводы по трём частям первой главы, студент скопировал последние абзацы каждой части и попросил чат-бота обобщить их.
Вторая и третья части работы требовали анализа с расчётами и практическими рекомендациями. Для их генерации студент нашёл похожую работу по другой компании и отправил её ChatGPT, попросив изменить содержание под свою тематику. В общей сложности на подготовку дипломной работы ушло 23 часа. Из них 15 часов ушло на написание материала через ChatGPT и 9 часов — на редактирование сгенерированного материала. При этом оригинальность диплома составила 82 %. Научный руководитель и дипломная комиссия отмечали несвязность и нарушение логики русского языка в работе, но Жадан смог защитить её, получив оценку «удовлетворительно»."
"Алексей Жадан писал дипломную работу по теме «Анализ и совершенствование управления игровой компании». На начальном этапе он сгенерировал план работы по заданной теме и направил его научному руководителю. План пришлось переработать в соответствии с методическим пособием по написанию научных работ. Для этого студент попросил ChatGPT изучить справочный материал и адаптировать под него план диплома.
Для генерации введения к работе Жадан отправил чат-боту основной запрос на английском языке, а позднее просил дополнить материал из-за ограничений бота по количеству символов. Получившийся текст объёмом 6200 символов он перевёл на русский. Аналогичным образом была написана теоретическая часть работы. Чтобы сделать выводы по трём частям первой главы, студент скопировал последние абзацы каждой части и попросил чат-бота обобщить их.
Вторая и третья части работы требовали анализа с расчётами и практическими рекомендациями. Для их генерации студент нашёл похожую работу по другой компании и отправил её ChatGPT, попросив изменить содержание под свою тематику. В общей сложности на подготовку дипломной работы ушло 23 часа. Из них 15 часов ушло на написание материала через ChatGPT и 9 часов — на редактирование сгенерированного материала. При этом оригинальность диплома составила 82 %. Научный руководитель и дипломная комиссия отмечали несвязность и нарушение логики русского языка в работе, но Жадан смог защитить её, получив оценку «удовлетворительно»."
3DNews - Daily Digital Digest
Московский студент за сутки написал диплом с помощью ChatGPT и смог его защитить
Студент бакалавриата из Москвы Александр Жадан написал дипломную работу с помощью чат-бота ChatGPT компании Open AI и смог успешно защитить её в вузе.
https://3dnews.ru/1081233/agiotag-vokrug-chatgpt-sposobstvoval-rostu-stoimosti-aktsiy-kompaniy-svyazannih-s-iskusstvennim-intellektom
Хмм, а что если мониторить гугл трендс, и покупать акции компаний, связанных с хайповыми штуками.. да не, чушь какая-то.
Хмм, а что если мониторить гугл трендс, и покупать акции компаний, связанных с хайповыми штуками.. да не, чушь какая-то.
3DNews - Daily Digital Digest
Ажиотаж вокруг ChatGPT запустил взрывной рост акций компаний, связанных с искусственным интеллектом
Стремительно взлетевшая популярность продвинутого ИИ-чат-бота ChatGPT компании Open AI способствует росту стоимости акций других компаний, так или иначе связанных с технологиями на основе искусственного интеллекта и в названии которых присутствует сочетание…
Forwarded from Техножрица 👩💻👩🏫👩🔧
Расскажу про одну статью, которая перманентно висит у меня во вкладках в браузере: https://arxiv.org/pdf/1908.08962.pdf . Называется Well-Read Students Learn Better: On the Importance of Pre-training Compact Models.
В этой статье рассказывается про уменьшенные версии модели BERT: от самой маленькой - 2 слоя attention, 2 головы attention на каждом слое (Tiny) до базовой - 12 слоев attention, 12 голов на каждом (Base).
Центральная тема статьи - трехэтапный метод обучения этих моделей, называемый Pre-trained Distillation (Figure 1 в статье или Рис. 1 в посте ниже). Имеется в виду следующая схема: сначала маленькая моделька предобучается на стандартной задаче Masked Language Modelling (учится угадывать пропущенные слова в текстах), потом в нее дистиллируются знания из большой модели (маленькую модель учат подражать "поведению" большой - в данном случае ее просто учат выдавать те же выходы, что и большая, на каждом показанном примере из датасета), и только затем происходит обычное дообучение (fine-tuning).
В результате получения столь всестороннего образования маленькие модельки начинают показывать достойные результаты на датасете GLUE (General Language Understanding Evaluation) - лучше, чем при стандартной схеме Pre-Training + Fine-tuning. Ну а самостоятельно испытать способности этих маленьких моделек нам предлагают прямо на хабе huggingface, куда они и были выложены: https://huggingface.co/google/bert_uncased_L-12_H-768_A-12 (правда, я не до конца уверена в том, после какого именно метода обучения выложены веса, об этом будет сказано ниже) .
Кроме сравнения разных методов обучения, авторы проводят еще и анализ того, как ширина и глубина влияют на качество модели. Мне очень понравилась эта тема, и я сильно залипла в график на Рис. 2 (также известный как Figure 6). Здесь PD означает Pre-trained Distillation, PF - Pre-trained Fine-tuning. Красным я отметила результаты, соответствующие размерам моделей, выложенных на huggingface. Справа от графика я поместила кусок из таблицы, выложенной на huggingface по ссылке.
Вроде бы, результаты из таблицы соответствуют результатам обучения после Pre-training (MLM) + Fine-tuning с графика. Но в моем эксперименте Tiny Bert с huggingface на SST-2 показала результат лучше, чем в таблице - на уровне Pre-trained Distillation. Может быть, у меня по-другому разбит датасет SST-2? Или они вставили на страницу в huggingface не ту таблицу и все-таки выложили модели не просто после Pre-training, а после Pre-trained Distillation (хотя тогда неясно, на каком именно датасете проводилась дистилляция, ведь говорится, что она task-specific)? Хотелось бы уточнить у авторов, но они пока не отвечают.
Ну а в общем и целом выводы из графика такие, что при продвинутых методах обучения (D, PD, PF) глубина модели в среднем дает больший выигрыш в качестве, чем ширина, а при простейшем методе (Fine-tuning без предварительного обучения) и глубина, и ширина на датасетах из GLUE помогают мало.
Кроме прочего, авторы сравнивают указанные методы с методом truncation (когда маленькую модель инициализируют некоторым подмножеством весов большой) + distillation, а также изучают влияние того, на каком именно датасете производилась дистилляция, на итоговую точность, в частности, немного написали про явление domain shift (это когда целевая задача и задача дистилляции сильно отличаются).
В общем, получился обстоятельный анализ, который можно использовать как справочный материал для своих исследований.
#объяснения_статей
В этой статье рассказывается про уменьшенные версии модели BERT: от самой маленькой - 2 слоя attention, 2 головы attention на каждом слое (Tiny) до базовой - 12 слоев attention, 12 голов на каждом (Base).
Центральная тема статьи - трехэтапный метод обучения этих моделей, называемый Pre-trained Distillation (Figure 1 в статье или Рис. 1 в посте ниже). Имеется в виду следующая схема: сначала маленькая моделька предобучается на стандартной задаче Masked Language Modelling (учится угадывать пропущенные слова в текстах), потом в нее дистиллируются знания из большой модели (маленькую модель учат подражать "поведению" большой - в данном случае ее просто учат выдавать те же выходы, что и большая, на каждом показанном примере из датасета), и только затем происходит обычное дообучение (fine-tuning).
В результате получения столь всестороннего образования маленькие модельки начинают показывать достойные результаты на датасете GLUE (General Language Understanding Evaluation) - лучше, чем при стандартной схеме Pre-Training + Fine-tuning. Ну а самостоятельно испытать способности этих маленьких моделек нам предлагают прямо на хабе huggingface, куда они и были выложены: https://huggingface.co/google/bert_uncased_L-12_H-768_A-12 (правда, я не до конца уверена в том, после какого именно метода обучения выложены веса, об этом будет сказано ниже) .
Кроме сравнения разных методов обучения, авторы проводят еще и анализ того, как ширина и глубина влияют на качество модели. Мне очень понравилась эта тема, и я сильно залипла в график на Рис. 2 (также известный как Figure 6). Здесь PD означает Pre-trained Distillation, PF - Pre-trained Fine-tuning. Красным я отметила результаты, соответствующие размерам моделей, выложенных на huggingface. Справа от графика я поместила кусок из таблицы, выложенной на huggingface по ссылке.
Вроде бы, результаты из таблицы соответствуют результатам обучения после Pre-training (MLM) + Fine-tuning с графика. Но в моем эксперименте Tiny Bert с huggingface на SST-2 показала результат лучше, чем в таблице - на уровне Pre-trained Distillation. Может быть, у меня по-другому разбит датасет SST-2? Или они вставили на страницу в huggingface не ту таблицу и все-таки выложили модели не просто после Pre-training, а после Pre-trained Distillation (хотя тогда неясно, на каком именно датасете проводилась дистилляция, ведь говорится, что она task-specific)? Хотелось бы уточнить у авторов, но они пока не отвечают.
Ну а в общем и целом выводы из графика такие, что при продвинутых методах обучения (D, PD, PF) глубина модели в среднем дает больший выигрыш в качестве, чем ширина, а при простейшем методе (Fine-tuning без предварительного обучения) и глубина, и ширина на датасетах из GLUE помогают мало.
Кроме прочего, авторы сравнивают указанные методы с методом truncation (когда маленькую модель инициализируют некоторым подмножеством весов большой) + distillation, а также изучают влияние того, на каком именно датасете производилась дистилляция, на итоговую точность, в частности, немного написали про явление domain shift (это когда целевая задача и задача дистилляции сильно отличаются).
В общем, получился обстоятельный анализ, который можно использовать как справочный материал для своих исследований.
#объяснения_статей
huggingface.co
google/bert_uncased_L-12_H-768_A-12 · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
❤1
Forwarded from Записки Ппилифа (Ppilif Uliankin [GMT+1])
Про собеседования по алгоритмам #собесы
Когда ты устраиваешься в ML или в аналитику, много где надо пройти секцию c кодом. Чаще всего на этих секциях встречаются довольно простые алгоритмические задачки.
На таких собесах хороший интервьюер пытается понять, как именно кандидат рассуждает и пишет код. Задача — это просто повод поговорить (плохой интервьюер заставляет вертеть красно-чёрные деревья, чтобы потешить своё чсв).
При подготовке к таким секциям люди задрачивают leetcode, но забывают про разговор. В итоге это приводит к тому, что на собесах возникают ступоры и кандидат уходит в себя. Он сидит и думает молча. Так делать нельзя, надо начинать рассуждать вслух.
Я бы готовился, в первую очередь, к разговору и учился бы на литкодных задачках рассуждать.
1. Читаешь условие. Проговариваешь свой алгоритм голосом. Оцениваешь голосом его сложность по памяти и времени. Если слишком большая, думаешь где ты в алгоритме делаешь лишние действия. Обычно, на секциях для аналитиков, все должно делаться за O(n).
Тут можно сформулировать самую грубую версию, оценить её сложность, а дальше в рассуждених улучшить её.
2. Если со сложностью все ок — проговариваешь голосом какие могут быть краевые случаи и как их надо обработать. Записываешь их.
3. Пишешь код в блокноте. Без автоподсказок и интерпретатора. Не запускаешь его до последнего.
4. Смотришь на получившийся код, выписываешь пару тестов для проверки — краевые и обычные, проговариваешь голосом, как тесты проходят сквозь код. Если нашел баг, правишь.
5. Запускаешь код. Если работает норм — комитишь на литкод. Если падает, смотришь тест, ищешь ошибку, правишь и больше не допускаешь.
Если ты на собесе будешь разговаривать с интервьюером по этой схеме, он будет счастлив. Говорю как интервьюер, которому доводилось проводить секции на код.
Решать задачи с литкода — это, конечно, хорошо. Что делать если не шаришь во всех этих О(n)? Я бы в таком случае прочитал грокаем алгоритмы. Читается за выходные и открывает кучу чакр.
Ну а дальше можно пойти на литкод либо пальнуть яндексовые видосы про алгоритмы с Густокашиным. К ним прилагаются контесты, которые можно порешать. Не забывайте делать это по схеме, которую я вкинул выше. В любом собеседовании — главное разговор, а не задача.
Когда ты устраиваешься в ML или в аналитику, много где надо пройти секцию c кодом. Чаще всего на этих секциях встречаются довольно простые алгоритмические задачки.
На таких собесах хороший интервьюер пытается понять, как именно кандидат рассуждает и пишет код. Задача — это просто повод поговорить (плохой интервьюер заставляет вертеть красно-чёрные деревья, чтобы потешить своё чсв).
При подготовке к таким секциям люди задрачивают leetcode, но забывают про разговор. В итоге это приводит к тому, что на собесах возникают ступоры и кандидат уходит в себя. Он сидит и думает молча. Так делать нельзя, надо начинать рассуждать вслух.
Я бы готовился, в первую очередь, к разговору и учился бы на литкодных задачках рассуждать.
1. Читаешь условие. Проговариваешь свой алгоритм голосом. Оцениваешь голосом его сложность по памяти и времени. Если слишком большая, думаешь где ты в алгоритме делаешь лишние действия. Обычно, на секциях для аналитиков, все должно делаться за O(n).
Тут можно сформулировать самую грубую версию, оценить её сложность, а дальше в рассуждених улучшить её.
2. Если со сложностью все ок — проговариваешь голосом какие могут быть краевые случаи и как их надо обработать. Записываешь их.
3. Пишешь код в блокноте. Без автоподсказок и интерпретатора. Не запускаешь его до последнего.
4. Смотришь на получившийся код, выписываешь пару тестов для проверки — краевые и обычные, проговариваешь голосом, как тесты проходят сквозь код. Если нашел баг, правишь.
5. Запускаешь код. Если работает норм — комитишь на литкод. Если падает, смотришь тест, ищешь ошибку, правишь и больше не допускаешь.
Если ты на собесе будешь разговаривать с интервьюером по этой схеме, он будет счастлив. Говорю как интервьюер, которому доводилось проводить секции на код.
Решать задачи с литкода — это, конечно, хорошо. Что делать если не шаришь во всех этих О(n)? Я бы в таком случае прочитал грокаем алгоритмы. Читается за выходные и открывает кучу чакр.
Ну а дальше можно пойти на литкод либо пальнуть яндексовые видосы про алгоритмы с Густокашиным. К ним прилагаются контесты, которые можно порешать. Не забывайте делать это по схеме, которую я вкинул выше. В любом собеседовании — главное разговор, а не задача.
🔥1
https://www.youtube.com/watch?v=iKW-WQO1d1A
#ml #timeseries #nixtla
Хочу потестить эту Никстлу, кто-нить уже пробовал?
#ml #timeseries #nixtla
Хочу потестить эту Никстлу, кто-нить уже пробовал?
YouTube
NixtlaVerse, bridging the gap between statistics and deep learning for time series | PyData NYC 2022
Time-series modeling – analysis, and prediction of trends and seasonalities for data collected over time – is a rapidly growing category of software applications.
Businesses, ranging from finance to healthcare analytics, collect time-series data daily to…
Businesses, ranging from finance to healthcare analytics, collect time-series data daily to…
Forwarded from NOdata Миша
Посмотрел, что умеет Notion и написал об этом на vc
Если статья окажется для вас интересной, то не забудьте поставить ей лайк 👍
https://vc.ru/future/599192-notion-ai-iskusstvennyy-intellekt-uzhe-i-v-zametkah
#статьи
Если статья окажется для вас интересной, то не забудьте поставить ей лайк 👍
https://vc.ru/future/599192-notion-ai-iskusstvennyy-intellekt-uzhe-i-v-zametkah
#статьи
vc.ru
Notion AI. Искусственный интеллект уже и в заметках — Будущее на vc.ru
Сегодня, когда я зашел Notion, то увидел это
❤1
Forwarded from Вастрик.Пынь
🤖 ChatGPT. Когда уже нейросети наконец-то заменят кожаных ублюдков?
Много меня просили написать свои мысли по поводу ChatGPT. Написал пока три.
1. ChatGPT заменит людей, но только тех, которые не осилят сам ChatGPT. А для остальных он станет просто ежедневным компаньоном (уже стал)
2. «Большие дядьки» обосрутся и побегут скорее запрещать и ограничивать нейросети. А у простых людей прокачается новый скилл: детектор, что перед тобой нейросеть
3. Да, поисковики умрут, но не потому что ChatGPT их заменит
Развернул тут: https://vas3k.blog/notes/chatgpt/
Много меня просили написать свои мысли по поводу ChatGPT. Написал пока три.
1. ChatGPT заменит людей, но только тех, которые не осилят сам ChatGPT. А для остальных он станет просто ежедневным компаньоном (уже стал)
2. «Большие дядьки» обосрутся и побегут скорее запрещать и ограничивать нейросети. А у простых людей прокачается новый скилл: детектор, что перед тобой нейросеть
3. Да, поисковики умрут, но не потому что ChatGPT их заменит
Развернул тут: https://vas3k.blog/notes/chatgpt/
😁1
#numpy #stats #percentile
А Вы задумывались, что вообще-то для вычисления перцентилей/квантилей есть КУЧА методов? По дефолту идёт линейный, но в доках в общем случае для неизвестного распределения рекомендуется median_unbiased.
Облом состоит в том, что numba параметр method не поддерживает.
А Вы задумывались, что вообще-то для вычисления перцентилей/квантилей есть КУЧА методов? По дефолту идёт линейный, но в доках в общем случае для неизвестного распределения рекомендуется median_unbiased.
Облом состоит в том, что numba параметр method не поддерживает.
👍1
https://www.johndcook.com/blog/2009/06/23/tukey-median-ninther/
#stats #tukey #ninther
Как эффективно вычислять медиану: взгляд из 1978.
#stats #tukey #ninther
Как эффективно вычислять медиану: взгляд из 1978.
John D. Cook | Applied Mathematics Consulting
John Tukey's median of medians | ninther
Yesterday I got an email from Jestin Abraham asking a question about Tukey's "median of medians" paper from 1978. (The full noscript is "The Ninther, a Technique for Low-Effort Robust (Resistant) Location in Large Samples.") Jestin thought I might be familiar…
#entropy #antropy #stats #informationtheory
Ботанам, которые любят считать энтропию, пригодится!
https://raphaelvallat.com/antropy/build/html/index.html
Ботанам, которые любят считать энтропию, пригодится!
https://raphaelvallat.com/antropy/build/html/index.html
✍2