#термин
В последнее время мне несколько раз попался термин трансвычислительная задача - задача, которая не могла бы быть решена, если бы решалась компьютером размером с нашу планету на предельной скорости всё время существования планеты. Есть даже константа 10^93 т.н. предел Бремерманна - число бит, которое этот компьютер успеет обработать. Термин, конечно, условный и почти бесполезный, однако, задаёт некоторый "бенчмарк" для сравнения различных задачи. Например, задача коммивояжёра при числе городов n=67 становится трансвычислительной (если решать тупым перебором - что почему-то не всегда оговаривают). Что интуитивно совсем немного (когда на практике возникала такая задача, то чаще n>100).
В последнее время мне несколько раз попался термин трансвычислительная задача - задача, которая не могла бы быть решена, если бы решалась компьютером размером с нашу планету на предельной скорости всё время существования планеты. Есть даже константа 10^93 т.н. предел Бремерманна - число бит, которое этот компьютер успеет обработать. Термин, конечно, условный и почти бесполезный, однако, задаёт некоторый "бенчмарк" для сравнения различных задачи. Например, задача коммивояжёра при числе городов n=67 становится трансвычислительной (если решать тупым перебором - что почему-то не всегда оговаривают). Что интуитивно совсем немного (когда на практике возникала такая задача, то чаще n>100).
Wikipedia
Transcomputational problem
problem whose solution requires a computer at least the size of the Earth and a time period at least the estimated age of the Earth to be computed
👍30🔥2😁2
#термин
Есть некоторые простые понятия ML, которые мало кто знает, поскольку их нет в стандартных курсах. Например, в теме решающие деревья (Decision Trees) редко рассказывают про суррогатные расщепления (Surrogate Splits), а это очень эффективный приём обработки пропусков... Суть очень простая, пусть при построении дерева в некоторой ветке мы дошли до такой подвыборки
- положить в обе ветви дерева (не очень выгодно при большом числе пропусков и долгая работа алгоритма),
- выбрать наиболее подходящую ветвь дерева, в данном случае ту, куда попал объект с меткой 1 (но тут мы «уравниваем» объекты с пропуском),
- для неизвестных значений применить другое "запасное" расщепление, которое и называется суррогатным.
Нетрудно заметить, что расщепление B > 6 на объектах с известными значениями признаков совпадает с исходным, при этом определено для тех объектов, у которых были неизвестны значения признака A.
Теперь, если Вы пользователь R, понимаете, что выводит код
Есть некоторые простые понятия ML, которые мало кто знает, поскольку их нет в стандартных курсах. Например, в теме решающие деревья (Decision Trees) редко рассказывают про суррогатные расщепления (Surrogate Splits), а это очень эффективный приём обработки пропусков... Суть очень простая, пусть при построении дерева в некоторой ветке мы дошли до такой подвыборки
A B C Y=targetЗдесь напрашивается сделать расщепление A > 2.5, но не понятно, в какое поддерево класть последние два объекта. Есть стандартные стратегии:
0 ? 0 0
1 5 1 0
2 ? 0 0
3 8 1 1
? 7 1 1
? 7 1 1
- положить в обе ветви дерева (не очень выгодно при большом числе пропусков и долгая работа алгоритма),
- выбрать наиболее подходящую ветвь дерева, в данном случае ту, куда попал объект с меткой 1 (но тут мы «уравниваем» объекты с пропуском),
- для неизвестных значений применить другое "запасное" расщепление, которое и называется суррогатным.
Нетрудно заметить, что расщепление B > 6 на объектах с известными значениями признаков совпадает с исходным, при этом определено для тех объектов, у которых были неизвестны значения признака A.
Теперь, если Вы пользователь R, понимаете, что выводит код
tm <- rpart(Y ~ weight + height, data = tmp_df, control = rpart.control(minsplit =1, minbucket=1, cp=0, maxdepth = 1))
summary(tm)
Primary splits:
weight < 5.5 to the left, improve=4.444444, (1 missing)
height < 4.5 to the left, improve=3.333333, (0 missing)
Surrogate splits:
height < 3.5 to the left, agree=0.889, adj=0.75, (1 split)
👍48🔥3👏2
#термин
Extreme learning machine (ELM) - это нейросеть, в которой все слои, кроме последнего случайно инициализированы и фиксированы, а последний обучается (т.е. "логистическая регрессия" на случайных признаках). До 2012 года было целое научное направление под руководством Guang-Bin Huang из Сингапура, которое занималось развитием таких методов. В частности, были доказаны, что они являются универсальными аппроксиматорами. На основную статью Guang-Bin Huang 2006 года более 12000 ссылок.
Потом (после 2012) нейронки смогли относительно быстро обучать "целиком" и направление ELM забылось... Знаменитый профессор уже 7 лет не выпускает крутых статей, но у него есть сын (я так думаю: фамилии совпадают и он начинал в его научной группе), который в глазах современников превзошёл отца - Gao Huang. Он соавтор ансамблей Snapshot ensembles, концепции Stochastic Depth и, наконец самое известное, сети DenseNet (более 28500 ссылок на статью).
Extreme learning machine (ELM) - это нейросеть, в которой все слои, кроме последнего случайно инициализированы и фиксированы, а последний обучается (т.е. "логистическая регрессия" на случайных признаках). До 2012 года было целое научное направление под руководством Guang-Bin Huang из Сингапура, которое занималось развитием таких методов. В частности, были доказаны, что они являются универсальными аппроксиматорами. На основную статью Guang-Bin Huang 2006 года более 12000 ссылок.
Потом (после 2012) нейронки смогли относительно быстро обучать "целиком" и направление ELM забылось... Знаменитый профессор уже 7 лет не выпускает крутых статей, но у него есть сын (я так думаю: фамилии совпадают и он начинал в его научной группе), который в глазах современников превзошёл отца - Gao Huang. Он соавтор ансамблей Snapshot ensembles, концепции Stochastic Depth и, наконец самое известное, сети DenseNet (более 28500 ссылок на статью).
Wikipedia
Extreme learning machine
type of artificial neural network
🔥37👍18🤯9😢1
#термин
Есть такое интересное понятие - Цена анархии. По простому, это во сколько раз эгоистичное поведение хуже согласованного. Например, есть 3 грибника и 2 удалённых грибницы в разных сторонах, в одной ~ 300 грибов, в другой ~ 150. Согласованное поведение: двое идут к первой, третий ко второй, в результате все набирают по ~ 150 грибов. Эгоистичное поведение: все бросаются к большей грибнице и каждый набирает по ~ 100 грибов. Цена анархии = 150/100 = 1.5.
Это понятие возникает в и DS-задачах. Часто бизнес-продукты оптимизируются в рамках "идеального мира" (скажем, прогнозируем продажу N единиц товара - и столько завозим на склад), но пользователи не будут действовать согласованно, они чаще эгоистичны (приходит перекупщик и скупает все N), поэтому нужно заранее уметь оценивать, насколько меньше может быть их удовлетворённость, наши доходы и т.п.
Иногда цена анархии появляется и в совсем ML-ных статьях, например в статьях про RL.
Есть такое интересное понятие - Цена анархии. По простому, это во сколько раз эгоистичное поведение хуже согласованного. Например, есть 3 грибника и 2 удалённых грибницы в разных сторонах, в одной ~ 300 грибов, в другой ~ 150. Согласованное поведение: двое идут к первой, третий ко второй, в результате все набирают по ~ 150 грибов. Эгоистичное поведение: все бросаются к большей грибнице и каждый набирает по ~ 100 грибов. Цена анархии = 150/100 = 1.5.
Это понятие возникает в и DS-задачах. Часто бизнес-продукты оптимизируются в рамках "идеального мира" (скажем, прогнозируем продажу N единиц товара - и столько завозим на склад), но пользователи не будут действовать согласованно, они чаще эгоистичны (приходит перекупщик и скупает все N), поэтому нужно заранее уметь оценивать, насколько меньше может быть их удовлетворённость, наши доходы и т.п.
Иногда цена анархии появляется и в совсем ML-ных статьях, например в статьях про RL.
Wikipedia
Цена анархии
Цена ана́рхии (англ. Price of Anarchy, PoA) — концепция в экономике и теории игр, которая измеряет, насколько эффективность системы деградирует из-за эгоистического поведения её агентов.
❤52👍35🔥7😍1
#термин
Есть такой феномен "Банерная слепота" - если человек долго пользуется сайтом с рекламой, то его внимание к рекламе притупляется и она перестаёт на него эффективно действовать. Постоянно появляются исследования подтверждающие, уточняющие или опровергающие этот эффект. Например, в работе Small percentage of users is able to reliably distinguish between ads and organic results утверждается, что пользователи не особо различают рекламные и органические ссылки в поисковой выдаче, а в работе Investigating the influence of ads on user search performance, behaviour, and experience during information seeking, что наличие рекламы сильно вредит работе (притупляется внимание и т.п.)
Есть такой феномен "Банерная слепота" - если человек долго пользуется сайтом с рекламой, то его внимание к рекламе притупляется и она перестаёт на него эффективно действовать. Постоянно появляются исследования подтверждающие, уточняющие или опровергающие этот эффект. Например, в работе Small percentage of users is able to reliably distinguish between ads and organic results утверждается, что пользователи не особо различают рекламные и органические ссылки в поисковой выдаче, а в работе Investigating the influence of ads on user search performance, behaviour, and experience during information seeking, что наличие рекламы сильно вредит работе (притупляется внимание и т.п.)
👍8
#термин
Как меняется значение термина со временем...
Сейчас термином cross-validation (перекрёстная проверка / скользящий контроль) называют практически любой способ "честной оценки её качества" (см. wiki). Более 20 лет назад под этим понимали, в основном, тестирование с равномерными разбиениям выборки:
- Leave-p-out cross-validation,
- Leave-one-out cross-validation,
- k-fold cross-validation.
А вот когда мы выборку делим на две части, на одной обучаемся, на другой контролируемся, называлось отложенным контролем (Holdout method) - видите, тут даже в названии нет "cross-validation".
И вот что написано на Wiki: "many sources instead classify holdout as a type of simple validation, rather than a simple or degenerate form of cross-validation".
На русской Wiki, кстати, вообще радикально отождествляют cross-validation = k-fold cross-validation (что соответствует старой терминологии).
Как меняется значение термина со временем...
Сейчас термином cross-validation (перекрёстная проверка / скользящий контроль) называют практически любой способ "честной оценки её качества" (см. wiki). Более 20 лет назад под этим понимали, в основном, тестирование с равномерными разбиениям выборки:
- Leave-p-out cross-validation,
- Leave-one-out cross-validation,
- k-fold cross-validation.
А вот когда мы выборку делим на две части, на одной обучаемся, на другой контролируемся, называлось отложенным контролем (Holdout method) - видите, тут даже в названии нет "cross-validation".
И вот что написано на Wiki: "many sources instead classify holdout as a type of simple validation, rather than a simple or degenerate form of cross-validation".
На русской Wiki, кстати, вообще радикально отождествляют cross-validation = k-fold cross-validation (что соответствует старой терминологии).
👍28🤔17😈3❤2💩1👌1