Можно было бы, сделать, как в Word: внесение изменений в режиме рецензирования. Автор тогда мог бы просто принять или отклонить исправления. А-то автор один, а комментаторов много.
Теория игр — действительно очень интересна. Но статья действительно не имеет к ней практически никакого отношения. Мне кажется было бы интереснее для читателя, если бы был дан разбор хотя бы одной задачи (той же «Дилеммы заключенного») с точки зрения теории игр. Сейчас же статья выглядит как примеры странных жизненных ситуаций.
Мне, как человеку любящему математику (хотя и, на самом деле, слабо ею владеющему), статья понравилась. Единственное, что смутило:
— в примере с роботом, он что стоит на одном месте и вообще не двигается? Зачем ему тогда система навигации? Если же двигается, то, мне кажется, такая простая фильтрация работать не будет.
— после анализа прямоугольных сигналов статья закончилась и остается совершенно непонятно, как теперь посчитать ряд фурье «в уме», например, для пилообразного сигнала, в котором встречаются и отрицательные коэффициенты.
Все таки, мне кажется, гораздо более универсальным подходом будет разобраться в интегрировании, пусть даже и численными методами.
Меня удивляет, что до конца конкурса еще 29.5 дней, а некто Andrey Litvinov уже выложил решение с средней относительной ошибкой равной 0.0 (то есть лучше уже нельзя в принципе)…
Как я писал, моя таблица не предендует на полноту, достоверность и абсолютную точность. Ваше решения не прошло в топ 21, поскольку не набрало 80% при тестировании на 10К слов (детали моей методики тестирования описаны в предыдущем посте)
Возьму на себя смелость выложить результаты моего грубого тестирования, которые я получил самостоятельно проверкой submissions, которые вчера выложили организаторы. Результат, в общем, не претендует на достоверность и не гарантирует точности.
Для предварительного тестирования я использовал собственный скрипт, который я прогнал на 312 решениях на выборке из 1000 слов. В результате:
5 решений тестировались очень медленно и вообще не выдали результата за 30 секунд на 1000 слов. Я эти решения прервал и далее не тестировал
5 решений тестировались отностительно медленно (более 10 секунд на 1000 слов), выдали не очень большие результаты. Далее я эти решения не тестировал
44 решений завершились ошибкой. Я их далее не тестировал не разбираясь с причинами
258 решений прошли предварительное тестирование, были перетестированы мной на 10 тыс слов. На основании 10К тестирования я выбрал топ решений, которые преодолели 80% рубеж на 10000 слов. Всего получилось 21 такое решение. После этого перетестировал топ 21 с помощью скрипта организаторов. Два таких решения (помечены звездочкой) тестировались медленно, и я прервал тестирование, а в качестве оценки точности данных решений использовал результат, полученный на 10К тестовых слов
Нет, в опубликованном решении я не использовал обучения вообще. Это я постфактум анализировал статистику — пытался сделать обучающееся решение, которое бы сходилось в 99+%. В принципе, реализуемо, просто приходится в блюм-фильтре хранить 40-60 тыс популярных «не слов».
В основном решении, у меня нет ничего особенно оригинального: стемминг, блюм-фильтр, триграммы. Описание моего решения тут.
Я просто хотел обратить внимание на то, что в тестовых данных множество «не слов» имеет неравномерное распределение, что требуется учитывать, чтобы получить решение, которое сходится в 99%. Чтобы не быть голословным, я прогнал ваше решение через датасет в 110 млн тестовых слов. Предел для вашего решения — это 96-97% точности не зависимо от количества тестовых данных
Графики тут
Accuracy — это точность решения на заданном количестве данных
MA 100K и MA 1M — это скользящее среднее для точности на 100тыс и 1 млн соответственно.
Не совсем. Я имел в виду, что вероятность встретить «не слова», такие как «under's» или «dising» примерно в 20 раз выше, чем встретить слово из словаря. И таких слов достаточно много. Например «blenesses» и «unreproof» встречаются также часто как и словарные слова. Видимо, это связано с природой марковского генератора.
То есть, при таком подходе, после 60 млн тестов база будет включать определенный процент (по моим оценкам около 5%) ложноположительных слов.
Почитал ваше решение. Правильно понимаю, вы не учитывали тот факт, что для 20-30к «не слов» вероятность обнаружения в тестовой выборке не ниже чем для «корректных слов»? Если не учитывает, то ваш алгоритм не сойдется никогда в 100%, максимум в 95%.
А можно описание решения выложить попозже? Например, после предварительных итогов. А-то сейчас код представляет собой некоторую кашу из Java, Python, Shell-скриптов и JavaScript, которую я, конечно, приложу сразу, но в которой, вообще, трудно разобраться.
Почитав соседнюю ветку, пришел к оценке, что по крайней мере 5 человек смогли преодолеть порог в 80%, или, по крайней мере, верят в то, что смогли преодолеть. Так что, вполне вероятно, кто-нибудь и покажет результат в 85%
Я не очень понимаю, как вы предполагаете проверять код перед запуском? Каждое решение глазами? Там же, вполне вероятно, будет минифицированный код. Также часть кода, я, например, запихнул в data.gz и исполняю через eval. Как вы этот код проверите, кроме как запуском?
Большое спасибо, что создали еще одну тему, теперь я могу писать сюда комментарии, и еще большее спасибо за тестовый скрипт. Скрипт бесценен, поскольку я не программирую на JavaScript и не знал таких подробностей, как экспорт функций.
Потратил пару недель на обучение нейронных сетей и пришел к выводу, что ничему существенному их научить не смогу. Перепробовал разные варинаты: mlp и convolutional, но, видимо, нужна практика, чтобы добиться существенного результата с помощью данного метода. Единственное, что работает, это фильтрация совсем шума.
В итоге перешел к эвристическим методам, пока достиг 75+%
— в примере с роботом, он что стоит на одном месте и вообще не двигается? Зачем ему тогда система навигации? Если же двигается, то, мне кажется, такая простая фильтрация работать не будет.
— после анализа прямоугольных сигналов статья закончилась и остается совершенно непонятно, как теперь посчитать ряд фурье «в уме», например, для пилообразного сигнала, в котором встречаются и отрицательные коэффициенты.
Все таки, мне кажется, гораздо более универсальным подходом будет разобраться в интегрировании, пусть даже и численными методами.
В основном решении, у меня нет ничего особенно оригинального: стемминг, блюм-фильтр, триграммы. Описание моего решения тут.
Accuracy — это точность решения на заданном количестве данных
MA 100K и MA 1M — это скользящее среднее для точности на 100тыс и 1 млн соответственно.
То есть, при таком подходе, после 60 млн тестов база будет включать определенный процент (по моим оценкам около 5%) ложноположительных слов.
1 post
0 ch'stalietized
1 magnanimously
Потратил пару недель на обучение нейронных сетей и пришел к выводу, что ничему существенному их научить не смогу. Перепробовал разные варинаты: mlp и convolutional, но, видимо, нужна практика, чтобы добиться существенного результата с помощью данного метода. Единственное, что работает, это фильтрация совсем шума.
В итоге перешел к эвристическим методам, пока достиг 75+%