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
#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
#books #metalearning #hpo #hpt #openml

Закончил чтение книги Metalearning. Applications to Automated Machine Learning and Data Mining.

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

Очень полезной оказалась глава про openML. Всмотрелся в список авторов книги, там оказались 2 основателя openml ))

Pavel Brazdil
Jan N. van Rijn
Carlos Soares
Joaquin Vanschoren

Мне любезно ответили, что сырые вероятности экспериментов в openml тоже хранятся, просто. видно, мне не повезло с конкретным запуском, в котором моделька не поддерживала вероятности.

Похоже, я могу использовать их накопленные данные для быстрого feasibility study, прикидки, а можно ли вообще получать какие-то осмысленные рекомендации гиперпараметров на новом датасете, а дальше уже двигаться своим путём.

Очень крутая работа с их стороны, и большое им спасибо. Я спросил, сами они HP тюнер свой не пишут, хотя "заветная мечта" такая, как я понял, на ранних этапах была.
#metalearning

"Meta-learning opportunities present themselves in many different ways, and can be embraced using a wide spectrum of learning techniques. Every time we try to learn a certain task, whether successful or not, we gain useful experience that we can leverage to learn new tasks.

We should never have to start entirely from scratch. Instead, we should systematically collect our ‘learning experiences’ and learn from them to build AutoML systems that continuously improve over time, helping us tackle new learning problems ever more efficiently.

The more new tasks we encounter, and the more similar those new tasks are, the more we can tap into prior experience, to the point that most of the required learning has already been done beforehand.

The ability of computer systems to store virtually infinite amounts of prior learning experiences (in the form of meta-data) opens up a wide range of opportunities to use that experience in completely new ways, and we are only starting to learn how to learn from prior experience effectively.

Yet, this is a worthy goal: learning how to learn any task empowers us far beyond knowing how to learn any specific task."
#hpo #hpt #autoweka

Недавно в дискуссиях поднимался вопрос, а какого вообще прироста ML метрик можно ждать от "умной" оптимизации гиперпараметров. Вот табличка из статьи про AutoWeka, Ex-Def это лучшая модель с дефолтными HP, поиску по сетке давали очень большой бюджет CPU, а случайному и умному гораздо меньший. Метрика- какой-то лосс (или error rate). Видно, что зачастую умный поиск улучшает метрику на десятки процентов, притом за хорошее время.
1
#ensembling #hpo #hpt #autosklearn

Вот какой интересный метод ансамблирования опробовали авторы оптимизатора auto-sklearn:

"Two important problems in AutoML are that (1) no single machine learning method performs best on all datasets and (2) some machine learning methods (e.g., non-linear SVMs) crucially rely on hyperparameter optimization.

While Bayesian hyperparameter optimization is data-efficient in finding the bestperforming hyperparameter setting, we note that it is a very wasteful procedure when the goal is simply to make good predictions: all the models it trains during the course of the search are lost, usually including some that perform almost as well as the best.

Rather than discarding these models, we propose to store them and to use an efficient post-processing method (which can be run in a second process on-the-fly) to construct an ensemble out of them. This automatic ensemble
construction avoids to commit itself to a single hyperparameter setting and is thus more robust (and less prone to overfitting) than using the point estimate that standard hyperparameter optimization yields. To our best knowledge, we are the first to make this simple observation, which can be applied to improve any Bayesian hyperparameter optimization method.

It is well known that ensembles often outperform individual models [24, 31], and that effective ensembles can be created from a library of models [9, 10]. Ensembles perform particularly well if the models they are based on (1) are individually strong and (2) make uncorrelated errors [6]. Since this is much more likely when the individual models are different in nature, ensemble building is particularly well suited for combining strong instantiations of a flexible ML framework.

However, simply building a uniformly weighted ensemble of the models found by Bayesian optimization does not work well. Rather, we found it crucial to adjust these weights using the predictions of all individual models on a hold-out set. We experimented with different approaches to optimize these weights: stacking [44], gradient-free numerical optimization, and the method ensemble selection [10].

While we found both numerical optimization and stacking to overfit to the validation set and to be computationally costly, ensemble selection was fast and robust . In a nutshell, ensemble selection (introduced by Caruana et al. [10]) is a greedy procedure that starts from an empty ensemble and then iteratively adds the model that minimizes ensemble validation loss (with uniform weight, but allowing for repetitions). We used this technique in all our experiments—building an ensemble of size 50 using selection with replacement [10]. We calculated the ensemble loss using the same validation set that we use for Bayesian optimization."
#autosklearn #hpo #hpt #automl

"Fig. 6.3 Average rank of all four Auto-sklearn variants (ranked by balanced test error rate (BER)) across 140 datasets.

Note that ranks are a relative measure of performance (here, the rank of all methods has to add up to 10), and hence an improvement in BER of one method can worsen the rank of another.

Due to the small additional overhead that meta-learning and ensemble selection cause, vanilla Auto-sklearn is able to achieve the best rank within the first 10s as it produces predictions before the other Auto-sklearn variants finish training their first model. After this, meta-learning quickly takes off."

Получается, лучше всего "докидывает" как раз мета обучение, а потом ещё и ансамблирование.
Matthias_Feurer_ROBUST_AND_EFFICIENT_AUTOMATED_MACHINE_LEARNING.pdf
8.2 MB
#papers #automl #hpo #hpt

Читаю сейчас кандидатскую диссертацию Matthias Feurer - ROBUST AND EFFICIENT AUTOMATED MACHINE LEARNING - Systems, Infrastructure and Advances in Hyperparameter Optimization.

Вот это чувак поработал над диссертацией, моё почтение! Не просто наплодил никому не нужных формул.

"Next, I would like to thank the academic and open source communities. Throughout the thesis I developed and maintained several open source packages (OpenML-Python and liac-arff; ConfigSpace, SMAC3 and Auto-sklearn). I am grateful for the opportunity to do so, and would like to thank everyone who contributed back to them to further improve the projects."
🔥1
#games #go

The exact number of legal Go positions was computed only in 2016 (Tromp, 2016); it is 208168199381979984699478633344862770286522453884530548425639456820927419612738015378525648451698519643907259916015628128546089888314427129715319317557736620397247064840935, and can be approximated by 2.081681994e170.
👍2
#categoricals

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

https://medium.com/@ordavidovitch/advanced-feature-engineering-and-regression-techniques-with-python-5239621731ac
#ensembling #featureselection #papers #todo

Ensemble Selection from Libraries of Models
Rich Caruana, Alexandru Niculescu-Mizil, Geoff Crew, Alex Ksikes

Простой метод ансамблирования 20-летней давности, возможно, незаслуженно обделённый вниманием. (Именно его авторы auto-sklearn отмаечают как превосходящий по качеству стэкинг.)

"We present a method for constructing ensembles from libraries of thousands of models. Model libraries are generated using different learning algorithms and parameter settings.

Forward stepwise selection is used to add to the ensemble the models that maximize its performance.

Ensemble selection allows ensembles to be optimized to performance metric such as accuracy, cross entropy, mean precision, or ROC Area. Experiments with seven test problems and ten metrics demonstrate the benefit of ensemble selection."

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

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

Находкой авторов, видимо, стоит считать выбор кандидатов с возвращением, когда вхождение модели в ансамбль может рассматриваться неоднократно, причём на разных этапах (эквивалент веса):

"Selection with replacement flattens the curve so much that a test set is not needed to determine when to stop adding models to the ensemble. The hillclimbing set can be used to stop hillclimbing. This means ensemble selection does not need more test sets than the base-level models would have used to select model parameters. Ensemble selection uses the validation set to do both parameter and model selection."

Что ещё очень интересно, для борьбы с оверфитом валидационного множества они вводят 50%-ный бэггинг моделей, но повторяют всю процедуру построения ансамбля 20 раз, так что итоговое решение - это среднее 20 ансамблей 🤪

Глядя на таблицу результатов, кажется, что стэкинг они реализовали неправильно, ну не может он быть таким плохим. Вот как они это объясняют:
"Stacking (Wolpert, 1992) with logistic regression performs poorly because regression overfits dramatically when there are 2000 highly correlated input models and only 1k points in the validation set."
Видимо, отсюда и проблемы, ведь стэкинг лучше делать на CV, а не на одном множестве.

Ко всей методологии сравнения у меня есть 1 большая претензия: похоже, что все тестовые множества были сгенерированы 1 раз. Ну не серьёзно. Я понимаю, что и так объём вычислений был большой, но... (

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

Я постараюсь повторить это исследование в рамках создания своего тюнера Diogenes, с бОльшим количеством HP-шек на модель, более современными моделями, метриками включающими и "резкость" и калибрацию, бОльшим количеством альтернативных методов ансамблирования.

Интересно, а если полностью затюнить ансамбль сначала на одну, потом на другую метрику, получится ли улучшить обе, как обсуждалось ранее?

Попросил "размышляющие" версии AI проанализировать интересные аспекты и слабости статьи. Deepseek R1 справилась куда лучше OpenAI O3-mini. Gemini 2.0 жёстко галлюцинировала.

https://www.cs.cornell.edu/~alexn/papers/shotgun.icml04.revised.rev2.pdf
#ensembling #papers

Getting the Most Out of Ensemble Selection
Rich Caruana, Art Munson, Alexandru Niculescu-Mizil

Вторая часть исследования ансамблирования прямым отбором. Реализовали CV, проверили эффект пре-калибрации участников ансамбля, рапортуют о двукратном увеличении преимуществ метода.

Из интересных открытий:

"Ensemble selection’s ability to optimize to any performance metric is an attractive capability of the method that is particularly useful in domains which use non-traditional performance measures such as natural language processing [14]. Because of this, the third aspect we investigate is what benefit, if any, comes from being able to optimize to any metric. Our experiments reinforce the intuition that it is best to optimize to the target performance metric;however, they also show that minimizing squared error or cross-entropy frequently yields ensembles with competitive performance—seemingly regardless of the metric."

"Interestingly, ensemble selection is hurt less by a small hillclimbing set than model selection, suggesting that it is less prone to overfitting than model selection. Because of this, the benefit of ensemble selection over the best models appears to be strongest when training data is scarce."

Ещё более интересно, оказывается, выгодно смешивать в ансамбле "сырые" и калиброванные модели:

"Having both calibrated and uncalibrated models in the library (ES-BOTH and MODSEL-BOTH) gives the best of both worlds: it alleviates the problem with FSC while retaining the RMS and MXE improvements."

Есть и достаточно неожиданные выводы:

"We test ensemble selection’s performance when only the best X% models are available for selection. These experiments confirm our intuition that the potential for overfitting increases with more models. Using only the top 10-20% of the models yields performance better than or equivalent to ensemble selection without this model pruning."

"Unlike with ensemble selection, using calibrated models for Bayesian model averaging improves performance on all metrics, not just RMS and MXE (significant at .05). With calibrated models, Bayesian averaging outperforms model selection but is still not as good as ensemble selection."

Мухаха, кажется, я понял, почему они полезли в такие дебри проверять миксы калиброванных/некалиброванных моделей: байесовское усреднение обогнало авторский метод, и они went an extra mile выясняя, при каких же настройках их метод всё-таки лучше ))

"Not only does cross-validation greatly improve ensemble selection performance, it also provides the same benefit to model selection. Five-fold cross-validated model selection actually outperforms non-cross-validated ensemble selection by a small but noticeable amount. However, ensemble selection with embedded cross-validation continues to outperform model selection."

"Although performance starts to decline at different pruning levels for the different problems, it is clear that larger
model libraries increase the risk of overfitting the hillclimb set. Using 100% of the models is never worthwhile. At best, using the full library can match the performance of using only a small subset. In the worst case, ensemble selection overfits. This is particularly evident for the COD data set where model selection outperforms ensemble selection unless pruning is employed. While further work is needed to develop good heuristics for automatically choosing an appropriate pruning level for a data set, simply using the top 10–20% models seems to be a good rule of thumb. An open problem is finding a better pruning method. For example, taking into account model diversity (see for example [11, 17]) might find better pruned sets."

https://www.researchgate.net/publication/220766367_Getting_the_Most_Out_of_Ensemble_Selection