Искусственный Интеллект

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



MNIST тест

Сообщений 1 страница 30 из 46

1

напомню,
что данные для теста лежат здесь:
http://yann.lecun.com/exdb/mnist/
и в jpg http://www.cs.toronto.edu/~roweis/data.html

напомню, что:

3d6 написал(а):

Я вам сообщаю результаты, опубликованные в приличных рецензируемых журналах, или на не менее приличных конференциях - а вам пофиг. Покажите на MNISTе хотя бы 90% - тогда и поговорим.

докладываю, что макетик собрал, запустил...
для цифры "0" результат - 6 ошибок из 980 изображений, т.е. 99.39%
думаю, для остальных цифер будет похуже, но не ниже 98% распознавания...
и при этом, данный алгоритм самый простой, его можно сильно улучшать...

уже утром запущу, выложу результаты и макетик...

статистика распознавания здесь:  http://www.sharemania.ru/0203145

Отредактировано Egg (2009-08-23 09:15:53)

0

2

остальные результаты существенно хуже, но за линию 94% никто не выпал...

макетик здесь, надеюсь разберетесь в UI, он требует данные в jpeg с фирменного сайта,
сначала каталог с паттернами, потом выбор тестового файла...
обработки много, работает медленно, ждать долго... на выходе txt файл с результатами теста...



#   err  qty     %
-----------------------
0   6    980    99.39
1   6    1135   99.47
2   43   1036   95.85
3   41   1010   95.94
4   35   982    96.44
5   34   900    96.22
6   14   958    98.54
7   37   1031   96.41
8   57   974    94.15
9   42   1013   95.85

В целом, результат - 96.86% правильно распознанных цифер...

Отредактировано Egg (2009-08-23 20:36:17)

0

3

3d6 написал(а):

Сейчас я могу показать результаты, которые дала эта сеть (собственно - 96.4% на базе MNIST, если мне не изменяет память, что является пока что рекордом для методов без учителя), вы можете взять эту же базу, и запустить на ней свой алгоритм, для сравнения по порядку величин.

т.е. простые "алгоритмические методы", написанные за один день, примененные на вскидку без отпимизации оказываются лучше, чем
нейронные сети, по крайне мере на 0.3%... :) :)

З.Ы. найду на днях два-три часа, оптимизирую оценку и выйду на результат 98%, это совершенно реально...

Отредактировано Egg (2009-08-23 20:18:41)

0

4

Egg показал отличные результаты в обучении, хотелось бы такие же в преподавании :)

0

5

NO написал(а):

такие же в преподавании

это слишком тяжело для меня, я выдержал только два семестра...
чтобы быть педагогом надо быть либо талантом в этом, либо циником...

0

6

С людьми труднее чем с компьютерами. Надо все повторить, много раз, разными словами, и аргументы за и аргументы против тоже. Еще у каждого еще свое понимание что такое учеба, желательно чтобы ученики тоже чему-то поучили учителя, чтобы он понял как их учить. И после всего они будут те же идеи тебе же и втолковывать, как будто не от тебя узнали.
У меня вот напрочь не получается учить женщин чему-то компьютерному, они запоминают не суть, а мои повадки, и из них получается что-то типа учительницы информатики :)

А тест раньше назвался MNIST.

0

7

NO написал(а):

MNIST

N MIST = numeric mist

0

8

Для отдельных букв показатель очень хороший.
Если с текстом будет так же это 1 ошибка на 2 строки.
Гораздо интреснее если разпознавание поняло только одно слово на всей странице.

0

9

NO написал(а):

Если с текстом будет так же это 1 ошибка на 2 строки.Гораздо интреснее если разпознавание поняло только одно слово на всей странице.

с текстом так не будет... задача типа MNIST'а - это исключительно рафинированная задача...
честно говоря, я даже не рассматриваю вариант разделения слова на буквы,
с тем, чтобы потом распознавать каждую отдельно...

0

10

Egg написал(а):

т.е. простые "алгоритмические методы", написанные за один день, примененные на вскидку без отпимизации оказываются лучше, чемнейронные сети, по крайне мере на 0.3%

Задача решается перцептроном Розенблатта с тем же успехом - ошибка в приделах 5-7 % в зависимости от подстройки числа А-элементов и связей ... разница в пол процента случайная величина ... Вообще задача одна из простейших, форма гиперплоскости линейная, перцептрон обходится 10% нужных в общем случае элементов (при совершенно случайных образов нужно порядка 80%) ... Осложняет задачу только 50 шт. образов, которые совершенно не вписываются в статистику - их не одним методом еще не отсекли ...

Вообще говорить о хороших результах совершенно рано ...

Ну, и если говорить - то почему то не нашел даже упоминания, что это за супер-пупер метод ?

Отредактировано tac (2009-09-22 01:00:22)

0

11

tac написал(а):

Вообще говорить о хороших результах совершенно рано

в этом разделе никто ничего не говорит... только комментирует работающие методики и/или системы...
выложите свою по mnist тесту, сравним результаты...
на текущий момент лучший результат среди участников форума 96.86% и этот результат получен без использования т.н. ИНС...

Отредактировано Egg (2009-09-22 01:50:00)

0

12

Egg написал(а):

этот результат получен без использования т.н. ИНС

А это разве хорошо ? Самоцель ?

Небыло сказано как получен результат ... это тоже самое, что взять и с дуру написать результаты ... без указания метода - результаты ничто ...

Еще нету времени, за сколько получен результат - сколько было потраченно на вычисления !

Отредактировано tac (2009-09-22 01:56:31)

0

13

tac написал(а):

Самоцель?

индикатор... участник 3d6 приводил этот пример в качестве контрольного для демонстрации успехов в ИНС...

tac написал(а):

Небыло сказано как получен результат ... это тоже самое, что взять и с дуру написать результаты ... без указания метода - результаты ничто ...

с дуру можно многое, смысла нет обсуждать, а не с дуру можете взять программку, данные и проверить...
код я свой показывать не стану, может быть я его когда-нибудь буду использовать в коммерческих системах...
что вас конкретно интересует в методе? этот метод (как я писал) я набросал за пару часов свободного времени в выходной день...

0

14

Egg написал(а):

что вас конкретно интересует в методе? этот метод (как я писал) я набросал за пару часов свободного времени в выходной день...

Меня интересует основы данного метода, на каких принципах он строится, его описание - так как если бы вы писали статью. Мене не интересует за сколько вы его написали - меня интересует область его применения, на сколько он широк или написан специально под данный пример (это я буду судить сам, от вас необходимо лишь описание) ... Время меня интересует то - сколько данный алгоритм работал над данными (а не сколько вы работали над методом) ?

0

15

tac написал(а):

так как если бы вы писали статью

я не пишу статьи, я пишу программы... метод основан на представлении об образе как растре, над которым существуют некоторые фильтры, сопоставлящие растру некоторое действительное число... совокупность фильтров дает мне классификационный вектор, который я сравниваю с вектором, полученным для паттернов...

tac написал(а):

Время меня интересует то - сколько данный алгоритм работал над данными

это глупый вопрос... время будет зависеть от того какой камень в машине, сколько памяти,
сколько и какие паттерны, сколько и какие данные для распознавания... :) :)
порядка часа или двух всё это обрабатывалось у меня...

0

16

Хороший показатель сложность О(). Я думаю O(2^N), O(N^N) и возможно O(N!) говорят о том что система позволяет данным обрабатываться. А O(N^2) и т.п. это обычные функции, считающие какие-то признаки. O(N!) дает некий приоритет, типа субъективных ценностей, оно и O(N^N) часто оптимизируется в O(N*logN), тут адекватность зависит от класса данных.
А O(2^N) чисто показательная функция, свидетельствует о полноте комбинаций, эта самая хорошая.

0

17

O(N^N) уже можно считать семантическая, там сущностям можно поискать словестные определения, а O(2^N) формально-математическая.

0

18

Egg написал(а):

это глупый вопрос...

Вопрос не глупый, глупый ответ. (не стоит свою личную неприязнь, переносить в свои ответы).
Как верно заметил NO, не глупым ответом будет являться анализ сложности алгоритма по времени исполнения. (классы функций-асимптот: омега, о, тета).

Правда, в посте NО, есть несколько неточностей (ИМХО).
Как мне кажется, выражение "O(...) часто оптимизируется в ..." не корректно. Любой алгоритм можно усложнять хоть до бесконечности, поэтому усложните линейный алгоритм до n^n, а затем снова его оптимизируйте в линейный (или я не понял, что именно вы хотели этим сказать) . И вообще-то алгоритмы O(2^N), O(N^N) а так же и O(N!) показывают, что алгоритм не применим на практике (конечно, если он не окажется чем-то вроде FPT..., или с невысоким амортайзмом)
П.С.
кстати О(...) это не функция, а класс функций.

Отредактировано daner (2009-09-22 15:15:41)

0

19

Объясните, пожалуйста, дураку. С учетом вот этой цитаты:

Egg написал(а):

код я свой показывать не стану, может быть я его когда-нибудь буду использовать в коммерческих системах...
что вас конкретно интересует в методе? этот метод (как я писал) я набросал за пару часов свободного времени в выходной день...

Какой смысл в этой теме вообще? Кроме рекламы того что Egg супер-пупер программист (а кого-нибудь это вообще интересует?).
Цель показать что без ИНС хороших результатов распознавания можно добиться? Ну так это и так известно (ИНС в конце концов не панацея от всего на свете).
Кстати, ИНС много разных бывает, откуда нам знать, что ваш метод, это не очередная ИНС, под другим углом?

П.С = ОФФТОМ.
я тут почитал форум... очень рад, что наконец-то появился форум целенаправленный на научно-техническую, а не философскую сторону ИИ.
Но при этом, стоит тогда и темы делать в духе "научных", а не духе рубрики "А вам слабо?" (впрочем, я не исключаю такую рубрику, но подчеркнуто-отдельно).
Лично к вам, Egg, после чтения ЭТОГО форума, я сильно изменил свое мнение в положительную сторону. В очень многих вопросах (не на все, но в большей их части) у нас с вами очень схожие взгляды, так что
не хотелось бы, что бы вы подумали, что мой пост вызван личной к вам неприязнью.

0

20

Эм... Egg, у вас обучение без учителя? Если да - то как устроено?

0

21

tac написал(а):

Задача решается перцептроном Розенблатта с тем же успехом - ошибка в приделах 5-7 % в зависимости от подстройки числа А-элементов и связей ...

Я полагаю, что перцептрон тут покажет не менее 97%, если с ним повозиться немного.

0

22

А повернутые буквы?
1. Чтобы узнать какая нарисована буква ее нужно правильно повернуть.
2. Чтобы правильно повернуть нужно знать какая нарисована буква.

0

23

daner написал(а):

И вообще-то алгоритмы O(2^N), O(N^N) а так же и O(N!) показывают, что алгоритм не применим на практике

Вообще-то это сплетня, и я ее конечно знаю. У теоретиков много чего не применимо, я не знаю по каким причинам.

0

24

daner написал(а):

Вопрос не глупый, глупый ответ

ваше замечание еще глупее,
если вы будете путать время и сложность - многого мы не обсудим...
З.Ы. и личная просьба - ведите себя скромнее...
меня совершенно не интересуют ваши предположения о моих мотивах и ваши оценки моих действий...

Отредактировано Egg (2009-09-22 17:19:25)

0

25

3d6 написал(а):

Egg, у вас обучение без учителя? Если да - то как устроено?

с одной стороны, мне не очень нравится этот термин (даже не слишком понятен в крайних случаях)...
с другой стороны, я не уверен, что он применим к чему-то, кроме ИНС...
как мы с вами договаривались прошлый раз - я использовал "простое алгоритмирование",
"обучение" устроено так же как и "распознавание" - я строю область значений фильтров для каждого класса обучающей выборки...

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

0

26

Э... задача самообучения - это задача кластеризации. Есть набор векторов, которые человек относит к N разным классам. Их нужно разделить на M>=N классов так, чтобы для каждого из сгенерированных классов можно было задать соответствие одному из классов, на которые разделил данные человек (т.е. алгоритм может выделить 10 разных написаний цифры "1" в 10 разных классов, но ни в один из них не должно попадать написание цифры "2").

Egg написал(а):

можно сформулировать модель для каждой из цифры...

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

0

27

NO написал(а):

Вообще-то это сплетня, и я ее конечно знаю. У теоретиков много чего не применимо, я не знаю по каким причинам.

А стоило бы задуматься, почему они так считают... То что на практике многие "теоретически" не применимые методы работают, означает лишь то, что они не достаточно проанализированы в рамках задачи, к которой они применяются.
Так например с успехом работают "теоретически" не выполнимые алгоритмы БазДанных (задача выборки NPC)... и это не магия, просто в них используются FTP алгоритмы, которые позволяют за почти линейное время делать выборки, при ограниченной длине запросов. Не стоит пренебрегать теорией и теоретиками.

Egg написал(а):

если вы будете путать время и сложность - многого мы не обсудим...

а я не путаю. Есть сложность по времени, есть сложность по памяти. Сложность по времени, есть множество (класс) функций-асимптот ограничивающих время выполнение алгоритма относительно размера входных данных.
Именно оценка сложности позволяет обсуждать и сравнивать алгоритмы в не зависимости от железа и т.д.

0

28

3d6 написал(а):

задача самообучения - это задача кластеризации.

правда? :) давайте тогда использовать термин кластеризация всюду... он мне, в отличие от обучения и, тем более, от "самообучения", полностью понятен...

3d6 написал(а):

Если алгоритм сможет сформулировать модель для каждой цифры, не имея информации о том, какую цифру ему сейчас показывают, с достаточной точностью

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

3d6 написал(а):

Если нет - то в общем-то задача решена многократно в разных вариациях...

да, конечно... я видел статистику, там есть решения очень хорошие...
но вы ведь знаете, что именно решалось (если брать контекст нашего давнего разговора) - я предполагаю, что на каждое решение с помощью ИНС найдется решение "простым алгоритмированием" которое будет чуть лучше...
а в целом - я очень рад вас снова видеть на форуме и, поверьте, я очень уважаю вашу работу, вашу точку зрения и по-доброму завидую вашим результатам (если бы я использовал ИНС - у меня точно получилось бы много хуже)...

0

29

daner написал(а):

а я не путаю

прочитайте внимательно вопрос ко мне... если человек спрашивает про время, я буду отвечать про время...
спросил бы он про сложность - я бы ответил про сложность... :) :)

0

30

Egg написал(а):

давайте тогда использовать термин кластеризация всюду

Ну, совсем всюду наверное не стоит, но применительно к задачам типа этой - смело можно.

Egg написал(а):

это интересная задача, хочется ее решить... но она совсем другая

Да, и именно такого рода задача решена была нейросетью с точностью, о которой я говорил. В этой области с алгоритмами, которые существенно не похожи на нейронные сети, довольно туго. Собственно, я вообще не очень себе представляю, как к такой задаче подойти не с около-нейросетевых позиций.

Egg написал(а):

я предполагаю, что на каждое решение с помощью ИНС найдется решение "простым алгоритмированием" которое будет чуть лучше

Возможно, но со своей стороны, я предполагаю, что на решение 100 разных задач с помощью ИНС одного типа уйдет на порядок (а может даже на два порядка) меньше времени, чем на решение каждой с помощью "простого алгоритмирования" :)

Egg написал(а):

а в целом - я очень рад вас снова видеть на форуме

Ну, большую часть августа я сдавал проект с распознаванием рук (зато успешно! :)), потом отдыхал - и вот вернулся

0



Создать форум.