#featureselection #rfecv
Некоторые мысли по поводу процесса отбора признаков в RFECV
1) Количество проверяемых признаков имеет свою стоимость. Проверить nfeatures=10 стоит гораздо дешевле, чем проверить nfeatures=1000 (скажем, на терабайтном датасете). С другой стороны, проверка 1000 фичей даст больше информации об их рейтинге, что будет полезно при выборе следующих кандидатов. Но опять же, за время проверки 1000 можно проверить сразу несколько более мелких комбинаций... Надо как-то учитывать этот баланс.
Пока ограничусь проверкой начальных сэмплированных значений (для обучения базы) в порядке возрастания, чтобы при срабатывании лимита времени успеть проверить больше комбинаций.
2) Можно ли совмещать FS с HPT прямо в процессе FS? Скажем, пока мы с помощью интеллектуального алгоритма из 1000 признаков проверяем 50 комбинаций nfeatures, можем ли мы одновременно варьировать гиперпараметры базового оценщика, чтобы собрать дополнительную ценную информацию? С точки зрения выбора следующего кандидата варьирование HPT обычно ничего не изменит (за исключением случаев когда HPT совсем уж явно изменит лидеров), т.к. всё равно будут использоваться ранги. А вот для последующего обучения на финальном наборе это может дать очень ценную информацию бесплатно, особенно если базовый оценщик тоже будет использоваться на финальной стадии конвейера. Плюс это повысит вариативность, и, соответственно, реалистичность оценок CV.
Проще говоря, если собирать инфу о рейтингах признаков неизбежно надо, причём обучая модельки, так давайте заодно менять при каждом обучении HP и дополнительно собирать данные о чувствительности итоговых метрик к гиперпараметрам?
Планирую сэмплить HP из допустимого множества для заданной базовой модели. Возможно, придётся вести список "опасных" значений HP, которые сильно увеличат время расчётов. Итоговые кортежи (hp,feature_stats,train_time,ml_perf) сохранять в отборщике признаков для посл старта в HPT.
3) А можно ли как-то ещё заюзать эти десятки и сотни промежуточных моделек из фазы FS? Понятно, они все обучены на разных количествах признаков, да ещё и лишь на CV частях train set. Но всё-таки даже на них будут затрачены большие ресурсы, и они представляют собой ценный актив. Ну хотя бы с точки зрения последующего ансамблирования, или точечной оценки уверенности в прогнозах (когда модельки расходятся во мнениях)?
Думаю опционально сохранять их в памяти и/или на диске, с указанием входных признаков.
4) Есть ли смысл в RFECV использовать сразу несколько базовых алгоритмов? Скажем, и catboost, и lgbm.
5) Как выяснилось недавно, у lgbm есть режим, когда листья дерева заменяются наклонными линиями регрессии. По идее, это позволит лучше моделировать связи, особенно на небольшом числе точек. Стоит ли попробовать такой сплайновый режим?
Некоторые мысли по поводу процесса отбора признаков в RFECV
1) Количество проверяемых признаков имеет свою стоимость. Проверить nfeatures=10 стоит гораздо дешевле, чем проверить nfeatures=1000 (скажем, на терабайтном датасете). С другой стороны, проверка 1000 фичей даст больше информации об их рейтинге, что будет полезно при выборе следующих кандидатов. Но опять же, за время проверки 1000 можно проверить сразу несколько более мелких комбинаций... Надо как-то учитывать этот баланс.
Пока ограничусь проверкой начальных сэмплированных значений (для обучения базы) в порядке возрастания, чтобы при срабатывании лимита времени успеть проверить больше комбинаций.
2) Можно ли совмещать FS с HPT прямо в процессе FS? Скажем, пока мы с помощью интеллектуального алгоритма из 1000 признаков проверяем 50 комбинаций nfeatures, можем ли мы одновременно варьировать гиперпараметры базового оценщика, чтобы собрать дополнительную ценную информацию? С точки зрения выбора следующего кандидата варьирование HPT обычно ничего не изменит (за исключением случаев когда HPT совсем уж явно изменит лидеров), т.к. всё равно будут использоваться ранги. А вот для последующего обучения на финальном наборе это может дать очень ценную информацию бесплатно, особенно если базовый оценщик тоже будет использоваться на финальной стадии конвейера. Плюс это повысит вариативность, и, соответственно, реалистичность оценок CV.
Проще говоря, если собирать инфу о рейтингах признаков неизбежно надо, причём обучая модельки, так давайте заодно менять при каждом обучении HP и дополнительно собирать данные о чувствительности итоговых метрик к гиперпараметрам?
Планирую сэмплить HP из допустимого множества для заданной базовой модели. Возможно, придётся вести список "опасных" значений HP, которые сильно увеличат время расчётов. Итоговые кортежи (hp,feature_stats,train_time,ml_perf) сохранять в отборщике признаков для посл старта в HPT.
3) А можно ли как-то ещё заюзать эти десятки и сотни промежуточных моделек из фазы FS? Понятно, они все обучены на разных количествах признаков, да ещё и лишь на CV частях train set. Но всё-таки даже на них будут затрачены большие ресурсы, и они представляют собой ценный актив. Ну хотя бы с точки зрения последующего ансамблирования, или точечной оценки уверенности в прогнозах (когда модельки расходятся во мнениях)?
Думаю опционально сохранять их в памяти и/или на диске, с указанием входных признаков.
4) Есть ли смысл в RFECV использовать сразу несколько базовых алгоритмов? Скажем, и catboost, и lgbm.
5) Как выяснилось недавно, у lgbm есть режим, когда листья дерева заменяются наклонными линиями регрессии. По идее, это позволит лучше моделировать связи, особенно на небольшом числе точек. Стоит ли попробовать такой сплайновый режим?
Telegram
ML for Value / Ваня Максимов
Неклассические бустинги над деревьями (hybrid regression tree boosting)
У бустингов над деревьями есть некоторые проблемы с линейными зависимостями. Почему бы тогда не совместить бустинг, деревья и линейную регрессию?
Идея такая: в классическом дереве для…
У бустингов над деревьями есть некоторые проблемы с линейными зависимостями. Почему бы тогда не совместить бустинг, деревья и линейную регрессию?
Идея такая: в классическом дереве для…
А Вы используете feature selection (FS) в своих конвейерах ML?
Anonymous Poll
13%
Не использую. Это не нужно: современные алгоритмы сами берут только релевантные признаки
0%
Хотелось бы использовать, но мои ML среды (DaksML, SparkML) не поддерживают FS
47%
Делаю FS вручную. Ничто не заменит эксперта!
40%
Использую filter методы (corrcoeff, mutualinfo+SelectKBest)
33%
Использую wrapper методы (SelectFromModel, RFECV)
13%
Использую embedded методы
20%
Использую комбинацию методов
#tradig #chan
Интересно про модель на инструмент, стратегии которые продержались в бою 4 года, плавную аллокацию капитала для новой стратегии.
https://www.youtube.com/watch?v=DW9zQ8Hz6gQ
Интересно про модель на инструмент, стратегии которые продержались в бою 4 года, плавную аллокацию капитала для новой стратегии.
https://www.youtube.com/watch?v=DW9zQ8Hz6gQ
YouTube
How quant trading strategies are developed and tested w/ Ernie Chan
EP 052: How quantitative trading strategies are created, scrutinized and introduced to the market w/ Ernie Chan
* More interviews: http://chatwithtraders.com
* Free eBook: http://chatwithtraders.com/17lessons
* Twitter: https://twitter.com/chatwithtraders…
* More interviews: http://chatwithtraders.com
* Free eBook: http://chatwithtraders.com/17lessons
* Twitter: https://twitter.com/chatwithtraders…
#hpt #optuna #codegems
Добавляю в сравнение по текущей задаче FS современные библиотеки оптимизации, в частности, очень популярная ныне (как б даже не лидер?) Optuna. Дабы освежить память, заглянул в доку. Привлёк внимание рецепт от создателей Оптуны, как бороться с дублированными кандидатами, которых иногда выдаёт Оптуна же. Ну это просто жопа, господа.
Добавляю в сравнение по текущей задаче FS современные библиотеки оптимизации, в частности, очень популярная ныне (как б даже не лидер?) Optuna. Дабы освежить память, заглянул в доку. Привлёк внимание рецепт от создателей Оптуны, как бороться с дублированными кандидатами, которых иногда выдаёт Оптуна же. Ну это просто жопа, господа.
😁1
#optuna #dask #optimization #global
Разные способы заюзать Даск из Оптуны.
https://www.youtube.com/watch?v=euT6_h7iIBA
Разные способы заюзать Даск из Оптуны.
https://www.youtube.com/watch?v=euT6_h7iIBA
YouTube
Dask and Optuna for Hyper Parameter Optimization
Notebook: https://gist.github.com/mrocklin/683196204d9387d1a30a9d4c660e7be0
How to use Optuna and Dask together to perform parallel hyper-parameter optimization at scale. This notebook uses a toy example, for a more fully-featured example take a look at…
How to use Optuna and Dask together to perform parallel hyper-parameter optimization at scale. This notebook uses a toy example, for a more fully-featured example take a look at…
#skopt #optuna #global #optimization
Неожиданно срезонировала библиотечка skopt. Я уже начал писать свой интерфейс оптимизитора, и сразу добавил туда вещи, которых мне очень не хватало в Оптуне: возможность указать "затравочные" входы, ответы на которые надо вычислить обязательно, разные виды начального сэмплирования (не только случайное, а ещё и фибо, обратное фибо для одномерого случая). Всё это кажется таким естественным, но я уже привык, что программисты по всему миру всегда думают иначе, чем я. И тут с большим удивлением увидел, что авторы skopt рассуждали в точности в том же направлении:
Неожиданно срезонировала библиотечка skopt. Я уже начал писать свой интерфейс оптимизитора, и сразу добавил туда вещи, которых мне очень не хватало в Оптуне: возможность указать "затравочные" входы, ответы на которые надо вычислить обязательно, разные виды начального сэмплирования (не только случайное, а ещё и фибо, обратное фибо для одномерого случая). Всё это кажется таким естественным, но я уже привык, что программисты по всему миру всегда думают иначе, чем я. И тут с большим удивлением увидел, что авторы skopt рассуждали в точности в том же направлении:
The total number of evaluations, n_calls, are performed like the following. If x0 is provided but not y0, then the elements of x0 are first evaluated, followed by n_initial_points evaluations. Finally, n_calls - len(x0) - n_initial_points evaluations are made guided by the surrogate model. If x0 and y0 are both provided then n_initial_points evaluations are first made then n_calls - n_initial_points subsequent evaluations are made guided by the surrogate model.
initial_point_generatorstr, InitialPointGenerator instance, default: ‘random’
Sets a initial points generator. Can be either
"random" for uniform random numbers,
"sobol" for a Sobol sequence,
"halton" for a Halton sequence,
"hammersly" for a Hammersly sequence,
"lhs" for a latin hypercube sequence
Интересно будет увидеть её в сравнении. Ещё из интересных находок авторов: по умолчанию у них acquisition function не просто одна из известных EI, PI UCB/LCB, а т.н. gp_hedge, которая на каждом шаге сэмплит одну из указанных, по идее предлагая лучшее из 3 миров )#hpt #hpo #bayesian #gaussianprocess
Раскрыты недостатки GP:
1) чувствительность к масштабу параметров
2) чувствительность к выбранному ядру (по сути, приор определяет догадки о виде истинной black box функции)
3) плохая работа с категориальными параметрами (Hamming kernel?)
Когда докладчика спросили про параллелизацию, мне кажется, он лопухнулся, сказав, что тут у случайного поиска преимущество, ведь его можно выполнять параллельно, а gp - нет. Ну сам же показывал графики Expected Improvement, кто запрещает брать из них вместо единичного argmax батч argsorted()[:batch_size]?
https://www.youtube.com/watch?v=jtRPxRnOXnk
Раскрыты недостатки GP:
1) чувствительность к масштабу параметров
2) чувствительность к выбранному ядру (по сути, приор определяет догадки о виде истинной black box функции)
3) плохая работа с категориальными параметрами (Hamming kernel?)
Когда докладчика спросили про параллелизацию, мне кажется, он лопухнулся, сказав, что тут у случайного поиска преимущество, ведь его можно выполнять параллельно, а gp - нет. Ну сам же показывал графики Expected Improvement, кто запрещает брать из них вместо единичного argmax батч argsorted()[:batch_size]?
https://www.youtube.com/watch?v=jtRPxRnOXnk
YouTube
Thomas Huijskens - Bayesian optimisation with scikit-learn
Filmed at PyData London 2017
Denoscription
Join Full Fact, the UK's independent factchecking charity, to discuss how they plan to make factchecking dramatically more effective with technology that exists now.
Abstract
Factchecking is just one solution to…
Denoscription
Join Full Fact, the UK's independent factchecking charity, to discuss how they plan to make factchecking dramatically more effective with technology that exists now.
Abstract
Factchecking is just one solution to…
🤔1
#trading #chan
Imho "capital allocation, not primary signal generation" thing is a BS. It's just a different name for the same thing. Say, I have 3 strategies that normally get allocated $1 each. Then at some moment my ML model suggest to allocate $100 to model #2. I can, of course, call this "capital allocation", but it's in essence a signal generation as well, 'cause the rest of allocations are close to noise. But maybe I misunderstood Ernest and he meant allocations like 0.3, 0.3, 0.4? But hard to believe such high % can be given to strategies that are not expected to work well. Also predicting "whether certain trading parameters will perform well today' seems like, still, indirect prediction of market movement. It can't be other way round, 'cause every trading policy should be based on expected asset price movements. Having a 'certain parameters' filter works 2-ways: it reduces train dataset size for ML (which is bad), but it theoretically allows ML to focus more on particular search space (which is probably good, as the model transitions from jack of all trades, master of none, to master of some). Which force prevails, is a matter of experimentation and asset/TP subtleties.
https://www.youtube.com/watch?v=BhaJVZNpL4M
Imho "capital allocation, not primary signal generation" thing is a BS. It's just a different name for the same thing. Say, I have 3 strategies that normally get allocated $1 each. Then at some moment my ML model suggest to allocate $100 to model #2. I can, of course, call this "capital allocation", but it's in essence a signal generation as well, 'cause the rest of allocations are close to noise. But maybe I misunderstood Ernest and he meant allocations like 0.3, 0.3, 0.4? But hard to believe such high % can be given to strategies that are not expected to work well. Also predicting "whether certain trading parameters will perform well today' seems like, still, indirect prediction of market movement. It can't be other way round, 'cause every trading policy should be based on expected asset price movements. Having a 'certain parameters' filter works 2-ways: it reduces train dataset size for ML (which is bad), but it theoretically allows ML to focus more on particular search space (which is probably good, as the model transitions from jack of all trades, master of none, to master of some). Which force prevails, is a matter of experimentation and asset/TP subtleties.
https://www.youtube.com/watch?v=BhaJVZNpL4M
YouTube
Financial Machine Learning - A Practitioner’s Perspective by Dr. Ernest Chan
QUANTT and QMIND came together to offer a unique experience for those interested in Financial Machine Learning (ML). Unifying these two clubs is Dr. Ernest Chan, an investor, researcher, and educator with an expertise in Quantitative Trading, Algorithmic…
#gaussianprocess #optimization #global
Честно говоря, пока что кажется, что толку от "байесовости" гауссовых процессов в задаче глобальной оптимизации не так уж много. Да, рассчитывается неопределённость в каждой точке, ну так она:
1) зачастую крайне слабо отражает реальное положение относительно искомой функции
2) пропорциональна расстоянию до ближайших исследованных точек, так что её можно оценить и для "классических" ml алгосов.
Есть ещё аргумент, что функции приобретения в случае gp рассчитываются аналитически, но ведь их можно заменить эвристикой. Скоро узнаем.
Честно говоря, пока что кажется, что толку от "байесовости" гауссовых процессов в задаче глобальной оптимизации не так уж много. Да, рассчитывается неопределённость в каждой точке, ну так она:
1) зачастую крайне слабо отражает реальное положение относительно искомой функции
2) пропорциональна расстоянию до ближайших исследованных точек, так что её можно оценить и для "классических" ml алгосов.
Есть ещё аргумент, что функции приобретения в случае gp рассчитываются аналитически, но ведь их можно заменить эвристикой. Скоро узнаем.
#smbo #hpo #hpt #gaussianprocess #parzen #tpe #cmaes #constantliar
Algorithms for Hyper-Parameter Optimization
Статья о Sequential Model-Based Global Optimization (SMBO) в т.ч. от Yoshua Bengio, на которую ссылаются в доке hyperopt.
"EI functions are usually optimized with an exhaustive grid search over the input space, or a Latin Hypercube search in higher dimensions. However, some information on the landscape of the EI criterion can be derived from simple computations [16]:
1) it is always non-negative and zero at training
points from D,
2) it inherits the smoothness of the kernel k, which is in practice often at least once
differentiable, and noticeably,
3) the EI criterion is likely to be highly multi-modal, especially as the number of training points increases. The authors of [16] used the preceding remarks on the landscape of EI to design an evolutionary algorithm with mixture search, specifically aimed at optimizing EI, that is shown to outperform exhaustive search for a given budget in EI evaluations."
Как следует из статьи, пытаются даже само Ожидаемое Улучшение (EI) максимизировать генетиком, я просто не понимаю, для чего, ведь полный перебор по нему идёт очень быстро. UPD: хотя дальше есть указание на странное время работы алгоритма. Applying the GP to the problem of optimizing DBN performance, we allowed 3 random restarts to the CMA+ES algorithm per proposal x
∗, and up to 500 iterations of conjugate gradient method in
fitting the length scales of the GP. The squared exponential kernel [14] was used for every node. The CMA-ES part of GPs dealt with boundaries using a penalty method, the binomial sampling part dealt with it by nature. The GP algorithm was initialized with 30 randomly sampled points in H. After 200 trials, the prediction of a point x∗ using this GP took around 150 seconds.
"Finally, we remark that all hyper-parameters are not relevant for each point. For example, a DBN with only one hidden layer does not have parameters associated to a second or third layer. Thus it is not enough to place one GP over the entire space of hyper-parameters. We chose to group the hyper-parameters by common use in a tree-like fashion and place different independent GPs over each group. As an example, for DBNs, this means placing one GP over common hyper-parameters, including categorical parameters that indicate what are the conditional groups to consider, three GPs on the parameters corresponding to each of the three layers, and a few 1-dimensional GPs over individual conditional hyper-parameters, like ZCA energy (see Table 1 for DBN parameters)."
Акцентируются сложности сэмплирования параметров поодиночке.
"The tree-structured Parzen estimator (TPE) models p(x|y) by transforming that generative process, replacing the distributions of the configuration prior with non-parametric densities. In the experimental section, we will see that the configuation space is described using uniform, log-uniform, quantized log-uniform, and categorical variables. In these cases, the TPE algorithm makes the following replacements: uniform → truncated Gaussian mixture, log-uniform → exponentiated truncated Gaussian mixture, categorical → re-weighted categorical."
Кратко о работе парценовских оценщиков.
"For the GP approach, the so-called constant liar approach was used: each time a candidate point x∗ was proposed, a fake fitness evaluation equal to the mean of the y’s within the training set D was assigned temporarily, until the evaluation completed and reported the actual loss f(x
∗). For the TPE approach, we simply ignored recently proposed points and relied on the stochasticity of draws from `(x) to provide different candidates from one iteration to the next. The consequence of parallelization is that each proposal x∗ is based on less feedback. This makes search less efficient, though faster in terms of wall time." Фраза constant liar напоминает сразу о плешивом либо усатом )
https://proceedings.neurips.cc/paper_files/paper/2011/file/86e8f7ab32cfd12577bc2619bc635690-Paper.pdf
Algorithms for Hyper-Parameter Optimization
Статья о Sequential Model-Based Global Optimization (SMBO) в т.ч. от Yoshua Bengio, на которую ссылаются в доке hyperopt.
"EI functions are usually optimized with an exhaustive grid search over the input space, or a Latin Hypercube search in higher dimensions. However, some information on the landscape of the EI criterion can be derived from simple computations [16]:
1) it is always non-negative and zero at training
points from D,
2) it inherits the smoothness of the kernel k, which is in practice often at least once
differentiable, and noticeably,
3) the EI criterion is likely to be highly multi-modal, especially as the number of training points increases. The authors of [16] used the preceding remarks on the landscape of EI to design an evolutionary algorithm with mixture search, specifically aimed at optimizing EI, that is shown to outperform exhaustive search for a given budget in EI evaluations."
Как следует из статьи, пытаются даже само Ожидаемое Улучшение (EI) максимизировать генетиком, я просто не понимаю, для чего, ведь полный перебор по нему идёт очень быстро. UPD: хотя дальше есть указание на странное время работы алгоритма. Applying the GP to the problem of optimizing DBN performance, we allowed 3 random restarts to the CMA+ES algorithm per proposal x
∗, and up to 500 iterations of conjugate gradient method in
fitting the length scales of the GP. The squared exponential kernel [14] was used for every node. The CMA-ES part of GPs dealt with boundaries using a penalty method, the binomial sampling part dealt with it by nature. The GP algorithm was initialized with 30 randomly sampled points in H. After 200 trials, the prediction of a point x∗ using this GP took around 150 seconds.
"Finally, we remark that all hyper-parameters are not relevant for each point. For example, a DBN with only one hidden layer does not have parameters associated to a second or third layer. Thus it is not enough to place one GP over the entire space of hyper-parameters. We chose to group the hyper-parameters by common use in a tree-like fashion and place different independent GPs over each group. As an example, for DBNs, this means placing one GP over common hyper-parameters, including categorical parameters that indicate what are the conditional groups to consider, three GPs on the parameters corresponding to each of the three layers, and a few 1-dimensional GPs over individual conditional hyper-parameters, like ZCA energy (see Table 1 for DBN parameters)."
Акцентируются сложности сэмплирования параметров поодиночке.
"The tree-structured Parzen estimator (TPE) models p(x|y) by transforming that generative process, replacing the distributions of the configuration prior with non-parametric densities. In the experimental section, we will see that the configuation space is described using uniform, log-uniform, quantized log-uniform, and categorical variables. In these cases, the TPE algorithm makes the following replacements: uniform → truncated Gaussian mixture, log-uniform → exponentiated truncated Gaussian mixture, categorical → re-weighted categorical."
Кратко о работе парценовских оценщиков.
"For the GP approach, the so-called constant liar approach was used: each time a candidate point x∗ was proposed, a fake fitness evaluation equal to the mean of the y’s within the training set D was assigned temporarily, until the evaluation completed and reported the actual loss f(x
∗). For the TPE approach, we simply ignored recently proposed points and relied on the stochasticity of draws from `(x) to provide different candidates from one iteration to the next. The consequence of parallelization is that each proposal x∗ is based on less feedback. This makes search less efficient, though faster in terms of wall time." Фраза constant liar напоминает сразу о плешивом либо усатом )
https://proceedings.neurips.cc/paper_files/paper/2011/file/86e8f7ab32cfd12577bc2619bc635690-Paper.pdf
😁1
#gpt #grok
Ржака. Маск призывал повременить с обучением nextgen моделей типа GPT-5, мол, такие они опасные, жуть, а сам в это время пилил Grok?! ))
https://3dnews.ru/1095537/startap-xai-ilona-maska-predstavila-iibota-grok
Ржака. Маск призывал повременить с обучением nextgen моделей типа GPT-5, мол, такие они опасные, жуть, а сам в это время пилил Grok?! ))
https://3dnews.ru/1095537/startap-xai-ilona-maska-predstavila-iibota-grok
👍2
#bicycles
Мне когда-то дали покататься на велике стоимостью 100+т.р. Я проехался, цены не понял. Тут хотя бы ясно, за что платишь.
"В отличие от других моделей Fiido, которые обычно отличаются компактностью, Titan представляет собой достаточно массивный велосипед с колёсами шириной 10 см, который подходит для езды по любой местности. Конструкция с низкой рамой делает его подходящим для широкого круга людей, а амортизирующая вилка повышает уровень комфорта в процессе езды.
Возможность поочерёдного использования трёх аккумуляторов увеличивает запас хода байка до 400 км. В конструкции предусмотрен электродвигатель мощностью 750 Вт, который позволяет разгоняться до 45 км/ч. Поддерживается пять режимов езды, переключаться между которыми можно с помощью сенсорного экрана. Грузоподъёмность байка составляет впечатляющие 200 кг, за счёт чего он может использоваться для перевозки не только людей, но и грузов.
Fiido Titan с тремя аккумуляторными батареями можно приобрести на сайте производителя по цене в $2397. Если же потребности в сменных батареях нет, то покупатели могут ограничиться версией байка с одним аккумулятором за $1699."
https://3dnews.ru/1095518/predstavlen-elektrovelosiped-fiido-titan-tri-batarei-zapas-hoda-400-km-i-tsena-v-2400
Мне когда-то дали покататься на велике стоимостью 100+т.р. Я проехался, цены не понял. Тут хотя бы ясно, за что платишь.
"В отличие от других моделей Fiido, которые обычно отличаются компактностью, Titan представляет собой достаточно массивный велосипед с колёсами шириной 10 см, который подходит для езды по любой местности. Конструкция с низкой рамой делает его подходящим для широкого круга людей, а амортизирующая вилка повышает уровень комфорта в процессе езды.
Возможность поочерёдного использования трёх аккумуляторов увеличивает запас хода байка до 400 км. В конструкции предусмотрен электродвигатель мощностью 750 Вт, который позволяет разгоняться до 45 км/ч. Поддерживается пять режимов езды, переключаться между которыми можно с помощью сенсорного экрана. Грузоподъёмность байка составляет впечатляющие 200 кг, за счёт чего он может использоваться для перевозки не только людей, но и грузов.
Fiido Titan с тремя аккумуляторными батареями можно приобрести на сайте производителя по цене в $2397. Если же потребности в сменных батареях нет, то покупатели могут ограничиться версией байка с одним аккумулятором за $1699."
https://3dnews.ru/1095518/predstavlen-elektrovelosiped-fiido-titan-tri-batarei-zapas-hoda-400-km-i-tsena-v-2400
3DNews - Daily Digital Digest
Представлен электровелосипед Fiido Titan с тремя батареями и запасом хода 400 км
Последние несколько лет популярность электрических велосипедов значительно возросла, поэтому производители стремятся выпускать на рынок новые модели, способные выделиться на фоне конкурентов.
#astronomy #physics #darkmatter
"В радиодиапазоне стала видна неразличимая в оптике галактика, которая получила название Nube (облако или лёгкая накидка по-испански). При оценке массы галактики в 26 млрд солнечных масс, масса обнаруженных в ней звёзд была всего лишь 390 млн солнечных масс. Всё остальное в галактике — это невидимая тёмная материя. Галактика Nube оказалась очень разреженной (диффузной). Половина её массы распределена на 22 тыс. световых лет — это четверть диаметра Млечного Пути."
https://3dnews.ru/1095495/sluchayno-obnarugennaya-galaktika-pribligaet-nas-k-ponimaniyu-tyomnoy-materii
"В радиодиапазоне стала видна неразличимая в оптике галактика, которая получила название Nube (облако или лёгкая накидка по-испански). При оценке массы галактики в 26 млрд солнечных масс, масса обнаруженных в ней звёзд была всего лишь 390 млн солнечных масс. Всё остальное в галактике — это невидимая тёмная материя. Галактика Nube оказалась очень разреженной (диффузной). Половина её массы распределена на 22 тыс. световых лет — это четверть диаметра Млечного Пути."
https://3dnews.ru/1095495/sluchayno-obnarugennaya-galaktika-pribligaet-nas-k-ponimaniyu-tyomnoy-materii
3DNews - Daily Digital Digest
Случайно обнаруженная тусклая галактика приближает нас к пониманию тёмной материи
В обзорах неба по программе IAC Stripe82 было обнаружено нечто, что наводило на мысль о существовании там тусклой галактики.
#gpt #openai
Фантастика.
https://3dnews.ru/1095553/openai-predstavila-iimodel-gpt4-turbo-ona-deshevle-i-moshchnee-predidushchey-gpt4
Фантастика.
https://3dnews.ru/1095553/openai-predstavila-iimodel-gpt4-turbo-ona-deshevle-i-moshchnee-predidushchey-gpt4
3DNews - Daily Digital Digest
OpenAI представила флагманскую нейросеть GPT-4 Turbo — мощнее и в разы дешевле GPT-4
Сегодня на своей первой конференции для разработчиков компания OpenAI представила GPT-4 Turbo — улучшенную версию своей флагманской большой языковой модели. Разработчики из OpenAI отмечают, что новая GPT-4 Turbo стала мощнее и в то же время дешевле, чем GPT…
Forwarded from Д-р Соловей
Уроки истории (1)
Четыре века назад Московское царство столкнулось с тяжелейшим кризисом, вошедшим в историю под названием "Смутное время".
НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ СОЛОВЬЕМ ВАЛЕРИЕМ ДМИТРИЕВИЧЕМ. 18+
Одной из ключевых причин национальной катастрофы стала недальновидная политика Ивана Грозного, измучившего страну беспрецедентным даже по меркам Средних веков внутренним террором и подорвавшего ее потенциал бессмысленной многолетней Ливонской войной. Нанесенный ущерб стал миной замедленного действия, которая взорвалась 20 лет спустя под воздействием других объективных и субъективных факторов, поставив под вопрос само существование единого государства.
Одной из примечательных особенностей Смуты стал феномен самозванчества - в частности, три разных человека объявляли себя чудом выжившим царевичем Дмитрием и заявляли претензии на престол. При этом первый и второй Лжедмитрии были не лишены политических и полководческих талантов, добивались кратковременного успеха и вошли в национальную историю. Лжедмитрий I в течение года даже был единоличным главой государства и успел начать реформы, которые часть современных исследователей считает достойными внимания и перспективными. Однако закрепиться в новом статусе на длительный срок не удалось ни одному из самозванцев: Лжедмитрий I был казнен в результате восстания в столице. Его последователя, "Тушинского вора", несколько лет спустя убили собственные соратники.
Весьма интересна роль, которую сыграли в происходивших событиях ближайшие родственники "чудом воскресшего Дмитрия". Последняя жена Ивана Грозного Мария Фёдоровна была выведена Лжедмитрием I из опалы и признала в нем своего сына, официально погибшего в 1591 году. Однако год спустя она с той же уверенностью отреклась от самозванца, а позже торжественно встретила в Москве мощи святого царевича Дмитрия, привезенные из Углича.
Жена Лжедмитрия I, Марина Мнишек, успевшая побыть русской царицей в течение недели, пережила убийство мужа, а позже не только тайно обвенчалась с "Тушинским вором", но и родила от него ребенка. Младенец Иван Дмитриевич (прозванный недоброжелателями Иваном Воренком) даже рассматривался в 1613 году в качестве официального претендента на престол, однако уже год спустя был повешен, а его мать вскоре закончила свои дни в заточении. Таким образом, реальные и мнимые родственники самозванцев действовали в соответствии с конъюнктурными соображениями и вряд ли имели шансы изменить к лучшему печальную судьбу обоих Лжедмитриев и их наследников.
История циклична, а России, большинство лидеров которой не знают ее и принципиально не извлекают из нее уроков, это касается в особенности. Человек, возглавивший наше государство на рубеже XX - XXI веков, точно так же бездарно распорядился своим историческим шансом, растратив нефтедоллары на обогащение личных друзей, репрессии и внешнеполитические авантюры, а аналогию между СВО и Ливонской войной не провел только ленивый.
Вероятность наступления новой Смуты после его состоявшейся смерти более, чем велика, а нам остается лишь надеяться, что в условиях ускорения исторического времени всё закончится быстрее и не будет иметь таких тяжелых последствий для страны и ее жителей.
Ну а самозванцам, желающим выдать себя за ушедшего главу государства, стоит помнить о печальной судьбе их давних предшественников, которую никак не изменила временная лояльность "ближайших родственников".
Четыре века назад Московское царство столкнулось с тяжелейшим кризисом, вошедшим в историю под названием "Смутное время".
НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ СОЛОВЬЕМ ВАЛЕРИЕМ ДМИТРИЕВИЧЕМ. 18+
Одной из ключевых причин национальной катастрофы стала недальновидная политика Ивана Грозного, измучившего страну беспрецедентным даже по меркам Средних веков внутренним террором и подорвавшего ее потенциал бессмысленной многолетней Ливонской войной. Нанесенный ущерб стал миной замедленного действия, которая взорвалась 20 лет спустя под воздействием других объективных и субъективных факторов, поставив под вопрос само существование единого государства.
Одной из примечательных особенностей Смуты стал феномен самозванчества - в частности, три разных человека объявляли себя чудом выжившим царевичем Дмитрием и заявляли претензии на престол. При этом первый и второй Лжедмитрии были не лишены политических и полководческих талантов, добивались кратковременного успеха и вошли в национальную историю. Лжедмитрий I в течение года даже был единоличным главой государства и успел начать реформы, которые часть современных исследователей считает достойными внимания и перспективными. Однако закрепиться в новом статусе на длительный срок не удалось ни одному из самозванцев: Лжедмитрий I был казнен в результате восстания в столице. Его последователя, "Тушинского вора", несколько лет спустя убили собственные соратники.
Весьма интересна роль, которую сыграли в происходивших событиях ближайшие родственники "чудом воскресшего Дмитрия". Последняя жена Ивана Грозного Мария Фёдоровна была выведена Лжедмитрием I из опалы и признала в нем своего сына, официально погибшего в 1591 году. Однако год спустя она с той же уверенностью отреклась от самозванца, а позже торжественно встретила в Москве мощи святого царевича Дмитрия, привезенные из Углича.
Жена Лжедмитрия I, Марина Мнишек, успевшая побыть русской царицей в течение недели, пережила убийство мужа, а позже не только тайно обвенчалась с "Тушинским вором", но и родила от него ребенка. Младенец Иван Дмитриевич (прозванный недоброжелателями Иваном Воренком) даже рассматривался в 1613 году в качестве официального претендента на престол, однако уже год спустя был повешен, а его мать вскоре закончила свои дни в заточении. Таким образом, реальные и мнимые родственники самозванцев действовали в соответствии с конъюнктурными соображениями и вряд ли имели шансы изменить к лучшему печальную судьбу обоих Лжедмитриев и их наследников.
История циклична, а России, большинство лидеров которой не знают ее и принципиально не извлекают из нее уроков, это касается в особенности. Человек, возглавивший наше государство на рубеже XX - XXI веков, точно так же бездарно распорядился своим историческим шансом, растратив нефтедоллары на обогащение личных друзей, репрессии и внешнеполитические авантюры, а аналогию между СВО и Ливонской войной не провел только ленивый.
Вероятность наступления новой Смуты после его состоявшейся смерти более, чем велика, а нам остается лишь надеяться, что в условиях ускорения исторического времени всё закончится быстрее и не будет иметь таких тяжелых последствий для страны и ее жителей.
Ну а самозванцам, желающим выдать себя за ушедшего главу государства, стоит помнить о печальной судьбе их давних предшественников, которую никак не изменила временная лояльность "ближайших родственников".
#musk #selfdriving #gpt
Делать роботакси, чтобы считать на их сопроцессорах ответы ГПТ? Мне одному кажется, что это так себе идея?
Вот была же в 2000-х идея облачного гейминга: мощная облачная видяха отрисовывает кадры и транслирует тебе по вебу. Мне тогда казалось это тупостью из-за пингов. Но нет, в неё вложили миллиарды баксов. Ну и где это сейчас?
Насчёт роботакси, хоть туда не вложился сейчас только ленивый, я хоть убей не понимаю выгоды. Двуногие скоты вам быстро засрут, заблюют ваши новенькие Теслы, а маржи получите копейки. И так ведь уже современные мобильные приложения очень сильно уронили норму прибыли в таксобизнесе: раньше лондонские кэбы ломили поистине конские деньги за подвоз, так что когда на рынок зашёл Убер, и клиенты начали осознавать, что не обязательно переплачивать в 10 раз, это вызвало инфаркт у извозчиков. Неужели производители роботакси реально надеются отжать ещё что-то от этого пирога?
Делать роботакси, чтобы считать на их сопроцессорах ответы ГПТ? Мне одному кажется, что это так себе идея?
Вот была же в 2000-х идея облачного гейминга: мощная облачная видяха отрисовывает кадры и транслирует тебе по вебу. Мне тогда казалось это тупостью из-за пингов. Но нет, в неё вложили миллиарды баксов. Ну и где это сейчас?
Насчёт роботакси, хоть туда не вложился сейчас только ленивый, я хоть убей не понимаю выгоды. Двуногие скоты вам быстро засрут, заблюют ваши новенькие Теслы, а маржи получите копейки. И так ведь уже современные мобильные приложения очень сильно уронили норму прибыли в таксобизнесе: раньше лондонские кэбы ломили поистине конские деньги за подвоз, так что когда на рынок зашёл Убер, и клиенты начали осознавать, что не обязательно переплачивать в 10 раз, это вызвало инфаркт у извозчиков. Неужели производители роботакси реально надеются отжать ещё что-то от этого пирога?
#featureselection #hpo #hpt #global #optimization #optuna #scipy
Начинаю бенчить алгоритмы глобальной оптимизации на задаче определения лучшего количества фичей в машинном обучении. Для развитых современных сред это лишь частная подзадача: одномерная однокритериальная оптимизация в целочисленном домене без допограничений.
Мне надо знать, чем лучше всего искать лучшее количество фичей, хорошо ли с этим справляются существующие библиотеки, какие для них лучше использовать настройки, и надо ли пилить своё решение.
Общий сетап: есть 8 кривых зависимости CV метрики качества от nfeatures: выдуманные, синтетические по связям, синтетические по данным и связям, с шумом (как есть) и сглаженные. Количество фичей там посчитано от 150 до 570.
Замеряю вкупе по всем 8 задачам (в среднем):
1) найденный максимум на истинный максимум
2) среднее по верхнему 25% перцентилю найденных значений на истинный максимум
3) факт нахождения истинного максимум
4) итерацию нахождения истинного максимум к общему числу попыток
5) время поиска
С Оптуной уже есть интересные результаты. Почти всё богатство настроек там в т.н. сэмплерах, я насчитал 7, от случайного до генетиков и парценовского. У некоторых настроек просто тонна. Так как большинство сэмплеров в сравнении будут model-based (smbo), у них (в Оптуне) есть параметр n_startup_trials, т.е., сколько брать случайных точек для инициализации модели. Тут интуитивно не хочется отдавать случаю слишком много ценных попыток, кажется, пусть уж лучше ищет с умом.
Для 100 повторов с n_trials 50 (n_trials - это разрешённое число оценок целевой функции) выяснилось, к примеру, что уменьшение n_startup_trials с 10 до 5 увеличивает долю нахождения истинного максимума с 66.7% до 68%. А вот дальнейшее снижение до n_startup_trials=2 уже снижает долю до 66.87%. А ведь у оптуны этот параметр по дефолту 10! Так что не полагайтесь на дефолты, тестируйте.
Ясно, что 100 повторов для каждого конфига мало, надо тысяч 10 минимум, а лучше 100. Но даже для 1 парценовского сэмплера кол-во комбинаций конфигов под сотню. Придётся, видно, писать распредёлённый бенч под Dask (
А, и уже видно, что TPE сэмплер заруливает случайный: доля найденных истинных максимумов составляет 68% против 18%. Цена принятия решения вполне оправдана: вместо 0.01 секунды тратится 0.28, что несущественно по сравнению с переобучением даже одной терабайтной модели.
UPD. С дефолтными параметрами все сэмплеры Оптуны, кроме TPE, на моем тесте не могут обогнать RandomSampler, поэтому их тонкие настройки тестить даже не буду.
Начинаю бенчить алгоритмы глобальной оптимизации на задаче определения лучшего количества фичей в машинном обучении. Для развитых современных сред это лишь частная подзадача: одномерная однокритериальная оптимизация в целочисленном домене без допограничений.
Мне надо знать, чем лучше всего искать лучшее количество фичей, хорошо ли с этим справляются существующие библиотеки, какие для них лучше использовать настройки, и надо ли пилить своё решение.
Общий сетап: есть 8 кривых зависимости CV метрики качества от nfeatures: выдуманные, синтетические по связям, синтетические по данным и связям, с шумом (как есть) и сглаженные. Количество фичей там посчитано от 150 до 570.
Замеряю вкупе по всем 8 задачам (в среднем):
1) найденный максимум на истинный максимум
2) среднее по верхнему 25% перцентилю найденных значений на истинный максимум
3) факт нахождения истинного максимум
4) итерацию нахождения истинного максимум к общему числу попыток
5) время поиска
С Оптуной уже есть интересные результаты. Почти всё богатство настроек там в т.н. сэмплерах, я насчитал 7, от случайного до генетиков и парценовского. У некоторых настроек просто тонна. Так как большинство сэмплеров в сравнении будут model-based (smbo), у них (в Оптуне) есть параметр n_startup_trials, т.е., сколько брать случайных точек для инициализации модели. Тут интуитивно не хочется отдавать случаю слишком много ценных попыток, кажется, пусть уж лучше ищет с умом.
Для 100 повторов с n_trials 50 (n_trials - это разрешённое число оценок целевой функции) выяснилось, к примеру, что уменьшение n_startup_trials с 10 до 5 увеличивает долю нахождения истинного максимума с 66.7% до 68%. А вот дальнейшее снижение до n_startup_trials=2 уже снижает долю до 66.87%. А ведь у оптуны этот параметр по дефолту 10! Так что не полагайтесь на дефолты, тестируйте.
Ясно, что 100 повторов для каждого конфига мало, надо тысяч 10 минимум, а лучше 100. Но даже для 1 парценовского сэмплера кол-во комбинаций конфигов под сотню. Придётся, видно, писать распредёлённый бенч под Dask (
А, и уже видно, что TPE сэмплер заруливает случайный: доля найденных истинных максимумов составляет 68% против 18%. Цена принятия решения вполне оправдана: вместо 0.01 секунды тратится 0.28, что несущественно по сравнению с переобучением даже одной терабайтной модели.
UPD. С дефолтными параметрами все сэмплеры Оптуны, кроме TPE, на моем тесте не могут обогнать RandomSampler, поэтому их тонкие настройки тестить даже не буду.
👍1