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

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




         Бабий А.С. - apratster@gmail.com
Задача распознавания.



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




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




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


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


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

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

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




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



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




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




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


    Выборка:

    Данные для этой задачи взяты из набора данных MNIST
    http://yann.lecun.com/exdb/mnist/

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


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




                        Машинное обучение. Распознавание рукописных цифр.   5
Предварительная обработка данных

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



  1) Переходим к черно-белому изображению(адаптивный порог, метод
     Оцу[1])
  2) Морфологическое преобразование – уменьшаем до толщины 1
     пиксела[2].




                      Машинное обучение. Распознавание рукописных цифр.   6
Предварительная обработка данных


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




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




                      Машинное обучение. Распознавание рукописных цифр.    7
Предварительная обработка данных




                                           Число Эйлера




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

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




                     Машинное обучение. Распознавание рукописных цифр.   8
Предварительная обработка данных


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

       1) Данные о пикселах(bw) после обработки 16х16
       2) Число Эйлера
       3) Треть в которой расположен «центр масс»
                        Все данные нормализованы!




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


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


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

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

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

      Kohonen neural network library
      http://knnl.sourceforge.net/

      Python! Neurolab
      http://code.google.com/p/neurolab/

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

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

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

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

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


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

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




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


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




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


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


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

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


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




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




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




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




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




             Машинное обучение. Распознавание рукописных цифр.   17
Спасибо за внимание!
Источники литературы
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/

More Related Content

PPTX
Machine Learning and Azure Machine Learning
PPT
CUDA & CAFFE
PDF
нейронные сети
PPTX
Основы коспьютерного стерео зрения
PPTX
Human brain how it work
PPT
PPTX
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
PDF
NLP Project Full Cycle
Machine Learning and Azure Machine Learning
CUDA & CAFFE
нейронные сети
Основы коспьютерного стерео зрения
Human brain how it work
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
NLP Project Full Cycle

Viewers also liked (20)

PDF
Face detection and recognition using OpenCV
PPT
ROS - Robotics Operation System
PPTX
Машинное обучение
PDF
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
PDF
Распознавание лиц в реальном времени по базам фотографий глобального масштаба...
PPTX
Машинное обучение на платформе .NET
PDF
Deep learning: Cложный анализ данных простыми словами_Сергей Шелпук
PDF
Введение в машинное обучение
PDF
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
PDF
Алгебраический подход к анализу данных и его приложения
PDF
Определение курильщика по кардиограмме
PDF
Решение задачи Search Results Relevance
PDF
Спектральная теория графов
PDF
Matrix Laboratory (эффективное программирование)
PPTX
Machine learning with Python / Олег Шидловский / Doist [Python Meetup 27.03.15]
PDF
Введение в язык программирования Питон (Python)
PDF
Deep Q-Learning
PDF
Теория нечётких множеств
PDF
Машинное обучение на платформе .NET
PDF
Pandas: обзор основных функций
Face detection and recognition using OpenCV
ROS - Robotics Operation System
Машинное обучение
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Распознавание лиц в реальном времени по базам фотографий глобального масштаба...
Машинное обучение на платформе .NET
Deep learning: Cложный анализ данных простыми словами_Сергей Шелпук
Введение в машинное обучение
Solit 2014, MapReduce и машинное обучение на hadoop и mahout, Слисенко Конста...
Алгебраический подход к анализу данных и его приложения
Определение курильщика по кардиограмме
Решение задачи Search Results Relevance
Спектральная теория графов
Matrix Laboratory (эффективное программирование)
Machine learning with Python / Олег Шидловский / Doist [Python Meetup 27.03.15]
Введение в язык программирования Питон (Python)
Deep Q-Learning
Теория нечётких множеств
Машинное обучение на платформе .NET
Pandas: обзор основных функций
Ad

Similar to Recognition of handwritten digits (20)

PDF
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
PPTX
BigData Week Moscow 2013 - Case: Personalization
PPTX
Deep Learning Course Introduction
PPTX
обработка информации и алгоритмы
PPTX
обработка информации и алгоритмы
PDF
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
PDF
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
PPTX
Машинное обучение в электронной коммерции — практика использования и подводны...
PPT
FaceDetection+GenderRecognition_review
PDF
Когнитивные технологии
PDF
когнитивные технологии, Ibm
PPT
Как начать моделировать? Переход от текстов к моделям в требованиях (Григорий...
PDF
Компьютерное зрение
PPT
лекция 1
PPT
Введение в алгоритмы и структуры данных
PDF
Нейросетевые системы автоматического распознавания морских объектов
PDF
Нейроморфный чип “Алтай” ориентированный на использование в РТК (ПСиЗУ 2016)
PPT
проект таланова н.п.
PPT
проект таланова н.п.
PPT
проект таланова н.п.
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
BigData Week Moscow 2013 - Case: Personalization
Deep Learning Course Introduction
обработка информации и алгоритмы
обработка информации и алгоритмы
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
Машинное обучение в электронной коммерции — практика использования и подводны...
FaceDetection+GenderRecognition_review
Когнитивные технологии
когнитивные технологии, Ibm
Как начать моделировать? Переход от текстов к моделям в требованиях (Григорий...
Компьютерное зрение
лекция 1
Введение в алгоритмы и структуры данных
Нейросетевые системы автоматического распознавания морских объектов
Нейроморфный чип “Алтай” ориентированный на использование в РТК (ПСиЗУ 2016)
проект таланова н.п.
проект таланова н.п.
проект таланова н.п.
Ad

Recognition of handwritten digits

  • 1. Машинное обучение Распознавание рукописных цифр Бабий А.С. - apratster@gmail.com
  • 2. Задача распознавания. Уже существует поддержка рукописного ввода Как это работает? Почему иногда не срабатывает? Как обучать готовые программы? Как научиться самому создавать обучаемые программы? Машинное обучение. Распознавание рукописных цифр. 2
  • 3. Задача распознавания. Этапы решения задачи распознавания: 1) Где взять выборки? Создаем тестовую 2) Размер выборок? и обучающую выборки 3) Что внутри выборок? 1) Подготовка данных. Выделяем признаки 2) Как сравнивать объекты? 3) Как искать признаки? Выделяем классы 1) Как определить качество кластеризации? 2) Когда остановиться Классифицируем 1)Какой алгоритм классификации выбрать? Машинное обучение. Распознавание рукописных цифр. 3
  • 4. Задача распознавания. 1. Kaggle – что это? We’re making data science a sport. 2. Как научиться? Где соревноваться? http://www.kaggle.com Машинное обучение. Распознавание рукописных цифр. 4
  • 5. Задача распознавания Выборка: Данные для этой задачи взяты из набора данных MNIST http://yann.lecun.com/exdb/mnist/ Обучающая выборка - 60000 образцов таблица с результатами применения методов + Ссылки на публикации с описанием методов Машинное обучение. Распознавание рукописных цифр. 5
  • 6. Предварительная обработка данных Матрица 28х28, цвет в градации серого от 0 до 255 1) Переходим к черно-белому изображению(адаптивный порог, метод Оцу[1]) 2) Морфологическое преобразование – уменьшаем до толщины 1 пиксела[2]. Машинное обучение. Распознавание рукописных цифр. 6
  • 7. Предварительная обработка данных Наклон символа – находим эллипс максимально близкий к нашему символу Есть функция в OpenCV, Matlab b т.п. Используется метод наименьших квадратов Машинное обучение. Распознавание рукописных цифр. 7
  • 8. Предварительная обработка данных Число Эйлера Дополнительные значимые свойства? 1) Симметрия 2) Расположение «центра масс» цифры Машинное обучение. Распознавание рукописных цифр. 8
  • 9. Предварительная обработка данных На вход сети подаются такие данные: 1) Данные о пикселах(bw) после обработки 16х16 2) Число Эйлера 3) Треть в которой расположен «центр масс» Все данные нормализованы! Машинное обучение. Распознавание рукописных цифр. 9
  • 10. Создание сети В зависимости от наших предпочтений, можем выбрать 1) Matlab 2) R, Python + libraries Для Matlab – nftool, довольно все просто понятно, мастер ИНС Библиотеки для создания ИНС Fast Artificial Neural Network Library (FANN) http://leenissen.dk Kohonen neural network library http://knnl.sourceforge.net/ Python! Neurolab http://code.google.com/p/neurolab/ Машинное обучение. Распознавание рукописных цифр. 10
  • 11. Создание сети Выбор размера скрытого слоя ИНС Слишком мало нейронов скрытого слоя – плохо Слишком много мало нейронов скрытого слоя - плохо Как подобрать? Мера Вапника-Червоненкиса Один из методов редукции сети Перебор возможных вариантов, ГА Машинное обучение. Распознавание рукописных цифр. 11
  • 12. Создание сети Пути улучшения: Машинное обучение. Распознавание рукописных цифр. 12
  • 13. Выводы 1. Важно определить стойкие признаки 2. Нормализация данных 3. ИНС – не всегда срабатывает лучше других методов! 4. Обучение - долгий процесс Понимание сути задачи первично для анализа данных Как автоматически(полуавтоматически) выявлять признаки? Качество распознавания персептроном - 88% Машинное обучение. Распознавание рукописных цифр. 13
  • 14. Результаты Машинное обучение. Распознавание рукописных цифр. 14
  • 15. Результаты Машинное обучение. Распознавание рукописных цифр. 15
  • 16. Результаты Машинное обучение. Распознавание рукописных цифр. 16
  • 17. Результаты Машинное обучение. Распознавание рукописных цифр. 17
  • 19. Источники литературы 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/