Telegram Web
​​#разное

У меня отпуск, а потому опять пост про кино.

На днях ходил на "Оппенгеймера" (который прокатывается у нас под кодовым названием "Дубак"). Фильм мне понравился. Интересно сделан, хорошие актеры, нетривиальная тема. И уже породил достаточно мемов (есть повод поглядеть на их первоисточник).

Посыл фильма - это идея о том, что научный прогресс может быть как благословением, так и проклятием для человечества, в зависимости от того, как он используется и кто им владеет. Фильм показывает, как Оппенгеймер, который был мотивирован жаждой знания и желанием служить своей стране, стал создателем оружия, которое изменило ход истории и повлияло на судьбы миллионов людей. Фильм также показывает, как Оппенгеймер пытался справиться с последствиями своего открытия, которое принесло ему славу и почёт, но также врагов и обвинения. Из основных вопросов можно выделить: вопросы о том, какие границы должны быть у науки, какая ответственность лежит на учёных, какие цели и ценности должны руководить ими, и какой выбор они должны сделать между своей совестью и своими обязанностями.

И все это на фоне жизни главного героя, его гениальности и, в какой-то степени, безумия (одно обычно идет за руку с другим). Фильм обозревает достаточно большой промежуток времени, где-то около 30-40 лет. И имеет не очень-то линейную структуру (дратути, господин Нолан). Впрочем, там все достаточно понятно по развитию сюжета. Просто периодически происходят скачки во времени и меняется формат съемки (отсюда как раз стильное черно-белое изображение).

Смотреть ли этот фильм?

Пожалуй, стоит посмотреть.
А вот в кино, или дома - вопрос открытый (не скажу, что там есть много чего интересного для большого экрана).
13👍4
​​#interpretable_ml

Partial dependence plot (PDP) - это инструмент для визуализации влияния одной или нескольких переменных на прогнозируемую переменную в модели машинного обучения. PDP показывает, как изменяется ожидание прогноза при изменении значения одного или нескольких признаков. Интуитивно мы можем интерпретировать частичную зависимость как ожидаемый целевой отклик в зависимости от интересующих входных признаков. PDP может помочь понять, как модель учитывает различные факторы и какие из них являются наиболее важными для прогнозирования. При этом, обычно в расчет берутся одна-две переменные, иначе читать график PDP будет несколько затруднительно.

Для построения PDP необходимо выполнить следующие шаги:
- Выбрать признак (или группу признаков), для которой хотим построить PDP;
- Для каждого наблюдения в выборке заменить значение выбранного признака на некоторое фиксированное значение;
- Сделать прогноз для каждого наблюдения с измененным значением и усреднить полученные прогнозы по всем наблюдениям. Это будет значение PDP для выбранного фиксированного значения признака;
- Повторить предыдущие шаги для разных фиксированных значений и построить график зависимости PDP от этих значений.

Пример PDP можно посмотреть в изображении к посту (визуализация из примеров в sklearn). Кстати, можно поковыряться в исходниках sklearn, чтобы лучше понять реализацию (там ничего сложного нет, только по коду нужно поскакать немного).

Как и у любого метода, у PDP есть и некоторые ограничения:
- PDP может быть неточным, если есть сильная корреляция между переменными, так как он предполагает, что они независимы (это очень важное предположение, которое может сильно влиять на наши результаты и их интерпретацию);
- PDP может быть сложен для интерпретации, если есть сложные нелинейные зависимости или высокоуровневые взаимодействия между переменными;
- PDP может быть вычислительно затратным, если модель медленная или выборка большая.

В общем, PDP - это полезный инструмент для визуализации влияния переменных на прогнозы модели машинного обучения, но он требует осторожности и критического мышления при его использовании и анализе (впрочем, как и любой метод, такая уж у нас область работы).

Пару вариантов библиотек для построения PDP:
1. Библиотека scikit-learn, которая предоставляет класс PartialDependenceDisplay и функцию from_estimator для визуализации частичной зависимости для различных моделей машинного обучения. Документация по методам находится на этой странице.
2. Библиотека PDPbox, которая специализируется на построении pdp и ice (individual conditional expectation) графиков для разных типов переменных и моделей. Документацию и примеры использования этого инструмента можно найти на этой странице.
👍6
#statistics

Ловушка фиктивных переменных.

Давайте вспомним, что такое фиктивная переменная (dummy variable)? Вещь простая, но очень надежная. Предположим, у нас есть персонажи из анекдота - русский, немец и американец. Как нам закодировать их, если у нас есть некоторые табличные данные? Есть разные варианты, конечно. Но самый простой - это объявить 1 для наличия категориального признака и 0 для его отсутствия.

Но тут нас и поджидает ловушка джокера фиктивных переменных. Если мы закодируем каждый из признаков 1 или 0 (то есть, создадим 3 столбца), то получим чистую мультиколлинеарность. А как мы знаем, иметь ее в данных - это дело нехорошее.

Посмотрим на примере. Предположим, у нас есть немножечко данных такого вида:
alcogol | nation
0.5 | русский
0.3 | немец
0.1 | американец
0.7 | русский
0.1 | немец
0.2 | американец

Если закодируем переменную nation тремя столбцами, то получим такой вид:
1 | 0 | 0
0 | 1 | 0
0 | 0 | 1
1 | 0 | 0
0 | 1 | 0
0 | 0 | 1

А это значит, что у нас сумма этих столбцов всегда будет равна единице. Упс, получаем чистую мультиколлинеарность.
Потому что, если мы будем именовать значения в столбцах за Ai, Bi, Ci, то легко выразим, например, Ci в виде: Ci = 1 - Ai - Bi.

И что же делать?
Все просто - вместо k столбцов под каждую категорию, мы сделаем k-1 столбцов. Проблема решена.
Например, в нашем примере получим, что 0 и 0 для русского и немца означают американца (а все оттого, что у нас всего 3 категории, так что не являясь немцем или русским, человеку остается только быть американцем).

В принципе, это не особо большая проблема для всех сколько-нибудь адекватных статистических пакетов. Но если вы решите самостоятельно делать перевод категориальных значений в фиктивные переменные, помните о такой вот загвоздке.
👍16👎4
​​#books

Сегодня немного про художественную литературу. Недавно прочитал “Вьюрки” Дарьи Бобылевой. Это роман в рассказах (да, вот такая необычная форма). Впрочем, как по мне - многие рассказы скорее являются главами (сложно их воспринимать отдельными произведениями, слишком много чего завязано на предыдущие события и персонажей).

Книга повествует о жителях дачного поселка, которые оказываются отрезанными от внешнего мира летом, которое не думает заканчиваться многие месяцы подряд. Связи нет, дорога во внешний мир пропала, будто ее вовсе и не было, а соседи ведут себя странно. Вокруг происходят странные и загадочные события. Что же скрывается за этим кошмаром? Кто или что управляет их судьбами? И как им выжить в этом аду?

Стиль хороший, читается книга легко. Персонажи интересные, характеры разнообразные. Впрочем, персонажи имеют немного преувеличенные черты (что воспринимается скорее иронично, но кто-то может посчитать минусом). Ну и, конечно, русская хтонь и жизнь рядом с неведомым. Особенно забавно, как в итоге люди привыкают к жизни в безумном и опасном мире ("не, ну а что делать?"). Но вот это "забавно" может быть и минусом. Ироничное повествование снижает градус напряжения (что само по себе не плохо, все зависит от авторского замысла).

Еще интересным показалось использование фольклорных персонажей, характерных для славянской мифологии. Там есть и Полудница и Леший, и многие-многие другие. И как-то они прям хорошо встраиваются в жизнь обычного садового товарищества. Видимо, память веков в крови проявляется ;) ("не, ну а что тут такого (ver. 2)?")

P.S. На одной из обложек написано "самая страшная книга". Это преувеличение. Больше похоже на мистику или триллер, чем на хоррор, от которого в жилах стынет кровь.
9👍1
Forwarded from XOR
This media is not supported in your browser
VIEW IN TELEGRAM
SQLFlow - отличный инструмент для визуализации SQL-запросов. Легкий и простой интрумент для визуализация связей и структур БД, поддерживающий более 20 разных БД.

Демо – https://sqlflow.gudusoft.com/
Github – https://github.com/sqlparser/sqlflow_public/blob/master/install_sqlflow.md

@xor_journal
👍11❤‍🔥5
Про овощи

Если написать в текстовом редакторе слово «овощь», он подчеркнёт его красным и исправит на привычный нам вариант - «овощ». Но вы удивитесь, что слово «овощь» тоже существует.

Овощь - это собирательное существительное. Как, например, молодёжь/мебель. Даже Некрасов писал: «Вся овощь огородная поспела». Понимаете, да? Это как бы общее название для всех овощей в огороде. В единичном же экземпляре каждый овощ будет овощем без мягкого знака.

Поэтому оба слова существуют. Просто одно либо не используется совсем, либо используется неправильно. Будьте грамотными, а не редисками с грядки.
🔥11🤯11
#video

Коль уж вчера была пятница 13е (ну и если вы не хотите, чтобы вас защекотали до смерти) - то предлагаю посмотреть отличную лекцию про былички.

А быличка - это жанр устного народного творчества: рассказ «очевидца» о встрече с нечистой силой.
🔥5
Что я делал вчера весь вечер?

Правильно, генерировал в dalle-3 wojak'ов. Вот подборка лучшего (что-то из этого можно прям сразу на стенку или на футболку печатать).
🔥4👍3😁1🥴1
#statistics

Коллеги из X5 написали большую статью про то, как у нас завезли новые (и очень полезные) методы оценки и, по сути, изменили всю методологию статистической оценки пилотных инициатив.

Почитайте, там много интересного и полезного написано. Достаточно немало математики, много про наши внутренние процессы и проблемы (связанные с тем, что пилоты проходят не на сайте, а в безжалостном физическом мире ;)).
👍13🔥63
​​В последнее время что-то стал занят. Потому пока посты могут быть со случайной периодичностью, увы.

Всем добра!
😢87👍1
Forwarded from Записки Ппилифа (Ppilif)
Про speech2text и скорость смены чудес

Никогда раньше особо не работал со звуком. Максимум — дёргал ручку яндексового speech2text, чтобы вытащить из видосов текст и прогнать его через свои языковые модели.

Появилась задачка — прогнать много гигов записей сапорта через speech2text. Стал искать какую-нибудь SOTA в опенсорсе и узнал про whisper от OpenAI.

Запустил на тестовой пачке аудио мелкую модель, она выдала какой-то странный текст о том, кто первый пойдёт в ванную. Прослушал аудиозапись, там недозвон и нет ничего кроме гудков. Я не понял прикола и стал искать баг в коде, мб что-то закешировалось при загрузке. А потом кааааак понял.

Прослушал запись ещё раз и услышал еле заметные голоса на заднем фоне, которые поймал микрофон сапорта. Люди о чём-то разговаривали. Моё ухо не поймало, зато DL-модель прекласно поймала этот разговор и транскрибировала его. Ещё и в качестве бонуса на лету перевела его с локального языка на английский.

Когда модель выкладывают в паблик, часто сравнивают её качество с человеком. Впервые почувствовал на своей шкуре, как я проиграл модели. Всратые картинки с ImageNet, на которых фиг поймёшь чё нарисовано, меня не впечатляли, а транскрибация впечатлила довольно сильно.

Более того, в интернете валяется ещё и квантизованная, более быстрая и лёгкая версия faster-whisper. Любой школьник со знанием питона может поднять у себя в браузере в течение вечера.

Как впрочем и многие другие модели, выложенные в опенсорс. Мы вообще пока не осознаём, что будущее наступило и как-то слишком дежурно рассуждаем про новые технологии вроде DALLE и ChatGPT. Артур Кларк говорил, что

Любая достаточно развитая технология неотличима от магии.

Хочется поправить великого и воткнуть в середину цитаты лишнее слово:

Любая достаточно развитая технология поначалу неотличима от магии.

Технологические чудеса быстро превращаются в обыденность. В школе у меня был кнопочный телефон. Я любил фантастические фильмы. Когда я видел там сенсорные панели на дверях и компьютерах, мне хотелось, чтобы в реальной жизни было также. Проходит несколько лет, появляются планшеты и смартфоны. Поначалу это кажется чудом. Проходит ещё несколько лет, чудо превращается в повседневность.

И такая фигня происходит абсолютно со всеми сферами нашей жизни. Папа записывал мне фильмы на VHS-касcеты. В старшей школе я покупал кино на дисках, в вузе качал с торентов и перекидывал на флешку. Сегодня у ноутбуков нет разъема для дисков. Уже и флэшка - древность. Повсюду облака. За 30 лет несколько технологий для передачи информации сменили друг-друга.

Скорость превращения чудес в обыденность увеличивается. Буквально вчера все удивлялись системам распознавания лиц в крупных городах, дипфейкам и моделям, генерирующим связные тексты. Сегодня этим вообще никого не удивишь.

Моменты такого прорезния, как моё вчерашние офигивание от транскрибации, из-за этого становятся особенно ценными.
👍9
2025/10/19 14:28:49
Back to Top
HTML Embed Code: