Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#politics #ai #llms

"Джо Байден (Joe Biden) перед уходом с поста намерен ввести дополнительные ограничения на экспорт чипов искусственного интеллекта (ИИ), производимых, в частности, компанией Nvidia. Эти меры направлены на усиление контроля над передовыми технологиями и предотвращение их попадания в руки Китая и ряд других стран, включая Россию. Экспорт обученных ИИ-моделей также будет прекращён."

Получается, могут и онлайн доступ к ИИ нам закрыть?

https://3dnews.ru/1116530/administratsiya-baydena-naposledok-eshchyo-bolshe-ugestochaet-eksportnie-ogranicheniya-na-iichipi
#spacex

"Среди изменений Starship Version 2 значатся:

вакуумная оболочка линий подачи топлива;
новая система подачи топлива вакуумных двигателей Raptor на корабле;
улучшенный модуль авионики с управлением клапанами корабля и чтением датчиков;
переработанные датчики навигации и позиционирования по звёздам;
встроенные умные батареи и блоки питания, распределяющие 2,7 МВт мощности по системам корабля;
число камер на борту корабля выросло до 30.

Система авионики нового поколения потребуется при реализации будущих миссий — она поможет доказать, что Starship можно заправлять на орбите, и что корабль способен возвращаться на стартовую площадку. Starship получил более мощный бортовой компьютер и новые антенны — корабль сможет связаться со спутниками Starlink и GPS, что поможет ему транслировать видео высокой чёткости по каналу шириной 120 Мбит/с и телеметрию. Усовершенствована конструкция обшивки Starship — теперь она включает резервный слой на случай повреждения внешних плиток.

В ходе трёх последних запусков космические корабли благополучно производили посадку в Индийском океане, но при входе в атмосферу от их обшивки отрывались теплопоглощающие плитки, с трудом выдерживая воздействие температур до 1430 °C. Для предстоящего полёта с некоторых участков корабля инженеры вообще сняли плитку, чтобы «испытать на прочность» эти части; они также сгладили и сузили линию края плитки, где керамический теплозащитный экран переходит в обшивку корабля из нержавеющей стали — это должно помочь устранить проблемные «горячие точки», обнаруженные во время входа в атмосферу при последнем испытательном полёте. Будут испытаны несколько обновлённых вариантов плитки, в том числе с активным охлаждением. Наконец, во время спуска Starship будет лететь по более сложной траектории, что поможет выявить структурные ограничения закрылков нового образца в точке максимального давления при входе в атмосферу."

https://3dnews.ru/1116599/dlya-sedmogo-ispitatelnogo-polyota-spacex-podgotovila-bolee-visokuyu-i-tyagyoluyu-versiyu-starship
#wisdom

"A computer should make both
calculations and graphs. Both sorts of
output should be studied; each will
contribute to understanding."

Anscombe (1973)
#wisdom

All analytics models do well at what
they are biased to look for.

Matthew Schneider
#wisdom

When it comes to making predictions one cannot filter out outliers; one does not simply say ‘I am not going to produce a prediction for that particular point’.
#books #toboml

Читаю сейчас The Orange Book of Machine Learning: The essentials of making predictions using supervised regression and classification for tabular data автора Carl McBride Ellis. Как понял, это квинтэссенция его ML-курса.

Интересен его взгляд на концепции ML, начиная даже от выбора структуры книги (к примеру, я бы разделы организовал иначе). Ну и потихоньку узнаёшь неожиданные вещи, о которых раньше и не задумывался, например:

What is The Datasaurus Dozen?
The Mahalanobis distance is the multivariate generalization of the z-score.
The main thing we are looking out for are plateaux on the eCDF.
Kolmogorov-Smirnov test is based on finding the largest vertical distance between the two eCDF.

What is Conformalized quantile regression (CQR)?
XGBoost has Random Forest and is significantly faster than the scikit-learn implementation.

и т.д., так что советую прочитать эту компиляцию. Да, некоторые моменты спорные, английский немного хромает, но содержание может стоить потраченного времени, что-то увидите с других углов и сумеете лучше понять.

Ниже приведу наиболее понравившиеся лично мне сниппеты.

https://carl-mcbride-ellis.github.io/TOBoML/TOBoML.pdf
#toboml #missing

Donald Rubin created a taxonomy for different types of missing data, depending on how the data came to be missing in the first place.
• MCAR (missing completely at random) whether the data is missing or not has
nothing to do with the data itself.
• MAR (missing at random)
• MNAR (missing not at random) the p
#toboml #missing

Вот есть такая библиотечка missingno, похоже, стоит включить её в свой арсенал.
#toboml #stats #ecdf

The main thing we are looking out for are plateaux on the eCDF.

import numpy as np
x_eCDF = np.sort(data)
y_eCDF = np.arange(1, len(data)+1 ) / len(data)

and to plot both the histogram and the eCDF together

import matplotlib.pyplot as plt
fig, ax1 = plt.subplots(figsize=(15, 7))
twin = ax1.twinx()
ax1.hist(data, bins=12, density=False)
twin.plot(x_eCDF, y_eCDF, linewidth=5, color="red")
twin.set_ylim(bottom=0, top=None)
plt.show();
#toboml #stats #ecdf #kstest

Kolmogorov-Smirnov test is based on finding the largest vertical distance between the two eCDF.
#toboml #interpolation

Broadly speaking interpolation is when we make predictions within the convex hull of our training data, and extrapolation occurs when we make predictions outside of the convex hull of our training data.

Thus in order to avoid having to extrapolate it is desirable that the convex hull of the training data at least spans the very same volume as the convex hull of the test data. For this reason it is convenient in machine learning to keep infrequent extreme values in the training dataset as they serve to expand the convex hull. This space will be very sparse, but this is still preferable to letting the estimator extrapolate if it encounters extreme values in the test data.
#toboml #errors

Another interesting plot is a histogram of the prediction errors. Ideally the histogram should be symmetric, narrow and centered on our prediction (expectation value). The broader the histogram the greater the errors, and if it is strongly skewed this could indicate underfitting.
#wisdom

Every discovery contains an irrational element or a creative intuition.

Karl Popper
#wisdom

The only useful function of a statistician is to make predictions, and thus to provide a basis for action.

W. Edwards Deming
🤔1
#toboml #imbalanced #smote #articles


Whatever you do, do not use SMOTE or variants thereof to create synthetic data (see the excellent paper: “To SMOTE, or not to SMOTE?").

ABSTRACT
Balancing the data before training a classifier is a popular technique to address the challenges of imbalanced binary classification in tabular data. Balancing is commonly achieved by duplication of minority samples or by generation of synthetic minority samples. While it is well known that balancing affects each classifier differently, most prior empirical studies did not include strong state-of-the-art (SOTA) classifiers as baselines. In this work, we are interested in understanding whether balancing is beneficial, particularly in the context of SOTA classifiers. Thus, we conduct extensive experiments considering three SOTA classifiers along the weaker learners used in previous investigations. Additionally, we carefully discern proper metrics, consistent and non-consistent algorithms and hyper-parameter selection methods and show that these have a significant impact on prediction quality and on the effectiveness of balancing. Our results support the known utility of balancing for weak classifiers. However, we find that balancing does not improve prediction performance for the strong ones. We further identify several other scenarios for which balancing is effective and observe that prior studies demonstrated the utility of balancing by focusing on these settings.


Вообще данная статья оставляет двойственные впечатления. С одной стороны, много датасетов, разумность при отбрасывании "слишком простых" датасетов, выбраны сильные модели, обещан учёт метрик калибрации, вроде даже HPT, так что собирался её похвалить и привести в пример.

Потом выясняется, что смотрели в основном по ROC AUC (а нахрена, если основная претензия к выравнивателям баланса в том, что они разрушаю калибрацию?), HPT непонятно, делали ли вообще, зачем-то ввели какие-то "apriori хорошие" настройки - это что, прямая утечка? нафиг такое надо?

Если то, что у них названо validation HPs, это и есть HPT на validation set в общепринятом понимании, то какого фига перформанс для них всегда хуже, чем для a-priory HPs? как они вообще получили эти чудесные apriory HPs для всей сотни своих датасетов? Как они делали HPT, сколько комбинаций перебирали, может, 2-3? Ни слова в статье.

Ну и самое интересное: как, глядя на свои же графики, можно сделать неправильный вывод??
"With a-priori HPs, presented in Figure 1(a), all four SMOTE variants achieved considerably better prediction quality than their respective baselines. They were also better than the simple random oversampler. " Тут график интерпретирован верно.


Но вот дальше.. "Considering validation HPs, presented in Figure 1(b), balancing significantly improved prediction for the weak classifiers: MLP, SVM, decision tree, Adaboost and LGBM. However, for the stronger classifiers, XGBoost and Catboost, it did not." Чуваки, с каких пор LGBM является слабой моделью, и опять же, посмотрите на свои графики, всегда есть SMOTE-модель, которая как минимум не хуже бейзлайна. Так зачем обсирать метод, который для 7 из 9 моделей улучшает результаты, а для 2 остальных по крайней мере не ухудшает?


Я просто офигеваю с авторов. Они не проверили ни одной калибровочной метрики. только ROC AUC и F1. И этот автор оранжевого курса как попка за ними повторил "Whatever you do, do not use SMOTE or variants thereof to create synthetic data". Интересно, он сам вообще читал "превосходную статью", на которую ссылается?
#toboml #ccmp

Забавно, в оранжевой книге ML нашел главу на тему, по которой я, собственно, написал статью и сделал небольшое исследование, Convex combination of model predictions (CCMP).
У меня, однако, не прямое комбинирование, а несколько более хитрое.
Статья пока не опубликована, т.к. хотелось показать лучшие практики кодинга, и перфекционизм завёл в паралич )

У Карла есть целый блокнот на эту тему.
2
#wisdom

The greatest value of a picture is when it forces us to notice what we never expected to see.

John Tukey
#wisdom

There are two kinds of fools: one says, “This is old, therefore it is good”; the other says, “This is new, therefore it is better.”

William Ralph Inge (1931)
#toboml #boosting #anns #deepgbm

Ну и вот пример пассажа из оранжевой книги, с которым я не согласен, о бесполезности нейросетей в табличных данных.

When it comes to tabular data it has been found that artificial neural networks (ANN) are, quite literally, a waste of time.
In Figure 11.1, which plots performance against time (on a logarithmic scale), to the left we can see our linear and decision tree models and on the RHS are neural network estimators which at best on par with the Random Forest, and none achieving the SoTA performance of XGBoost or CatBoost seen at the very top of the plot. This is potentially because tabular data does not form a smooth continuous hypersurface, due to noisy data, missing values, categorical features, features with disparate ranges (for example salary and age, etc.) all working against the manifold hypothesis which neural networks make use of. In view of these performance and computational cost issues, unless one has a very good reason for wanting to use neural networks for tabular data I would be very much inclined to suggest sticking to the classical techniques we have seen earlier.

Карл, кажется, смешивает всё в одну кучу, коней, людей. Указывать как причину features with disparate ranges - это уже днище полное. Самое главное - нет ведь ограничений на "базовых учеников" в градиентном бустинге, ими вполне могут быть нейронки. Просто это почему-то не получило распространения.
Хотя, если погуглить, находится deepgbm, авторы которого в сравнении прямо побивают всех и вся. Надо бы самому его попробовать ) Хотя нет, там не бустинг над нейронками, там гибрид.

Короче, с таким деревянным шовинизмом я не согласен, Карл! ) Ты же сам рассказывал в предыдущих главах о No Free Lunch theorem.
Можно ли за 10 минут заполнить бэклог свободного рисерча на месяц?
Изи подумал я, засек время и начал это писать:

1) натренировать графовую нейронку на данных логов пользователей с таргетом - бизнес-метриках, чтобы использовать ускорения AB (типо matching с использованием сессий, но без нарушения sutva)

2) ту же нейронку проверить в сегментации (эмбединги + кластеризация)

3) её же использовать для поиска aha момента (ищем подграф с наибольшим приростом в метрике, чем-то типо имитаций shap)

4) кластеризовать товары потребительские корзины по БЖУ, времени сборки и составу (не состав = продукты в корзине, а состав = то из чего продукты состоят)

5) Научиться предиктить LTV по первым сессиям и вывести отсюда ключевые факторы успешного удержания в продукте

6) Вывести в отчетик "авто-факторный анализ" - тупо перегруппировать метрику по всем разумным атрибутам и отсортировать по приросту значимости изменений (DSensei это и делали на старте)

7) Исследовать есть ли сетевые эффекты в приложениях для заказа еды

8) Научиться считать стат. значимость shapley значений и ускорить любой ручной анализ "факторов успеха" в 10-100 раз

9-10) за 10 минут не успел зато честно 🗿

за 10 минут после написания нагуглил проекты только для 3 из 8 идей (aha моменты, прогноз ltv, автооанализ KPI), так что 5 - свободны, можно тестить.
Please open Telegram to view this post
VIEW IN TELEGRAM
12 выводов за 12 недель работы с GPT моделями:

1) на малых проектах 3-4 своих кастомных функции-обертки api сделать лучше, чем ковыряться в массивном langchain с 100 уровнями абстракций.

2) прокси для аналитики запросов лучше чем логирование в функциях и методах

3) модель пишет промпты для себя кратно лучше человека

4) базу знаний для RAG модель тоже лучше составит сама для себя из сырых данных

5) RAG с 4-20 примерами пока что сильно кост эффективнее запроса с огромным контекстом

6) для поиска по контексту в RAG может залететь попросить GPT сформулировать из сообщений и истории вопрос в базу знаний и искать новый контекст по этому вопросу.

7) RAG с цепочкой валидации в 2-3 шага улучшает ответы в 2-3 раза.

8) увеличение глубины шагов валидации дальше 3 не улучшает ответы в большинстве задач общения с клиентами

9) модели плохо понимают контекст отрицания, пишем только в прямолинейной логике.

10) подзадачи обработки лучше выносить в цепочку диалога, например, сначала просим ответить, потом проверить ответ на валидность, потом улучшить, потом отформатировать.

11) RAG + fine-tuning в свой GPTs работает сильно лучше просто RAG

12) в fine-tuning своего GPTs лучше передавать базовую инфу и руководства к стилю ответа, а не пытаться запихнуть часть инфы для QA

NB все субъективно, выводы из небольшого количества продовых продуктов (<20 Шт) и вообще все вокруг - галлюцинация SORA 😮‍💨
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1