#information #entropy #maxwellsdemon #szillardsengine
Шикарно иллюстрированная, глубокая статья. Всем рекомендую к прочтению.
https://medium.com/swlh/a-deep-conceptual-guide-to-mutual-information-a5021031fad0
Шикарно иллюстрированная, глубокая статья. Всем рекомендую к прочтению.
https://medium.com/swlh/a-deep-conceptual-guide-to-mutual-information-a5021031fad0
Medium
A Deep Conceptual Guide to Mutual Information
Embracing the “Correlation of the 21st Century.”
#astronomy #spacex #superheavy
"Вчера на космодроме в Бока Чика (Техас) был испытан ускоритель Super Heavy ракеты с 33 двигателями Raptor 2. Статические огневые испытания прошли успешно — двигатели отработали положенные 6 секунд, тогда как во время предыдущего испытания 4 двигателя отключились раньше времени. Фактически теперь кроме регулятора ничего не мешает SpaceX запустить Starship в космос.
Cтартовая площадка в Бока Чика подверглась значительной модернизации. В свой первый запуск ускоритель прожёг в бетоне площадки кратер диаметром около 20 м, а разлетевшиеся по окрестностям куски бетона и щебень наделали дыр в служебных постройках и оборудовании, а также вызвали масштабное возгорание на землях заповедника по соседству.
Масштабы инцидента оказались таковы (хотя обошлось без жертв и ранений), что на разрешивших запуск чиновников FAA (Федерального агентства гражданской авиации) была подана жалоба. Это заставило регулятора взять под особенный контроль работы SpaceX по обустройству стартовой площадки для предотвращения подобного в будущем. На площадку установили перфорированную стальную плиту и систему подачи воды через эти отверстия. Теперь запуск двигателей ускорителя сопровождается неимоверными клубами пара от испарения охлаждающей жидкости."
https://3dnews.ru/1092094/spacex-provela-uspeshnie-staticheskie-ognevie-ispitaniya-dvigateley-uskoritelya-super-heavy-dlya-raketi-starship
"Вчера на космодроме в Бока Чика (Техас) был испытан ускоритель Super Heavy ракеты с 33 двигателями Raptor 2. Статические огневые испытания прошли успешно — двигатели отработали положенные 6 секунд, тогда как во время предыдущего испытания 4 двигателя отключились раньше времени. Фактически теперь кроме регулятора ничего не мешает SpaceX запустить Starship в космос.
Cтартовая площадка в Бока Чика подверглась значительной модернизации. В свой первый запуск ускоритель прожёг в бетоне площадки кратер диаметром около 20 м, а разлетевшиеся по окрестностям куски бетона и щебень наделали дыр в служебных постройках и оборудовании, а также вызвали масштабное возгорание на землях заповедника по соседству.
Масштабы инцидента оказались таковы (хотя обошлось без жертв и ранений), что на разрешивших запуск чиновников FAA (Федерального агентства гражданской авиации) была подана жалоба. Это заставило регулятора взять под особенный контроль работы SpaceX по обустройству стартовой площадки для предотвращения подобного в будущем. На площадку установили перфорированную стальную плиту и систему подачи воды через эти отверстия. Теперь запуск двигателей ускорителя сопровождается неимоверными клубами пара от испарения охлаждающей жидкости."
https://3dnews.ru/1092094/spacex-provela-uspeshnie-staticheskie-ognevie-ispitaniya-dvigateley-uskoritelya-super-heavy-dlya-raketi-starship
3DNews - Daily Digital Digest
SpaceX провела успешные огневые испытания двигателей ускорителя Super Heavy для ракеты Starship
SpaceX сделала новый шаг к повторному запуску ракеты Starship на орбитальную высоту.
Forwarded from partially unsupervised
Очередная (см. ранее) история ускорения, в которой не понадобились никакие знания алгоритмов.
Пилю на досуге одну задачку, которая в некотором смысле сводится к семантической сегментации. Правда, у этой сегментации есть несколько нюансов: несколько подзадач, у каждого семпла может быть подмножество масок, разного размера, но все довольно жирные (по ~30 мегабайт в PNG). Таким образом, первая версия пайплайна, которую я написал в лоб, не могла загрузить даже слабенькую GPU, подготовка батчей занимала слишком много времени, около секунды на семпл. Учитывая, что это все крутится на арендном железе, оставалась опция купить тачку с кучей CPU ядер, но я слишком жадный.
В общем, надо было как-то эффективнее перепаковать данные. Коллега посоветовал deeplake, и на первый взгляд он выглядел многообещающе. На практике же оказалось, что все красиво на бумаге, а с реальным датасетом все сильно хуже. Наверное, если бы мои картинки были всегда одинакового шейпа, а набор масок для семплов был бы одинаковым, все пошло бы гладко. Но мой датасет, собранный с бору по сосенке, был слишком неконсистентным, и через пару часов ковыряния с deeplake мне надоело придумывать костыли для инструмента, который вроде как должен упростить мне жизнь, а не усложнить.
Не будь у меня ограничений по диску, единожды перепаковать все каким-нибудь
Помимо древнего zip, есть и более современные алгоритмы быстрой компрессии, например, LZ4 или Zstandard. Я выбрал zstd (поверхностный гуглинг подсказал, что он более гибкий на спектре от быстрого до компактного сжатия) инаписал сгенерил примерно пятнадцать строк простой обертки и еще чуть больше для скрипта препроцессинга.
Степень сжатия пока даже не тюнил, а выбрал наугад. В результате загрузка данных ускорилась примерно в четыре раза, а размер датасета вырос на 10% по сравнению с PNG.
Пилю на досуге одну задачку, которая в некотором смысле сводится к семантической сегментации. Правда, у этой сегментации есть несколько нюансов: несколько подзадач, у каждого семпла может быть подмножество масок, разного размера, но все довольно жирные (по ~30 мегабайт в PNG). Таким образом, первая версия пайплайна, которую я написал в лоб, не могла загрузить даже слабенькую GPU, подготовка батчей занимала слишком много времени, около секунды на семпл. Учитывая, что это все крутится на арендном железе, оставалась опция купить тачку с кучей CPU ядер, но я слишком жадный.
В общем, надо было как-то эффективнее перепаковать данные. Коллега посоветовал deeplake, и на первый взгляд он выглядел многообещающе. На практике же оказалось, что все красиво на бумаге, а с реальным датасетом все сильно хуже. Наверное, если бы мои картинки были всегда одинакового шейпа, а набор масок для семплов был бы одинаковым, все пошло бы гладко. Но мой датасет, собранный с бору по сосенке, был слишком неконсистентным, и через пару часов ковыряния с deeplake мне надоело придумывать костыли для инструмента, который вроде как должен упростить мне жизнь, а не усложнить.
Не будь у меня ограничений по диску, единожды перепаковать все каким-нибудь
np.savez было бы эффективно: размен разового препроцессинага на быстрый IO. Но это бы раздуло датасет в несколько раз, тоже не очень. Есть np.savez_compressed, который еще и зипует, но он убивает все преимущества в скорости. Так я пришел к тому, что мне нужен аналог np.savez_compressed на стероидах.Помимо древнего zip, есть и более современные алгоритмы быстрой компрессии, например, LZ4 или Zstandard. Я выбрал zstd (поверхностный гуглинг подсказал, что он более гибкий на спектре от быстрого до компактного сжатия) и
Степень сжатия пока даже не тюнил, а выбрал наугад. В результате загрузка данных ускорилась примерно в четыре раза, а размер датасета вырос на 10% по сравнению с PNG.
Telegram
partially unsupervised
Досталась мне на работе система, за которую до недавних пор отвечал умный, но неопытный PhD. Задача по сути сводится к text classification, внутри некий трансформер и все по классике: много кастомного, вычурный оптимайзер, дубликаты в данных и так далее.…
#tesla #musk #law #courts
Странно, как это честный американский суд не распотрошил Маска на миллиарды баксов. Ведь Тинькова, к примеру, вытрахали по-полной. Или какое-то интернет издание за медиа с голым задом (?) Халка Хогана судья своим многомиллионным штрафом обанкротил.
"Акционеры Tesla, заявившие о своих финансовых потерях после того, как генеральный директор автопроизводителя Илон Маск (Elon Musk) несколько лет назад написал в соцсети Twitter о намерении сделать компанию частной, получат компенсацию, которая частично возместит их убытки. Комиссия по ценным бумагам и биржам (SEC) США определила 3350 претендентов на компенсацию из фонда в $42,3 млн, за счёт которого они смогут возместить около 52 % потерянных средств.
Об этом сказано в судебном заявлении, которое было подано в суд Южного округа Нью-Йорка. Такое решение было принято через несколько месяцев после того, как Маск был признан невиновным в судебном разбирательстве по поводу мошенничества с ценными бумагами. Авторы коллективного иска обвиняли миллиардера в мошенничестве из-за его поста о намерении выкупить все акции компании и провести делистинг на бирже, который был опубликован в Twitter в 2018 году. Это заявление привело к серьёзным колебаниям стоимости ценных бумаг Tesla. Если бы Маск проиграл суд, ему бы пришлось выплатить акционерам миллиарды долларов в качестве компенсации убытков."
https://3dnews.ru/1092103/tesla-vozmestit-3350-investoram-ushcherb-ot-tvita-ilona-maska-o-vikupe-kompanii
Странно, как это честный американский суд не распотрошил Маска на миллиарды баксов. Ведь Тинькова, к примеру, вытрахали по-полной. Или какое-то интернет издание за медиа с голым задом (?) Халка Хогана судья своим многомиллионным штрафом обанкротил.
"Акционеры Tesla, заявившие о своих финансовых потерях после того, как генеральный директор автопроизводителя Илон Маск (Elon Musk) несколько лет назад написал в соцсети Twitter о намерении сделать компанию частной, получат компенсацию, которая частично возместит их убытки. Комиссия по ценным бумагам и биржам (SEC) США определила 3350 претендентов на компенсацию из фонда в $42,3 млн, за счёт которого они смогут возместить около 52 % потерянных средств.
Об этом сказано в судебном заявлении, которое было подано в суд Южного округа Нью-Йорка. Такое решение было принято через несколько месяцев после того, как Маск был признан невиновным в судебном разбирательстве по поводу мошенничества с ценными бумагами. Авторы коллективного иска обвиняли миллиардера в мошенничестве из-за его поста о намерении выкупить все акции компании и провести делистинг на бирже, который был опубликован в Twitter в 2018 году. Это заявление привело к серьёзным колебаниям стоимости ценных бумаг Tesla. Если бы Маск проиграл суд, ему бы пришлось выплатить акционерам миллиарды долларов в качестве компенсации убытков."
https://3dnews.ru/1092103/tesla-vozmestit-3350-investoram-ushcherb-ot-tvita-ilona-maska-o-vikupe-kompanii
3DNews - Daily Digital Digest
Tesla возместит ущерб от твита Маска о выкупе акций компании — пострадавшие инвесторы получат по $12 тыс.
Акционеры Tesla, заявившие о своих финансовых потерях после того, как генеральный директор автопроизводителя Илон Маск (Elon Musk) несколько лет назад написал в соцсети Twitter о намерении сделать компанию частной, получат компенсацию, которая частично возместит…
#mlgems #sklearn #pipelines
Столкнулся с ситуацией, когда есть конвейер sklearn/imblearn с препроцессингом (удаление, нормализация некоторых столбцов), в конце бустинг, поддерживающий задание отдельного eval_set ( catboost, xgboost). К eval_set конвейер, конечно же, не применяется, т.к. pipeline про eval_set знает только то, что это ещё один из параметров для модели в конце списка. Как быть? Тестирую пока решение с промежуточным конвейером, только пытаюсь сделать его более эффективным.
Столкнулся с ситуацией, когда есть конвейер sklearn/imblearn с препроцессингом (удаление, нормализация некоторых столбцов), в конце бустинг, поддерживающий задание отдельного eval_set ( catboost, xgboost). К eval_set конвейер, конечно же, не применяется, т.к. pipeline про eval_set знает только то, что это ещё один из параметров для модели в конце списка. Как быть? Тестирую пока решение с промежуточным конвейером, только пытаюсь сделать его более эффективным.
Stack Overflow
Sklearn pass fit() parameters to xgboost in pipeline
Similar to How to pass a parameter to only one part of a pipeline object in scikit learn? I want to pass parameters to only one part of a pipeline. Usually, it should work fine like:
estimator =
estimator =
#featureengineering #dyakonov #pzad
Понравилось:
монотонное преобразование для порядковых признаков (напр, возведение в квадрат);
совет пересоздать признаки, даже если они уже посчитаны в оригинальных данных, сверить во избежание сюрпризов;
трюк с обратными признаками для линейных (только ли?) моделей;
Ordinal/LabelEncoding с индуцированным порядком (лексикографическим, по мере появления категории в датасете, по длине токена и пр);
вообще случайный порядок категорий, с многократным обучением одной и той же базовой модели;
кодирование мелких категорий в одну (сразу мысль, а нельзя ли это как-то улучшить с помощью теории информации? Что, если в категориальном признаке только некоторые уровни несут информацию о таргете, нельзя ли все остальные сплавить в "общую категорию бесполезных"?);
"Applied machine learning is basically feature engineering."
Andrew Ng
https://www.youtube.com/watch?v=QX6ZAhW9yQ8
Понравилось:
монотонное преобразование для порядковых признаков (напр, возведение в квадрат);
совет пересоздать признаки, даже если они уже посчитаны в оригинальных данных, сверить во избежание сюрпризов;
трюк с обратными признаками для линейных (только ли?) моделей;
Ordinal/LabelEncoding с индуцированным порядком (лексикографическим, по мере появления категории в датасете, по длине токена и пр);
вообще случайный порядок категорий, с многократным обучением одной и той же базовой модели;
кодирование мелких категорий в одну (сразу мысль, а нельзя ли это как-то улучшить с помощью теории информации? Что, если в категориальном признаке только некоторые уровни несут информацию о таргете, нельзя ли все остальные сплавить в "общую категорию бесполезных"?);
"Applied machine learning is basically feature engineering."
Andrew Ng
https://www.youtube.com/watch?v=QX6ZAhW9yQ8
YouTube
ПЗАД2020. Лекция 16. Генерация признаков (часть 1)
курс "Прикладные задачи анализа данных", ВМК МГУ, Дьяконов Александр (https://dyakonov.org/ag/)
страница курса: https://github.com/Dyakonov/PZAD/blob/master/README.md
страница курса: https://github.com/Dyakonov/PZAD/blob/master/README.md
#trading #scalping #erema #mlops #experimenting #mlflow
Потратил много времени на кодинг платформы, позволяющей экспериментировать с группами фичей, блоками ML-конвейеров, таргетами, моделями, ансамблями.
Иногда при работе над очередным проектом думаешь: а что лучше, отдать работу с категорийкой на откуп бустингу, или попробовать что-то из category_encoders? И вообще, что считать категориальными факторами, то, что имеет тип данных categorical/object, или что имеет мало уникальных значений? А "мало" - это мало вообще, или по отношению к конкретному типу данных и диапазону? А может, вообще все непрерывные побить на с помощью KBinsDiscretizer, что тогда будет, лучше или хуже, и насколько? Или может, вообще удалить категорийку, вдруг будет не сильно хуже, но быстрее?
А пропуски как обрабатывать? А всё это вместе взятое сколько комбинаций составит?
Раннюю остановку использовать или нет, и когда?
Какая модель в итоге лучше сработает, бустинг или нейронка? Блин, а нейронке-то напрямую нельзя подать категориальные фичи, надо выкручиваться.
А если гиперпараметры тюнить? А фичи отбирать? А что, если вообще поработать с группами фичей по отдельности (например, рыночные, новостные, фундаментальные), какого результата каждая достигнет??
А если потом модельки от разных в групп в ансамбль объединить, лучше станет, и насколько?
А вообще, какие таргеты мы можем лучше предсказывать, что, если мы можем немного варьировать их, к примеру, предсказываем продажи на неделю или 2 или 3 вперёд. Где выше прогннозируемость и при каких условия, на чём сконцентрировать усилия? Если сравнивать в лоб, на препроцессинг уйдёт тонна времени, тут нужно умное кэширование.
А всё это же ещё надо на CV считать... А так как число комбинаций, которые хочется проверить, огромно, лучше считать на кластере или хотя бы на нескольких нодах, с централизованным хранением результатов (предсказаний, метрик, графиков).
А как всё это грамотно отобразить, чтобы не потеряться в тысячах комбинаций? А как при этом работать в команде?
Наверняка к подобным вопросам со временем, или при работе над особо сложным проектом, приходит любой дата сайентист/кэгглер, который хорошо делает свою работу. Настало и моё время )
Трейдинговый проект #erema меня просто ошеломлял количеством факторов, возможных таргетов и ML опций, которые хотелось проверить. Так что после 2 месяцев работы я получил процедуры, которые на базе mlflow как раз позволяют разбить всё многообразие опций на блоки и проверить их по отдельности.
Потратил много времени на кодинг платформы, позволяющей экспериментировать с группами фичей, блоками ML-конвейеров, таргетами, моделями, ансамблями.
Иногда при работе над очередным проектом думаешь: а что лучше, отдать работу с категорийкой на откуп бустингу, или попробовать что-то из category_encoders? И вообще, что считать категориальными факторами, то, что имеет тип данных categorical/object, или что имеет мало уникальных значений? А "мало" - это мало вообще, или по отношению к конкретному типу данных и диапазону? А может, вообще все непрерывные побить на с помощью KBinsDiscretizer, что тогда будет, лучше или хуже, и насколько? Или может, вообще удалить категорийку, вдруг будет не сильно хуже, но быстрее?
А пропуски как обрабатывать? А всё это вместе взятое сколько комбинаций составит?
Раннюю остановку использовать или нет, и когда?
Какая модель в итоге лучше сработает, бустинг или нейронка? Блин, а нейронке-то напрямую нельзя подать категориальные фичи, надо выкручиваться.
А если гиперпараметры тюнить? А фичи отбирать? А что, если вообще поработать с группами фичей по отдельности (например, рыночные, новостные, фундаментальные), какого результата каждая достигнет??
А если потом модельки от разных в групп в ансамбль объединить, лучше станет, и насколько?
А вообще, какие таргеты мы можем лучше предсказывать, что, если мы можем немного варьировать их, к примеру, предсказываем продажи на неделю или 2 или 3 вперёд. Где выше прогннозируемость и при каких условия, на чём сконцентрировать усилия? Если сравнивать в лоб, на препроцессинг уйдёт тонна времени, тут нужно умное кэширование.
А всё это же ещё надо на CV считать... А так как число комбинаций, которые хочется проверить, огромно, лучше считать на кластере или хотя бы на нескольких нодах, с централизованным хранением результатов (предсказаний, метрик, графиков).
А как всё это грамотно отобразить, чтобы не потеряться в тысячах комбинаций? А как при этом работать в команде?
Наверняка к подобным вопросам со временем, или при работе над особо сложным проектом, приходит любой дата сайентист/кэгглер, который хорошо делает свою работу. Настало и моё время )
Трейдинговый проект #erema меня просто ошеломлял количеством факторов, возможных таргетов и ML опций, которые хотелось проверить. Так что после 2 месяцев работы я получил процедуры, которые на базе mlflow как раз позволяют разбить всё многообразие опций на блоки и проверить их по отдельности.
#astronomy
"В интервью агентству Press Trust of India сотрудник ISRO Дарукеша Б.Х.М. (Darukesha B. H. M.) отметил, что полученные данные оказались полной неожиданностью для специалистов. «Мы все считали, что температура на поверхности может составлять от 20 до 30 градусов по Цельсию, но она составляет 70 градусов по Цельсию. Это на удивление выше, чем мы ожидали», — заявил он.
Индийский луноход «Прагьян» прилунился 23 августа со спускаемым модулем миссии «Чандраян-3» в районе малоизученного Южного полюса, где с его помощью будут проводиться исследования грунта и рельефа Луны, а также поиски следов тектонической активности. Предполагается, что он проработает здесь лунные сутки (около двух земных недель)."
https://3dnews.ru/1092142/hot-moon
"В интервью агентству Press Trust of India сотрудник ISRO Дарукеша Б.Х.М. (Darukesha B. H. M.) отметил, что полученные данные оказались полной неожиданностью для специалистов. «Мы все считали, что температура на поверхности может составлять от 20 до 30 градусов по Цельсию, но она составляет 70 градусов по Цельсию. Это на удивление выше, чем мы ожидали», — заявил он.
Индийский луноход «Прагьян» прилунился 23 августа со спускаемым модулем миссии «Чандраян-3» в районе малоизученного Южного полюса, где с его помощью будут проводиться исследования грунта и рельефа Луны, а также поиски следов тектонической активности. Предполагается, что он проработает здесь лунные сутки (около двух земных недель)."
https://3dnews.ru/1092142/hot-moon
3DNews - Daily Digital Digest
Луна оказалась горячее, чем считалось ранее, выяснил индийский луноход «Прагьян»
Первые данные, которые индийский луноход «Прагьян» передал на Землю, свидетельствуют о неожиданно высокой температуре лунной поверхности на южном полюсе Луны, что стало полной неожиданностью для специалистов, пишет РБК со ссылкой на сообщение Индийской организации…
#featureengineering #dyakonov #pzad
Понравилось:
Count Encoding+шум;
Киллер фича кодирования категориальных признаков другими категориальными, через crosstab+SVD;
Target Encoding как форма стекинга;
Target Encoding+мультипликативный шум;
"Экспертное кодирование";
Category Embeddings;
Расстояние (ядро) до какого-то "идеального"/"нормального" объекта как новая фича;
Линейная модель на признаках нелинейной модели (например, сплитах дерева, random forest-based feature induction);
Кодирование M циклических признаков (вместо последовательных возрастающих целочисленных номеров) в 2 новых вектора x,y как t=np.linspace(0,2*np.pi, M+1), x=np.sin(t), y=np.cos(t); -надо бы замутить какой-то CyclicEncoder, кстати.
https://www.youtube.com/watch?v=bTusKjEa4KE
Понравилось:
Count Encoding+шум;
Киллер фича кодирования категориальных признаков другими категориальными, через crosstab+SVD;
Target Encoding как форма стекинга;
Target Encoding+мультипликативный шум;
"Экспертное кодирование";
Category Embeddings;
Расстояние (ядро) до какого-то "идеального"/"нормального" объекта как новая фича;
Линейная модель на признаках нелинейной модели (например, сплитах дерева, random forest-based feature induction);
Кодирование M циклических признаков (вместо последовательных возрастающих целочисленных номеров) в 2 новых вектора x,y как t=np.linspace(0,2*np.pi, M+1), x=np.sin(t), y=np.cos(t); -надо бы замутить какой-то CyclicEncoder, кстати.
https://www.youtube.com/watch?v=bTusKjEa4KE
YouTube
ПЗАД2020. Лекция 17. Генерация признаков (часть 2)
курс "Прикладные задачи анализа данных", ВМК МГУ, Дьяконов Александр (https://dyakonov.org/ag/)
страница курса: https://github.com/Dyakonov/PZAD/blob/master/README.md
страница курса: https://github.com/Dyakonov/PZAD/blob/master/README.md
#ds #molnar
So true )
"... famous quote by Abraham Maslow:
If the only tool you have is a hammer, it is tempting to treat everything as if it were a nail.
The quote usually comes with a negative interpretation: You are an idiot because the next problem will be a screw and you will use a hammer.
But there’s a positive side: Having a hammer allows you to become great at detecting nails and even transforming problems into nail-shaped problems.
What if the hammer is supervised machine learning?
Seeing predictions everywhere
I wrote in Modeling Mindsets about supervised learning:
Modeling requires translation into a prediction problem, strict evaluation with ground truth, and optimization.
A change for me was that now I see many, many problems as prediction or learning problems.
Prediction means inferring unavailable data from available data.
The prediction definition matches many situations and shapes how I see the world.
For example, I have become critical of TV pundits who make predictions with high confidence. Usually with little repercussions when predictions turn out to be wrong. Often you can’t evaluate their predictions anyway because they were too vague in the first place.
In general, I see professions more favorable when they have a feedback loop: Does a person who makes a decision (based on a prediction) actually see the ground truth later on? For example, I have more trust in surgeons who follow up with their patients and therefore see the results of their decision to operate.
When I read about analysis or theories, I ask myself: If these are true, what are they predicting?"
https://mindfulmodeler.substack.com/p/machine-learning-changed-how-i-see
So true )
"... famous quote by Abraham Maslow:
If the only tool you have is a hammer, it is tempting to treat everything as if it were a nail.
The quote usually comes with a negative interpretation: You are an idiot because the next problem will be a screw and you will use a hammer.
But there’s a positive side: Having a hammer allows you to become great at detecting nails and even transforming problems into nail-shaped problems.
What if the hammer is supervised machine learning?
Seeing predictions everywhere
I wrote in Modeling Mindsets about supervised learning:
Modeling requires translation into a prediction problem, strict evaluation with ground truth, and optimization.
A change for me was that now I see many, many problems as prediction or learning problems.
Prediction means inferring unavailable data from available data.
The prediction definition matches many situations and shapes how I see the world.
For example, I have become critical of TV pundits who make predictions with high confidence. Usually with little repercussions when predictions turn out to be wrong. Often you can’t evaluate their predictions anyway because they were too vague in the first place.
In general, I see professions more favorable when they have a feedback loop: Does a person who makes a decision (based on a prediction) actually see the ground truth later on? For example, I have more trust in surgeons who follow up with their patients and therefore see the results of their decision to operate.
When I read about analysis or theories, I ask myself: If these are true, what are they predicting?"
https://mindfulmodeler.substack.com/p/machine-learning-changed-how-i-see
Mindful Modeler
Machine learning changed how I see the world
“What do you do for a living?” is often the first question I ask people I meet. For a good reason. What you do for a living often strongly correlates with how you think and how you approach problems. Not so long ago, a dog bit me. Fortunately, nothing bad…
#featureselection
https://stats.stackexchange.com/questions/215154/variable-selection-for-predictive-modeling-really-needed-in-2016
https://stats.stackexchange.com/questions/215154/variable-selection-for-predictive-modeling-really-needed-in-2016
Cross Validated
Variable selection for predictive modeling really needed in 2016?
This question has been asked on CV some yrs ago, it seems worth a repost in light of 1) order of magnitude better computing technology (e.g. parallel computing, HPC etc) and 2) newer techniques, e....
Ishanu Chattopadhyay, Hod Lipso
Data smashing: uncovering lurking order in data
"From automatic speech recognition to discovering unusual stars, underlying almost all automated discovery tasks is the ability to compare and contrast data streams with each other, to identify connections and spot outliers. Despite the prevalence of data, however, automated methods are not keeping pace. A key bottleneck is that most data comparison algorithms today rely on a human expert to specify what ‘features’ of the data are relevant for comparison.
Here, we propose a new principle for estimating the similarity between the sources of arbitrary data streams, using neither domain knowledge nor learn ing. We demonstrate the application of this principle to the analysis of data from a number of real-world challenging problems, including the disambigua tion of electro-encephalograph patterns pertaining to epileptic seizures, detection of anomalous cardiac activity from heart sound recordings and classi fication of astronomical objects from raw photometry. In all these cases and without access to any domain knowledge, we demonstrate performance on a par with the accuracy achieved by specialized algorithms and heuristics devised by domain experts. We suggest that data smashing principles may open the door to understanding increasingly complex observations, especially when experts do not know what to look for."
https://royalsocietypublishing.org/doi/pdf/10.1098/rsif.2014.0826
Data smashing: uncovering lurking order in data
"From automatic speech recognition to discovering unusual stars, underlying almost all automated discovery tasks is the ability to compare and contrast data streams with each other, to identify connections and spot outliers. Despite the prevalence of data, however, automated methods are not keeping pace. A key bottleneck is that most data comparison algorithms today rely on a human expert to specify what ‘features’ of the data are relevant for comparison.
Here, we propose a new principle for estimating the similarity between the sources of arbitrary data streams, using neither domain knowledge nor learn ing. We demonstrate the application of this principle to the analysis of data from a number of real-world challenging problems, including the disambigua tion of electro-encephalograph patterns pertaining to epileptic seizures, detection of anomalous cardiac activity from heart sound recordings and classi fication of astronomical objects from raw photometry. In all these cases and without access to any domain knowledge, we demonstrate performance on a par with the accuracy achieved by specialized algorithms and heuristics devised by domain experts. We suggest that data smashing principles may open the door to understanding increasingly complex observations, especially when experts do not know what to look for."
https://royalsocietypublishing.org/doi/pdf/10.1098/rsif.2014.0826
#google #gcp #tpu
"На очередной ежегодной конференции Cloud Next компания Google Cloud объявила о выпуске пятого поколения своих тензорных процессоров (TPU) для обучения нейросетей — TPU v5e. Google анонсировала предыдущую, четвертую версию этих процессоров в 2021 году, но разработчикам они стали доступны только в 2022 году.
Компания не экономила на технических характеристиках TPU v5e в угоду рентабельности. Кластеры могут включать до 256 чипов TPU v5e, объединённых высокоскоростным интерконнектом с совокупной пропускной способностью более 400 Тбит/с. Производительность такой платформы составляет 100 Попс (Петаопс) в INT8-вычислениях.
"Мы предоставляем нашим клиентам возможность легко масштабировать свои модели искусственного интеллекта за пределы физических границ одного модуля TPU или одного кластера TPU. Другими словами, одна большая рабочая нагрузка искусственного интеллекта теперь может распределяться на несколько физических кластеров TPU, масштабируясь буквально до десятков тысяч чипов."
В дополнение к анонсу нового поколения TPU компания Google также объявила, что в следующем месяце сделает общедоступными для разработчиков виртуальные кластеры A3, оснащённые специализированными графическими процессорами Nvidia H100."
https://3dnews.ru/1092295/google-cloud-predstavila-pyatoe-pokolenie-svoih-tenzornih-protsessorov-dlya-obucheniya-ii
"На очередной ежегодной конференции Cloud Next компания Google Cloud объявила о выпуске пятого поколения своих тензорных процессоров (TPU) для обучения нейросетей — TPU v5e. Google анонсировала предыдущую, четвертую версию этих процессоров в 2021 году, но разработчикам они стали доступны только в 2022 году.
Компания не экономила на технических характеристиках TPU v5e в угоду рентабельности. Кластеры могут включать до 256 чипов TPU v5e, объединённых высокоскоростным интерконнектом с совокупной пропускной способностью более 400 Тбит/с. Производительность такой платформы составляет 100 Попс (Петаопс) в INT8-вычислениях.
"Мы предоставляем нашим клиентам возможность легко масштабировать свои модели искусственного интеллекта за пределы физических границ одного модуля TPU или одного кластера TPU. Другими словами, одна большая рабочая нагрузка искусственного интеллекта теперь может распределяться на несколько физических кластеров TPU, масштабируясь буквально до десятков тысяч чипов."
В дополнение к анонсу нового поколения TPU компания Google также объявила, что в следующем месяце сделает общедоступными для разработчиков виртуальные кластеры A3, оснащённые специализированными графическими процессорами Nvidia H100."
https://3dnews.ru/1092295/google-cloud-predstavila-pyatoe-pokolenie-svoih-tenzornih-protsessorov-dlya-obucheniya-ii
3DNews - Daily Digital Digest
Google Cloud представила пятое поколение тензорных процессоров для обучения ИИ
На очередной ежегодной конференции Cloud Next компания Google Cloud объявила о выпуске пятого поколения своих тензорных процессоров (TPU) для обучения нейросетей — TPU v5e.
Forwarded from Машинное обучение от ИЦ "ГЕВИССТА"
Балую я вас, ох, балую. На фоне пустых рассуждений о силе, о соле, о славе в DS-чатах, на фоне рекламно-маркетинговых набросов в духе «йоу йоу мы самые-самые» от разного рода «Лабораторий», на фоне сторителлинга и размышлений о температуре воды в Темзе и красоте местных женщин в каналах «звезд» у меня строгий, плотный, pure контент, ничего лишнего. Матаппарат, прикладной кейс, реализация метода и решения в программном коде. Увидел – купил – бери в работу, пользуйся. Подобно Пушкину – солнцу русской поззии, я, как солнце российского Data Science, согреваю вас лучами просвещения в эти последние прохладные дни уходящего лета, попивая свежий черный чай и перелистывая страницы сборника стихов Бальмонта, мирно соседствующего с книжкой Андерсона по временным рядам.
😁4
#ateev #fantasy #horror #literature #cityofshadows
"И вот мы с Воробьевым и моим помощником Николаем Беловым отправились в эту деревушку. Конечно, нашей целью были отнюдь не поиски редкой бабочки, а обнаружение реликтовых биообъектов, или, проще говоря, «живых мертвецов». Прибыли мы туда, разбили лагерь неподалеку от деревни и занялись исследованиями. Почти сразу же отыскали кладбище. Приборы зафиксировали несколько мест, где лежали предполагаемые объекты. Решили раскопать один из них. Остановились на могиле упомянутой выше девицы Суриной. К тому времени я посвятил нашего добровольного помощника Воробьева в истинные цели экспедиции. Июльским днем прибыли мы на кладбище и принялись за раскопки. До гроба докопались довольно быстро. Вскрыли его. Я ожидал увидеть нечто подобное, однако, по чести говоря, несколько опешил. В гробу лежало существо, более всего похожее на мумию. Обтянутый серо-коричневой кожей скелет, лицо – скорее маска, но, главное, имелись глаза. В них даже отражался свет. Ассистент мой, да и Воробьев несколько струхнули. Действительно, мертвое тело производило отталкивающее впечатление. Но они взяли себя в руки и принялись исследовать тело, а именно измерять его температуру. В этот момент я осознал, что за нами наблюдают, причем, видимо, с самого прибытия. Вдруг, откуда ни возьмись, появился милиционер. Довольно нелепая в подобной глуши фигура. Строгим тоном он принялся расспрашивать нас: кто мы такие, откуда сюда явились и чем занимаемся. Вначале, каюсь, я принял это существо за подлинного стража порядка, однако очень быстро понял: перед нами отнюдь не представитель органов, а оборотень. Выдали его глаза. Это были глаза древнего старика. С молодым лицом милиционера они никак не вязались. Однако я показал ему документы, разрешающие нашу деятельность, и потребовал предъявить свои. Но мнимый страж порядка ничего предъявлять не стал, а вместо этого осмотрел место раскопок и констатировал: «Дарью раскопали». Тут и вовсе стало ясным, кто перед нами. Лжемилиционер после этого удалился, на прощанье заметив: «Сегодня Дарья сама к вам в гости придет». Мой ассистент попробовал задержать оборотня, но это не удалось. Однако я понял, хозяева здешних мест просто так нас не отпустят."
"И вот мы с Воробьевым и моим помощником Николаем Беловым отправились в эту деревушку. Конечно, нашей целью были отнюдь не поиски редкой бабочки, а обнаружение реликтовых биообъектов, или, проще говоря, «живых мертвецов». Прибыли мы туда, разбили лагерь неподалеку от деревни и занялись исследованиями. Почти сразу же отыскали кладбище. Приборы зафиксировали несколько мест, где лежали предполагаемые объекты. Решили раскопать один из них. Остановились на могиле упомянутой выше девицы Суриной. К тому времени я посвятил нашего добровольного помощника Воробьева в истинные цели экспедиции. Июльским днем прибыли мы на кладбище и принялись за раскопки. До гроба докопались довольно быстро. Вскрыли его. Я ожидал увидеть нечто подобное, однако, по чести говоря, несколько опешил. В гробу лежало существо, более всего похожее на мумию. Обтянутый серо-коричневой кожей скелет, лицо – скорее маска, но, главное, имелись глаза. В них даже отражался свет. Ассистент мой, да и Воробьев несколько струхнули. Действительно, мертвое тело производило отталкивающее впечатление. Но они взяли себя в руки и принялись исследовать тело, а именно измерять его температуру. В этот момент я осознал, что за нами наблюдают, причем, видимо, с самого прибытия. Вдруг, откуда ни возьмись, появился милиционер. Довольно нелепая в подобной глуши фигура. Строгим тоном он принялся расспрашивать нас: кто мы такие, откуда сюда явились и чем занимаемся. Вначале, каюсь, я принял это существо за подлинного стража порядка, однако очень быстро понял: перед нами отнюдь не представитель органов, а оборотень. Выдали его глаза. Это были глаза древнего старика. С молодым лицом милиционера они никак не вязались. Однако я показал ему документы, разрешающие нашу деятельность, и потребовал предъявить свои. Но мнимый страж порядка ничего предъявлять не стал, а вместо этого осмотрел место раскопок и констатировал: «Дарью раскопали». Тут и вовсе стало ясным, кто перед нами. Лжемилиционер после этого удалился, на прощанье заметив: «Сегодня Дарья сама к вам в гости придет». Мой ассистент попробовал задержать оборотня, но это не удалось. Однако я понял, хозяева здешних мест просто так нас не отпустят."
#ensembling #optimization #scipy
"Machine learning practitioners rely on ensembles to improve the performance of their model. One of the methods used for ensembling multiple models is to calculate the weighted average of their predictions. The problem that rises is how to find the weights that will give us the best ensemble. In this post, I will explain how to optimize those weights using scipy."
https://guillaume-martin.github.io/average-ensemble-optimization.html
"Machine learning practitioners rely on ensembles to improve the performance of their model. One of the methods used for ensembling multiple models is to calculate the weighted average of their predictions. The problem that rises is how to find the weights that will give us the best ensemble. In this post, I will explain how to optimize those weights using scipy."
https://guillaume-martin.github.io/average-ensemble-optimization.html
Guillaume Martin
Average ensemble optimization
How to find the best weights to use in a weighted average ensemble.
#kaggle #tricks #ml #titericz #featureengineering
Before FE, calculate corr coeff of raw features & the target; наверное, лучше всё-таки брать половину сета, чтобы не оверфитить совсем уж. С оценкой корреляций (нелинейных) и "интеракций", кстати, очень может помочь Диоген.
Combine numerical features: log(A)*log(B), A*exp(B), Rank(A)+Rank(B), sin(A)+cos(B) etc;
Use binary flag for NAs;
Do N-way nested OOF Target Encoding;
Try aggregations of one feature by another;
Try extensive target transformations (TT), as y^1/2, y^1/4,log(10+y), 10/y etc;
Try several clustering algos to create new categorical or numerical features based on cluster IDs or distances;
Trees leaves indices as weak features to the linear models (incl. factorization machines);
LOFO feature selection;
Adversarial Validation to tell train apart from test;
https://www.youtube.com/watch?v=RtqtM1UJfZc
Before FE, calculate corr coeff of raw features & the target; наверное, лучше всё-таки брать половину сета, чтобы не оверфитить совсем уж. С оценкой корреляций (нелинейных) и "интеракций", кстати, очень может помочь Диоген.
Combine numerical features: log(A)*log(B), A*exp(B), Rank(A)+Rank(B), sin(A)+cos(B) etc;
Use binary flag for NAs;
Do N-way nested OOF Target Encoding;
Try aggregations of one feature by another;
Try extensive target transformations (TT), as y^1/2, y^1/4,log(10+y), 10/y etc;
Try several clustering algos to create new categorical or numerical features based on cluster IDs or distances;
Trees leaves indices as weak features to the linear models (incl. factorization machines);
LOFO feature selection;
Adversarial Validation to tell train apart from test;
https://www.youtube.com/watch?v=RtqtM1UJfZc
YouTube
Kaggle Tips for Feature Engineering and Selection | by Gilberto Titericz | Kaggle Days Meetup Madrid
Gilberto Titericz, Kaggle GrandMaster and top-1 in Kaggle Competitions Ranking for years, talks about two important topics in Machine Learning: Feature Engineering and Feature Selection
25 November 2019, Madrid - Part II
25 November 2019, Madrid - Part II
🔥1
#trading #erema
Добавил в свою "экспериментальную платформу" бэйзлайны (не знаю хорошего русского эквивалента этому слову.. блэт, я даже не знаю хорошей русской замены для слова эквивалент. не считать же таковой слово аналог?).
Также добавил простые ансамбли (4 вида средних).
Добавил отдельный отчёт МЛ-метрик в разбивке по дням (в отличие от всего test set).
Добавил локальное сохранение обученных моделек, прогресс не теряется теперь даже если нода перезагружается.
Некоторые вещи успростил, т.к.
1) mlflow плохо работает с большой вложенностью (иногда вылезают глюки, плюс нет кнопки expand all, а почти все питоновские веб-сервера тормозят из-за отстутствия client-side скриптов
2) время для перебора опций конвейреа требуется на текущих объёмах (десятки и сотни миллионов строк) простно неподъёмное. зря я на это замахнулся, это применимо тоько для небольших датасетов, или для командной работы в компаниях где много железа
Нейросети пока убрал из списка моделей, хотя для TF уже готов код. Смутил только факт, что нерадивые разработчики TF не очищают память GPU, и в сетапах с несколькими моделями это неприменимо. После моего сообщения в гитхабовском чате проблемы вроде начались какие-то движения, может, всё же починят, проще пока немного выждать.
У меня сейчас выбран 1 горизонт, и на нём есть 6 таргетов (классификации). Также есть 3 рынка, на каждом 1-2 десятка инструментов.
Фичерсет один, состоит из 5 групп признаков.
Попытаюсь с минимальной креативностью и максимально быстро проскорить, а где же лучшая предсказуемость (таргет, рынок, инструмент). Никаких опций конвейера, только FS. ES=True, 2 бустинга с обучением на GPU. Миссинги и категорийку на откуп моделям. Никакого CV, на это не хватит времени. SHAP-важность признаков не оценивать, только нативную. На HPT, конечно же, времени опять нет.
Хочется получить что-то минимально работающее уже, а то в стремлении к совершенству я потратил 2 месяца непонятно на что (
Пока модельки будут обучаться, попробую независимо улучшить торговую политику на этих таргетах.
Добавил в свою "экспериментальную платформу" бэйзлайны (не знаю хорошего русского эквивалента этому слову.. блэт, я даже не знаю хорошей русской замены для слова эквивалент. не считать же таковой слово аналог?).
Также добавил простые ансамбли (4 вида средних).
Добавил отдельный отчёт МЛ-метрик в разбивке по дням (в отличие от всего test set).
Добавил локальное сохранение обученных моделек, прогресс не теряется теперь даже если нода перезагружается.
Некоторые вещи успростил, т.к.
1) mlflow плохо работает с большой вложенностью (иногда вылезают глюки, плюс нет кнопки expand all, а почти все питоновские веб-сервера тормозят из-за отстутствия client-side скриптов
2) время для перебора опций конвейреа требуется на текущих объёмах (десятки и сотни миллионов строк) простно неподъёмное. зря я на это замахнулся, это применимо тоько для небольших датасетов, или для командной работы в компаниях где много железа
Нейросети пока убрал из списка моделей, хотя для TF уже готов код. Смутил только факт, что нерадивые разработчики TF не очищают память GPU, и в сетапах с несколькими моделями это неприменимо. После моего сообщения в гитхабовском чате проблемы вроде начались какие-то движения, может, всё же починят, проще пока немного выждать.
У меня сейчас выбран 1 горизонт, и на нём есть 6 таргетов (классификации). Также есть 3 рынка, на каждом 1-2 десятка инструментов.
Фичерсет один, состоит из 5 групп признаков.
Попытаюсь с минимальной креативностью и максимально быстро проскорить, а где же лучшая предсказуемость (таргет, рынок, инструмент). Никаких опций конвейера, только FS. ES=True, 2 бустинга с обучением на GPU. Миссинги и категорийку на откуп моделям. Никакого CV, на это не хватит времени. SHAP-важность признаков не оценивать, только нативную. На HPT, конечно же, времени опять нет.
Хочется получить что-то минимально работающее уже, а то в стремлении к совершенству я потратил 2 месяца непонятно на что (
Пока модельки будут обучаться, попробую независимо улучшить торговую политику на этих таргетах.
✍1