Pull to refresh
2
0
Send message
Можно было бы, сделать, как в Word: внесение изменений в режиме рецензирования. Автор тогда мог бы просто принять или отклонить исправления. А-то автор один, а комментаторов много.
Теория игр — действительно очень интересна. Но статья действительно не имеет к ней практически никакого отношения. Мне кажется было бы интереснее для читателя, если бы был дан разбор хотя бы одной задачи (той же «Дилеммы заключенного») с точки зрения теории игр. Сейчас же статья выглядит как примеры странных жизненных ситуаций.
Мне, как человеку любящему математику (хотя и, на самом деле, слабо ею владеющему), статья понравилась. Единственное, что смутило:
— в примере с роботом, он что стоит на одном месте и вообще не двигается? Зачем ему тогда система навигации? Если же двигается, то, мне кажется, такая простая фильтрация работать не будет.
— после анализа прямоугольных сигналов статья закончилась и остается совершенно непонятно, как теперь посчитать ряд фурье «в уме», например, для пилообразного сигнала, в котором встречаются и отрицательные коэффициенты.

Все таки, мне кажется, гораздо более универсальным подходом будет разобраться в интегрировании, пусть даже и численными методами.
Меня удивляет, что до конца конкурса еще 29.5 дней, а некто Andrey Litvinov уже выложил решение с средней относительной ошибкой равной 0.0 (то есть лучше уже нельзя в принципе)…
решение, выдающее 36.12% — это, скорее всего, просто программная ошибка. Например, решение периодически возвращает undefined.
Как я писал, моя таблица не предендует на полноту, достоверность и абсолютную точность. Ваше решения не прошло в топ 21, поскольку не набрало 80% при тестировании на 10К слов (детали моей методики тестирования описаны в предыдущем посте)
Возьму на себя смелость выложить результаты моего грубого тестирования, которые я получил самостоятельно проверкой submissions, которые вчера выложили организаторы. Результат, в общем, не претендует на достоверность и не гарантирует точности.

Результаты под, Осторожно, Спойлером!
N  SUBMISSION                  ACCURACY	
1  5747452a63905b3a11d97c13    83.67	
2  5748dc6363905b3a11d97d03    83.11	
3  57581ef1bb50d92eb4000001    83.03	
4  57483bab63905b3a11d97c5c    83.00	
5  57487e6a63905b3a11d97c73    82.16	
6  5748dc5763905b3a11d97d02    81.62	
7  5748a0a363905b3a11d97c96    81.59	
8  5745fc8163905b3a11d97be3    81.53 (*)
9  5748df1c63905b3a11d97d0f    81.51	
10 5748dda963905b3a11d97d06    81.44	
11 5748dded63905b3a11d97d0a    81.30	
12 5748c16c63905b3a11d97cd0    81.29	
13 5747e9eb63905b3a11d97c45    81.25	
14 5747dbba63905b3a11d97c3d    81.25	
15 5748a0fe63905b3a11d97c99    81.20	
16 574893e463905b3a11d97c85    81.20	
17 57485c0f63905b3a11d97c65    81.17	
18 574713ca63905b3a11d97c03    80.60 (*)
19 5735b994a6200f187771219a    80.41	
20 5746978e63905b3a11d97bee    80.19	
21 5748a78563905b3a11d97ca3    80.13	


О методике моего грубого тестировании
Для предварительного тестирования я использовал собственный скрипт, который я прогнал на 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%.
А будут сегодня какие-нибудь «предварительные результаты»?
Да, я именно на этом и остановился :)
Дрожащими руками залил решение. Неплохо бы на будущее, чтобы еще MD5 от файлов приходило на почту, чтобы можно было проверить то или не то загрузил
А можно описание решения выложить попозже? Например, после предварительных итогов. А-то сейчас код представляет собой некоторую кашу из Java, Python, Shell-скриптов и JavaScript, которую я, конечно, приложу сразу, но в которой, вообще, трудно разобраться.
Почитав соседнюю ветку, пришел к оценке, что по крайней мере 5 человек смогли преодолеть порог в 80%, или, по крайней мере, верят в то, что смогли преодолеть. Так что, вполне вероятно, кто-нибудь и покажет результат в 85%
Я для эстетики еще аргументы местами переставил, заодно и парсить проще:
1 post
0 ch'stalietized
1 magnanimously
Я не очень понимаю, как вы предполагаете проверять код перед запуском? Каждое решение глазами? Там же, вполне вероятно, будет минифицированный код. Также часть кода, я, например, запихнул в data.gz и исполняю через eval. Как вы этот код проверите, кроме как запуском?
Большое спасибо, что создали еще одну тему, теперь я могу писать сюда комментарии, и еще большее спасибо за тестовый скрипт. Скрипт бесценен, поскольку я не программирую на JavaScript и не знал таких подробностей, как экспорт функций.

Потратил пару недель на обучение нейронных сетей и пришел к выводу, что ничему существенному их научить не смогу. Перепробовал разные варинаты: mlp и convolutional, но, видимо, нужна практика, чтобы добиться существенного результата с помощью данного метода. Единственное, что работает, это фильтрация совсем шума.

В итоге перешел к эвристическим методам, пока достиг 75+%

Information

Rating
Does not participate
Registered
Activity

Specialization

Software Architect, Машинное обучение
From 2,000,000 ₽
Python
Java
High-loaded systems
Linux