Проводится обзор принципиальных задач машинного обучения и наиболее популярных программных пакетов и библиотек в этой области. Рассказывается об опыте использования средств искусственного интеллекта и искусственных нейронных сетей и их применения в приложениях (zzphoto.me, recognizz.it). Основной упор доклада сделан на специфику процесса разработки и иплементации в программные продукты функционала, содержащего искуственный интеллект. Приводится список типичных ошибок и практических советов для создания работоспособных интеллектуальных приложений. Будет полезен как опытным программистам, так и начинающим специалистам в этой области.
4. Машинное обучение
• синтез алгоритмов из представленных данных,
«обучающей выборки»
• эффективность работы синтезированного
алгоритма как главная мера качества
• круг задач искусственного интеллекта
• математика как базовая научная дисциплина
(теория вероятности, случайные процессы,
математическая статистика)
4 / 40
5. Виды машинного обучения
• регрессия (regression)
• классификация (classification)
• кластеризация (clusterization)
• обучение с подкреплением (reinforcement
learning)
• эволюционные алгоритмы (evolutionary
algorithms)
5 / 40
6. Регрессия – данные
x y
0.00 0.00
0.10 0.59
0.20 0.95
0.30 0.95
0.40 0.59
0.50 0.00
0.60 -0.59
0.70 -0.59
0.80 -0.95
0.90 1.00
6 / 40
21. Мы живем в мире Big Data
Данные для компьютеров:
• в 2006 году было создано
и сохранено 160 эксабайт
(160х1018) информации
• в 2010 году было создано
и сохранено 1 зетабайт
(1021) информации
Пример: рост количества
цифровых фото
21 / 40
23. Алгоритмы классификации
• k ближайших соседей (k-Nearest Neighbours)
• Нейронные сети (Neural Networks = MLP & RBF)
• Машины опорных векторов (Support Vector
Machines)
• Деревья решений (бустинг)
23 / 40
24. Алгоритмы кластеризации
• k средних (k-Means)
• Иерархическая кластеризация (Hierarhical
Clustering)
• Самоорганизующиеся карты Кохонена (Self-
Organizing Maps)
• Гауссовские смешанные модели (Gaussian
Mixture Models)
24 / 40
25. Некоторые алгоритмы для
предобработки данных
• общие, проблемно-независимые – PCA, LDA,
Kernel PCA
• для изображений – SIFT, SURF, CHoG, Zernike
Moments, Wavelets
• для звука – DFT, FFT, Mel cepstra, Wavelets
• для текста – ITF-DF, N-grams
25 / 40
26. Некоторые прикладные пакеты для
машинного обучения
• OpenCV – библиотека средств машинного
зрения.
• PythonXY – пакет «все-в-1» популярных методов
машинного обучения.
• LibSVM – надежная кросс-платфроменная.
библиотека машин опорных векторов.
• NetLab – библиотека «обычных» нейронных
сетей.
• Theano – библиотека глубоких нейронных сетей.
26 / 40
35. Правило № 8
• нормируйте данные;
• центрируйте данные;
• в случае классификации, перемешивайте выборку.
35 / 40
36. Правило № 9
Не нужно дообучать синтезированные эмпирические
модели в режиме реального времени.
36 / 40
37. Правило № 10
Обучайте модели в MATLAB, Python и подобных
дружественных средах.
37 / 40
38. Литература
1. С. Осовский. Нейронные сети для обработки
информации – пер. с польского. М.: Финансы и
статистика, 2002. – 344с.
2. Bishop C.M. Pattern Recognition and Machine
Learning. Springer, 2006 – 738 p.
3. С. Хайкин. Нейронные сети: полный курс.
Вильямс, 2006.
38 / 40