2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Вопрос к тем, кто занимается распознаванием образов
Сообщение03.09.2007, 11:04 


03/07/06
45
Добрый день!
Все пишут, что при распознавании образов необходимо сокращать пространство признаков, т.к. иначе возрастает время рассчетов.
Так вот, вопрос такой: в настоящее время, на современных ПК
какая возможна макисмальная размерность пространства признаков?
И какое необходимо время обучения и распознавания при заданном объеме обучающей выборки (например, 100 экземпляров)?
Вообще, если кто-то наталкивался в чужих (или своих) экспериментальных исследованиях на график "время обучения (а также рампознавания) в зависимости от размерности пространства" при заданной обучающей выборке - приведите его пожалуйста!

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

И еще такой вопрос: насколько это плохо, если в системе будут не только информативные признаки, но и прочие, информативность которых низка. Видимо, их наличие будет увеличивать время обучения и распознавания (ведь, фактически, получается что кроме полезных сигналов классифицируем шумы), а как это обычно сказывается на точности распознавания? И какие ошибки обычно растут - 1-ого или 2-ого рода?

 Профиль  
                  
 
 
Сообщение03.09.2007, 11:35 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Главная проблема не в этом, а в переобучении. Объем обучающей выборки должен быть в разы больше, чем количество параметров обучаемой системы, а это количество параметров обычно больше всего зависит как раз от количества признаков. Если это не выполнено, то система обучится хорошо распознавать в точности обучающую выборку, а на независимых данных результаты будут неприемлемо хуже.

100 примеров - это очень мало. Я бы не рисковал при этом иметь больше, чем, скажем, 5 признаков. И все равно мало, скорее всего. Для нормальных промышленных задач, если число признаков хочется порядка 10-20, число примеров должно быть хотя бы несколько тысяч, а лучше десятки или даже сотни тысяч.

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

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

 Профиль  
                  
 
 
Сообщение03.09.2007, 14:14 


03/07/06
45
А как в таком случае быть, если обучающая выборка 100, а признаков будет, допустим, 2000? Ведь бывают такие случаи, когда признаков можеть быть много, а обучающую выборку расширить очень трудно, или невозможно.
Могу я при таком положении дел, все же создать систему,
или же вообще абсолютно некорректно говорить о каком-то качестве распознавания в такой ситуации?
И какое именно качество распознавания я могу получить, если учесть, что система обязательно должнать выдавать результат (состояния НЕ ЗНАЮ в нее не заложено)? Ошибки какого рода будут преобладать?

Кстати, а какое все-таки время обучения (хотя бы порядок) для пространства в 2000 признаков и обучающей выборке в 100, а так же в 1000 прецедентов?

 Профиль  
                  
 
 
Сообщение03.09.2007, 14:35 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Единственное, что можно сделать - это снижать размерность пространства признаков или использовать систему, которая только использует их комбинации. В любом случае количество параметров системы должно быть очень малым (а тогда и обучаться она будет быстро). А иначе будет именно то, о чем я говорил - Вы получите очень хороший результат на обучающей выборке (возможно, даже стопроцентное распознавание), но ценность этого результата будет нулевой.

sendspam писал(а):
И какое именно качество распознавания я могу получить, если учесть, что система обязательно должнать выдавать результат (состояния НЕ ЗНАЮ в нее не заложено)? Ошибки какого рода будут преобладать?


Ну как можно ответить на этот вопрос?! Никто же не знает, какую задачу Вы решаете, насколько Ваши объекты разделяются в принципе, а также насколько корректно выбранные признаки отражают те существенные свойства объектов, которые важны для конкретно данной задачи?

Аналогично невозможно ответить на вопрос о скорости обучения. Никто же не знает, какую именно систему Вы используете. Примерно как ответить на вопрос: "С какой приблизительно скоростью будет двигаться автомобиль, если в нем сидит водитель и еще 3 пассажира?"

 Профиль  
                  
 
 
Сообщение03.09.2007, 15:44 


03/07/06
45
Извините за глупый вопрос: а если ситуация такова, что снижать размерность пространства не представляется возможным? Что, если все 2000 признаков информативны? Допустим, такой вывод получен на основе инженерных расчетов?

Что означает - система использует только комбинации признаков? Это как можно организовать?

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

В случае с автомобилем- можно сказать: вчера Иван Иваныч с семьей ездил на дачу. Со скоростью 80 км/ч. У вас, скорее всего, скорость будет похожая. А вот если вы в такой компании поедите на велосипеде, то скорость ваша будет уже скорее километров 20 в час.

 Профиль  
                  
 
 
Сообщение03.09.2007, 15:57 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
sendspam писал(а):
Что означает - система использует только комбинации признаков? Это как можно организовать?


Ну, на самом деле я имел в виду снижение размерности.

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

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

Я хочу сказать, что Вы задаете такие вопросы, на которые, на мой взгляд, даже приблизительные ответы дать сложно.

Я думаю, что на 100 примерах любой способ обучения будет работать относительно быстро, в пределах нескольких минут.

Добавлено спустя 1 минуту 46 секунд:

Вы, кстати, не написали, сколько в Вашей задаче классов.

 Профиль  
                  
 
 
Сообщение03.09.2007, 17:16 
Заслуженный участник


15/05/05
3445
USA
sendspam писал(а):
Что означает - система использует только комбинации признаков? Это как можно организовать?
В статистике для этого используется метод главных компонент (principal components).
Как это делается при распознавании образов описано в книгах:
1. Фукунага К., Введение в статистическую теорию распознования образов. Наука. 1979. (Главы 8-10).
2. Шайеб А. Линейные метрические алгоритмы распознавания образов. МГУ. 2005. (Параграф 2.2)

Все эти приемы основаны на линейных операциях и не гарантируют снижение размерности.
Об учете нелинейных зависимостей см. у Фукунаги, гл.10.

На пространстве 2000 признаков, при 100 объектах, линейные методы найдут не более 100 комбинированных признаков. Но это связанно не с существом задачи, а с ограниченностью числа объектов, о чем и говорит PAV. Расчитывать на достоверные результаты статистических методов можно только если число объектов значительно больше числа признаков.

Аналогия: линейная регрессия на плоскости.
- Если есть 1 точка, то задача бессмысленна.
- Если есть 2 точки, то прямая только одна, но ее точность зависит от точности координат точек и не может быть определена непосредственно из данных..
- А вот если даны 30 точек, то можно построить регрессионную прямую и оценить ее точность.

 Профиль  
                  
 
 
Сообщение03.09.2007, 18:11 


03/07/06
45
Ну чтож.. , вы, видимо, правы. Вопросы я ставлю наверное не очень корректно.

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

Что же касается количества классов- пока я думаю остановиться на двух. В случае дихотомии - возможно ли все-таки получить приемлимое качество распознавания при столь большом пространстве?

Для пространства из 20 признаков, на 100 примерах обучающей выборки я получаю где-то процентов 85 верных ответов. Это нормальный результат, или такое в принципе невозможно? Ошибок перебраковки - примерно 10%.

 Профиль  
                  
 
 
Сообщение03.09.2007, 18:27 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
sendspam писал(а):
В случае дихотомии - возможно ли все-таки получить приемлимое качество распознавания при столь большом пространстве?


Я считаю, что нет.

sendspam писал(а):
Для пространства из 20 признаков, на 100 примерах обучающей выборки я получаю где-то процентов 85 верных ответов. Это нормальный результат, или такое в принципе невозможно?


Опять Вы задаете неправильный вопрос. Неужели Вы думаете, что все задачи распознавания с одинаковыми размерностями признаков и числом обучающей выборки будут давать примерно одинаковый результат? Разумеется, нет. Результат зависит от того, с каким качеством объективно можно решить данную задачу. И тут возможны любые варианты. Может быть, объективно качество распознавания должно быть ниже, а Ваш результат - это переобучение. А возможно, он может быть и выше, а Ваш результат - это неудачный выбор метода распознавания или плохая реализация программы обучения (может, она где-то в локальном минимуме застряла).

Попробуйте отобрать часть объектов в качестве тестового множества, не участвующего в процессе обучения. Или, поскольку данных мало, попробуйте методы типа leave-one-out.

 Профиль  
                  
 
 
Сообщение04.09.2007, 11:45 


03/07/06
45
Нет, что Вы, я не думаю, что все задачи и результаты одинаковые. Однако, есть тенденции. Вы, да и многие другие тоже пишут о том, что обучающая выборка должна быть как минимум в 10 раз больше количества параметров в системе.
Последний эксперимент у меня происходил при нарушении этого правила- количество объектов всего лишь в 5 раз больше, и дал вообщем-то неплохой результат.
Просто есть случаи возможные и есть случаи невозможные. Я спрашиваю именно о подобной возможности. Потому как если такой результат в принципе невозможен, но мной получен- значит у меня ошибка.
Хотя, случаи бывают разные... , я как-то читал, по-
моему, у Загоруйко, что у них была задача, где количество параметров превышало количество объектов раза в 3. И они умудрилиь получить более 70 процентов правильных ответов.


Что же касается моих результатов- то они получены именно при использовании метода "скользящего контроля". Всякий раз в обучении НЕ участвуют 5 объектов.
А те объекты, на которых система обучалась, классифицируются со 100% вероятностью. Однако, во время экзамена я их не использую. Выводы делаю только на основе 5 оставшихся объектов.
По-моему, не имеет смысла в экзамене учитывать(использовать) обучающую выборку, или я не прав??

 Профиль  
                  
 
 
Сообщение04.09.2007, 12:06 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
sendspam писал(а):
По-моему, не имеет смысла в экзамене учитывать(использовать) обучающую выборку, или я не прав??


Обучающую выборку во время экзамена использовать не нужно.

Попробуйте еще применить метод скользящего контроля с разбиением объектов на 10 групп по 10 объектов в каждой.

И желательно следить за тем, чтобы соотношение объектов каждого класса было бы в каждой группе таким же, как и во всей выборке.

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

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

Добавлено спустя 1 минуту 57 секунд:

Но вообще, наверное, Вы можете считать, что 80-85% - это достаточно объективный Ваш результат.

 Профиль  
                  
 
 
Сообщение04.09.2007, 12:29 


03/07/06
45
Хорошая идея! Сейчас попробую по 10 штук.

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

Добавлено спустя 3 минуты 12 секунд:

Кстати, а почему хорошо поддерживать в экзаменационной выборке такое же соотношение объектов разных классов, как и в обучающей выборке?

Да и еще.. я по-прежнему разделяю на 2 класса.

 Профиль  
                  
 
 
Сообщение04.09.2007, 17:50 


03/07/06
45
Провел небольшое исследование. Результаты следующие:Изображение

Делим на 2 класса. (норма и дефект)
Информативных признаков оставил 9.
На графике - зависимость точности классификации от числа объектов обучающей выборки.

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

Добавлено спустя 10 минут 29 секунд:

да.. объектов всего у меня 97 штук, из которых 57 описывают состояние норма и 40 дефект.
алгоритм классификации - разделение гиперплоскостями. Делит на области любой конфигурации, области могут быть как замкнутые, так и нет. Ответ "не знаю" в системе невозможен в принципе.

 Профиль  
                  
 
 
Сообщение05.09.2007, 12:27 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Вопрос - на графике изображены результаты обучения на той же выборке, по которой проводилось обучение, или на оставшейся части?

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

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

 Профиль  
                  
 
 
Сообщение05.09.2007, 22:42 


03/07/06
45
Алгоритм проведения экспериментов прежий. Я всегда для оценки использую те векторы, которые не участвовали в обучении.

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

Гистограмма признаков- вы имеете ввиду распределение непосредственно значений признаков? Это я попробую. Спасибо, идея хорошая.

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group