+ All Categories
Home > Entertainment & Humor > Recognition of handwritten digits

Recognition of handwritten digits

Date post: 28-Oct-2014
Category:
Upload: andrew-babiy
View: 41 times
Download: 7 times
Share this document with a friend
Description:
 
Popular Tags:
19
Бабий А.С. - [email protected] Машинное обучение Распознавание рукописных цифр
Transcript
Page 1: Recognition of handwritten digits

Бабий А.С. - [email protected]

Машинное обучение

Распознавание рукописных цифр

Page 2: Recognition of handwritten digits

Машинное обучение. Распознавание рукописных цифр. 2

Задача распознавания.

Уже существует поддержка рукописного ввода

Как это работает?Почему иногда не срабатывает?Как обучать готовые программы?Как научиться самому создавать обучаемые программы?

Page 3: Recognition of handwritten digits

Машинное обучение. Распознавание рукописных цифр. 3

Задача распознавания.

Этапы решения задачи распознавания:

Выделяем признаки

Создаем тестовую и обучающую выборки

Выделяем классы

Классифицируем

1) Где взять выборки?2) Размер выборок?3) Что внутри выборок?1) Подготовка данных.2) Как сравнивать объекты?3) Как искать признаки?

1) Как определить качество кластеризации?2) Когда остановиться

1)Какой алгоритм классификации выбрать?

Page 4: Recognition of handwritten digits

Машинное обучение. Распознавание рукописных цифр. 4

Задача распознавания.

1. Kaggle – что это? We’re making data science a sport.

2. Как научиться? Где соревноваться? http://www.kaggle.com

Page 5: Recognition of handwritten digits

Машинное обучение. Распознавание рукописных цифр. 5

Задача распознавания

Выборка:

Данные для этой задачи взяты из набора данных MNIST

http://yann.lecun.com/exdb/mnist/

Обучающая выборка - 60000 образцов

таблица с результатами применения методов+

Ссылки на публикации с описанием методов

Page 6: Recognition of handwritten digits

Предварительная обработка данных

Машинное обучение. Распознавание рукописных цифр. 6

Матрица 28х28, цвет в градации серого от 0 до 255

1) Переходим к черно-белому изображению(адаптивный порог, метод Оцу[1])

2) Морфологическое преобразование – уменьшаем до толщины 1 пиксела[2].

Page 7: Recognition of handwritten digits

Предварительная обработка данных

Машинное обучение. Распознавание рукописных цифр. 7

Наклон символа – находим эллипс максимально близкий к нашему символу

Есть функция в OpenCV, Matlab b т.п. Используется метод наименьших квадратов

Page 8: Recognition of handwritten digits

Предварительная обработка данных

Машинное обучение. Распознавание рукописных цифр. 8

Число Эйлера

Дополнительные значимые свойства?

1) Симметрия 2) Расположение «центра масс» цифры

Page 9: Recognition of handwritten digits

Предварительная обработка данных

Машинное обучение. Распознавание рукописных цифр. 9

На вход сети подаются такие данные:

1) Данные о пикселах(b\w) после обработки 16х162) Число Эйлера3) Треть в которой расположен «центр масс»

Все данные нормализованы!

Page 10: Recognition of handwritten digits

Создание сети

В зависимости от наших предпочтений, можем выбрать 1) Matlab2) R, Python + libraries

Для Matlab – nftool, довольно все просто понятно, мастер ИНС

Библиотеки для создания ИНС

Машинное обучение. Распознавание рукописных цифр. 10

Fast Artificial Neural Network Library (FANN)http://leenissen.dk

Kohonen neural network libraryhttp://knnl.sourceforge.net/

Python! Neurolabhttp://code.google.com/p/neurolab/

Page 11: Recognition of handwritten digits

Создание сети

Выбор размера скрытого слоя ИНС

Слишком мало нейронов скрытого слоя – плохоСлишком много мало нейронов скрытого слоя - плохо

Как подобрать?

Мера Вапника-Червоненкиса

Один из методов редукции сети

Перебор возможных вариантов, ГА

Машинное обучение. Распознавание рукописных цифр. 11

Page 12: Recognition of handwritten digits

Создание сети

Машинное обучение. Распознавание рукописных цифр. 12

Пути улучшения:

Page 13: Recognition of handwritten digits

Выводы

1. Важно определить стойкие признаки2. Нормализация данных3. ИНС – не всегда срабатывает лучше других методов!4. Обучение - долгий процесс

Машинное обучение. Распознавание рукописных цифр. 13

Понимание сути задачи первично для анализа данных

Как автоматически(полуавтоматически) выявлять признаки?

Качество распознавания персептроном - 88%

Page 14: Recognition of handwritten digits

Результаты

Машинное обучение. Распознавание рукописных цифр. 14

Page 15: Recognition of handwritten digits

Результаты

Машинное обучение. Распознавание рукописных цифр. 15

Page 16: Recognition of handwritten digits

Результаты

Машинное обучение. Распознавание рукописных цифр. 16

Page 17: Recognition of handwritten digits

Результаты

Машинное обучение. Распознавание рукописных цифр. 17

Page 18: Recognition of handwritten digits

Спасибо за внимание!

Page 19: Recognition of handwritten digits

Источники литературы

1. Otsu, N., "A Threshold Selection Method from Gray-Level Histograms," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66.

2. Lam, L., Seong-Whan Lee, and Ching Y. Suen, "Thinning Methodologies-A Comprehensive Survey," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 14, No. 9, September 1992, page 879, bottom of first column through top of second column.

3. http://leenissen.dk

4. http://knnl.sourceforge.net/

5. http://code.google.com/p/neurolab/


Recommended