Aspiring Data Science – Telegram
Aspiring Data Science
386 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
#transferlearning

"Many people hold the view that learning should not be viewed as an isolated task that starts from scratch with every new problem. Instead, a learning algorithm should exhibit the ability to exploit the results of previous learning processes to new tasks. This area is often referred to as transfer of knowledge across tasks, or simply transfer learning. The term learning to learn is also sometimes used in this context.

The term representational transfer is used to denote cases when the target and source models are trained at different times and the transfer takes place after one or more source models have already been trained. In this case there is an explicit form of knowledge transferred directly to the target model or to a meta-model that captures the relevant part of the knowledge obtained in past learning episodes.

The term functional transfer is used to denote cases where two or more models are trained simultaneously. This situation is sometimes referred to as multi-task learning. In this case the models share (possibly a part of) their internal structure during learning."
#calibration #chainedlearning

Задумался, почему отдельное калибровочное множество помогает классификатору, даже если уже используется валидационное множество и ранняя остановка по "истиной скоринговой" метрике (типа логлосса).

Что удалось выжать из ИИ:

"Many ML models tend to produce poorly calibrated probabilities, often being overconfident.
Even if the larger validation set includes the same calibration data, training directly on it does not explicitly adjust probability estimates for better calibration.
A separate calibration step explicitly corrects systematic miscalibration, which improves probability-based metrics (e.g., log loss, Brier score, AUC in some cases).

Splitting into validation + calibration introduces an implicit regularization effect because:
The model's probability outputs on the validation set remain unchanged.
The calibration step learns an additional transformation to correct systematic biases, which is less likely to overfit than if the model had seen all the data at once.
If you train a calibration model (like isotonic regression) on all validation data at once, it could overfit the calibration mapping and be less effective OOS.

Standard model training optimizes classification accuracy (e.g., cross-entropy loss) but does not directly optimize for probability calibration.
Calibration methods, on the other hand, explicitly adjust probability distributions to minimize metrics like Brier loss or expected calibration error (ECE).
This difference means that models that look equally good on raw validation metrics may behave differently after calibration.

By calibrating on a held-out subset, you're reducing variance in probability estimates.
This smoothing effect makes your probability distributions more stable and generalizable OOS."

- Так погодите, значит ли это, что можно накидать ещё пару цепочек полезных трансформаций, и это сработает лучше, чем одна общая?

-Да, в этом есть смысл! Если калибровка работает как дополнительный корректирующий слой, то можно применить аналогичный подход для других полезных трансформаций. Это похоже на послойное обучение (layer-wise learning) или разделение функций оптимизации.

"Почему несколько отдельных трансформаций могут быть лучше, чем одна общая?

Разделение задач → Меньший риск переобучения

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

Адаптация под разные аспекты ошибки

Например, можно отдельно:
Устранить систематический сдвиг (bias correction).
Отрегулировать масштаб предсказаний (variance correction).
Откалибровать доверительные интервалы (quantile adjustment).
Каждая такая трансформация исправляет конкретный тип ошибки, а не пытается все исправить разом.

Влияние на обобщающую способность

Когда модель учится сразу на всём датасете, она может подстраиваться под шум и переобучаться.
Если разбить процесс на несколько последовательных этапов, это добавляет эффект регуляризации.

Как это применить на практике?

Основная модель → предсказывает сырые вероятности.
Калибровка (Platt scaling, isotonic regression) → исправляет систематические ошибки.
Дополнительная модель может корректировать редкие случаи (например, сильно несбалансированные классы)."
#calibration #regression

Ну хорошо, двигаемся дальше, нельзя ли эту логику обобщить на регрессию? Электронный болван согласен.

Yes! The same logic that makes post-calibration beneficial for binary classification can also be applied to regression tasks—though it is rarely discussed. Here’s why post-calibration can be valuable for regression and how it can be implemented effectively.


Why Would Regression Benefit from Post-Calibration?
Regression models output continuous values, but just like classification models, they can suffer from systematic miscalibration in their predictions. The key idea is that a model’s predicted values might be biased or have the wrong spread compared to the actual target distribution.

There are two main ways a regression model can be miscalibrated:

Mean Shift (Bias)

The model’s predictions systematically overestimate or underestimate the true values.
Example: A house price prediction model always underestimates expensive houses.

Spread Distortion (Misestimated Variance)

The model’s predictions have the wrong level of dispersion:
Too narrow → Underestimated uncertainty (overconfident)
Too wide → Overestimated uncertainty (underconfident)
Example: A temperature prediction model might always predict values within ±2°C, even when actual deviations are much larger.

How to Perform Post-Calibration in Regression?

Instead of calibrating probabilities like in classification, you adjust the magnitude and distribution of the predicted values in regression. This can be done in a few ways:

1. Post-hoc Mean Correction (Bias Calibration)

Take a held-out calibration set (separate from validation).
Compute the difference between the predicted and actual values.
Fit a simple correction model (e.g., linear regression) to adjust the predictions.

This works like Platt scaling in classification but for correcting systematic bias.

2. Quantile Regression Calibration (Fixing Spread)

Instead of just predicting the mean, we fit a secondary model to predict quantiles (e.g., 10th, 50th, 90th percentile).
This helps in cases where the model’s uncertainty is wrong.
#books #trading #chan

У Чана вышла новая книжка в соавторстве аж с 4мя людьми, "Hands-On AI Trading with Python, QuantConnect, and AWS".
Посмотрел несколько пошаренных страничек, удивился низкому качеству ML-кода. С точки зрения ML рекомендовать не могу, а с точки зрения "понять, какие задачи можно решать с помощью ML в трейдинге" - наверное, можно. Я удивляюсь, как могут люди много лет зарабатывать трейдингом и моделями деньги, и иметь ML знания на уровне ученика средней школы? Скейлеры применяют вне конвейера, используют GridSearch. Я понимаю, что это всё примеры, но зачем использовать в своих примерах плохие практики?
Aspiring Data Science
#hpo #hpt #metalearning #books Пересмотрев доклад, стал искать упомянутую книжку "Automated Machine Learning - Methods, Systems, Challenges". Она оказалась в свободном доступе, по виду хорошая, изучаю. Наугад полистал этот сайт на предмет интересной литературы…
#ensembling #cascading #delegating #arbitrating

Читаю "Metalearning - Applications to Automated Machine Learning and Data Mining". В главе про ансамбли с удивлением обнаружил весьма интересные алгоритмы.


1. Cascade Generalization

Cascade generalization is a type of stacked ensembling where models are arranged in a sequential, layered fashion. Predictions from earlier layers become additional features for models in later layers. Unlike traditional stacking, cascade generalization emphasizes using higher-level models to refine or augment lower-level predictions.

Key idea: Each layer’s models pass their predictions as additional inputs to models in the next layer.
Advantage: Can iteratively refine weak models, allowing later models to correct errors made earlier.
Example: A first-layer model predicts probabilities, and a second-layer model uses those probabilities along with the original features to make the final decision.

2. Cascading

Cascading refers to a progressive model selection strategy where simpler (cheaper) models are used first, and only ambiguous cases are passed to more complex (expensive) models.

Key idea: Reduce computational cost by filtering easy cases early.
Example: A decision tree quickly filters obvious negative cases, and only uncertain cases are sent to a more sophisticated deep learning model.

3. Delegating (or Selective Routing)

Delegating is a framework where multiple models exist, and an intelligent mechanism decides which model should handle each instance. This is also known as an expert selection approach.

Key idea: Different models specialize in different regions of the feature space, and a routing function determines which model should process a given input.
Example: In fraud detection, a rule-based system handles typical transactions, while an anomaly detection model analyzes suspicious ones.

4. Arbitrating

Arbitrating is a meta-learning approach where an additional model (arbitrator) decides which base model’s prediction to trust more. Unlike delegation, where models specialize in different regions, arbitration combines predictions but gives more weight to the most confident model.

Key idea: Instead of picking a single expert, the arbitrator dynamically adjusts confidence in different models.
Example: A reinforcement learning agent (arbitrator) learns which base model performs best in specific scenarios.

5. Meta-Decision Trees (MDTs)

Meta-decision trees (MDTs) are decision trees that learn when to trust each base model in an ensemble, instead of directly predicting the target.

Key idea: The decision tree’s leaves represent which model should be used for a given input, rather than the final prediction itself.
Advantage: Unlike traditional stacking, it explicitly learns a strategy for model selection.
Example: An MDT may learn that Model A performs best for low-income customers, while Model B works better for high-income customers.

Ещё Мастерс писал о чём-то, подобном Arbitrating, когда модели могут специализироваться в разных регионах области определения. Открытых реализаций в Питоне найти не смог навскидку.
🤔1
#russia #law

Похоже, рецепт высокого благосостояния для россиян наконец-то найден.

"К настоящему моменту сумма требований российских телеканалов к Google по поводу блокировки аккаунтов на YouTube достигла 1,8 дуодециллиона рублей. Подобная сумма превышает весь мировой ВВП."

https://3dnews.ru/1117573/arbitragniy-sud-moskvi-zapretil-kompanii-google-prodolgat-sudebnie-razbiratelstva-v-kalifornii
👍1😁1
#fun

Забавный этот Отар ) и зачастую правильные вещи говорит

https://youtube.com/shorts/W2BX0XBgqJs?si=uCkpNZjJg-61woF4
👍1
#competition #watersupply

Я сам начинал участвовать в этой сореве после поста Криса. Только я быстро бросил, после того как выяснилось, что организаторы налагают на решение искусственные дебильные ограничения. Аргументированно поспорил с организаторами, меня поддержал другой участник, но нам ответили, что дебильные ограничения остаются. Я решил не тратить время, через месяц получил уведомление, что ограничения решили всё-таки снять, но мне уже некогда было снова этим заниматься. А Крис молодцом, занял 4-е место, взял 1й приз по explainability, и узнал много нового )

https://mindfulmodeler.substack.com/p/how-to-win-an-ml-competition-beyond
#fun

Нечего искусственно радоваться жизни! )

https://youtube.com/shorts/OSQCVPrne6o?si=IUw-CpVyGrVkt5kl
#openml #hpo #hpt #metalearning

Очень близко к тому, что я хочу сделать, подошли Joaquin Vanschoren и Jan van Rijn с их открытой платформой по трекингу ML экспериментов openml. У них красивый сайт с визуализациями, рекомендую посетить.

На платформу можно загружать датасеты (там уже 6 тысяч), по ним платформа считает приличный набор 107 мета-признаков (qualities) и определяет кросс-валидацию. Далее, на нужном датасете для одной из заданных задач (классификация, регрессия, кластеризация), можно запустить конвейер (flow, уже представлено 22k разных), содержащий опциональный препроцессинг и модель, решающую поставленную задачу. Такой запуск конвейера называется run (их обсчитано уже 10M), его прогнозы модели на CV загружаются на платформу, она считает и хранит метрики. Всё вроде доступно по API и SDK. Есть версионирование всех компонент.

Вот так можно прогнать свою модель и "законтрибьютить" результаты:

from sklearn import ensemble
from openml import tasks, runs

# Build any model you like
clf = ensemble.RandomForestClassifier()

# Download any OpenML task
task = tasks.get_task(3954)

# Run and evaluate your model on the task
run = runs.run_model_on_task(clf, task)

# Share the results on OpenML. Your API key can be found in your account.
# openml.config.apikey = 'YOUR_KEY'
run.publish()


Это кажется идеальной стартовой точкой для разработки своего оптимизатора HPT, основанного на мета-обучении (по меньшей мере, для feasibility study). И вроде как auto-sklearn как раз использует (по кр. мере, частично) мета-обучение на базе openml.

Что настораживает:

насколько помню по последним бенчмаркам, опубликованным LaMa, auto-sklearn там не лидирует. Плоха идея или реализация?
представленные модельки не содержат, к примеру, катбуста. вообще.
кажется, что платформу не используют в промышленных целях, только в академических.
для задач классификации я не нашёл, как получить сырые вероятности. run.predictions возвращают метки, возможно, что и никак. хотя в метриках видны посчитанные roc auc.

После чтения их миссии и структуры сайта кажется, что команда не заинтересована в создании своего HPO/HPT решения, как бы это ни выглядело странным. Есть ли смысл пытаться с ними поработать вместе и улучшить их платформу, или лучше сразу пилить своё колесо?
👍3
#deepmind #alphageometry #llms #ai #gpt

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

Принятый подход объединяет два основных компонента: лингвистическую модель, способную генерировать предложения на основе подробного геометрического описания, и символический механизм DDAR (Deductive Database Arithmetic Reasoning), который проверяет логическую связность предлагаемых решений, создавая дедуктивное замыкание на основе доступной информации.

Проще говоря, модель Gemini AlphaGeometry2 предлагает символическому механизму шаги и конструкции на формальном математическом языке, и механизм, следуя определённым правилам, проверяет эти шаги на логическую согласованность.

Ключевым элементом, который позволил AlphaGeometry2 превзойти по скорости предшественника AlphaGeometry, является алгоритм SKEST (Shared Knowledge Ensemble of Search Trees), который реализует итеративную стратегию поиска, основанную на обмене знаниями между несколькими параллельными деревьями поиска. Это позволяет одновременно исследовать несколько путей решения, увеличивая скорость обработки и улучшая качество сгенерированных доказательств.

Эффективность системы удалось значительно повысить с новой реализацией DDAR на C++, что в 300 раз увеличило её скорость по сравнению с версией, написанной на Python.

Вместе с тем из-за технических особенностей AlphaGeometry2 пока ограничена в возможности решать задачи с переменным числом точек, нелинейными уравнениями или неравенствами. Поэтому DeepMind изучает новые стратегии, такие как разбиение сложных задач на подзадачи и применение обучения с подкреплением для выхода ИИ на новый уровень в решении сложных математических задач.

Как сообщается, AlphaGeometry2 технически не является первой ИИ-системой, достигшей уровня золотого медалиста по геометрии, но она первая, достигшая этого с набором задач такого размера.

При этом AlphaGeometry2 использует гибридный подход, поскольку модель Gemini имеет архитектуру нейронной сети, в то время как её символический механизм основан на правилах.

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

В DeepMind считают, что поиск новых способов решения сложных геометрических задач, особенно в евклидовой геометрии, может стать ключом к расширению возможностей ИИ. Решение задач требует логического рассуждения и способности выбирать правильный шаг из нескольких возможных. По мнению DeepMind, эти способности будут иметь решающее значение для будущего универсальных моделей ИИ."

https://3dnews.ru/1117969/iimodel-ot-deepmind-reshaet-zadachi-na-urovne-zolotih-medalistov-megdunarodnoy-matematicheskoy-olimpiadi
👍1