Введение в машинное обучение
Дмитрий Сподарец
d.spodarets@flyelephant.net
Обо мне
• Основатель FlyElephant и
GeeksLab
• Преподаватель в ОНПУ
История искусственного интеллекта
• Появление предпосылок AI (1943 – 1955)
• Рождение AI (1956) / Двухмесячный семинар в Дартмуте
• Ранний энтузиазм, большие ожидания (1952 – 1969)
• Столкновение с реальностью (1966 – 1973)
• Системы, основанные на знаниях – ключ к успеху? (1969 – 1979)
• Превращение AI в индустрию (1980 – …)
• Возвращение к нейронным сетям (1986 – …)
• Превращение AI в науку (1987 – …)
• Интеллектуальные агенты (1995 – …)
• Доступность больших баз данных (2001 – …)
История машинного обучения
• Нейронные сети - Перспептрон (Розенблатт, 1958)
• Когнитрон (Фукушима, 1975)
• Метод опорных векторов (1990е)
• Бустинг (конец 1990х)
• Рандомизированный решающий лес (начало 2000х)
• Обучение Марковских случайных полей (2000е)
• Глубокое обучение (2006)
Карта появления новых направлений
Машинное обучение: определение
• Машинное обучение — обширный подраздел искусственного
интеллекта, изучающий методы построения алгоритмов,
способных обучаться.
ru.wikipedia.org
Машинное обучение: определение
• Машинное обучение — процесс, в результате которого машина
(компьютер) способна показывать поведение, которое в нее не
было явно заложено (запрограммировано).
A.L. Samuel
Машинное обучение: определение
• Говорят, что компьютерная программа обучается на основе
опыта E по отношению к некоторому классу задач T и меры
качества P, если качество решения задач из T, измеренное на
основе P, улучшается с приобретением опыта
E. T.M.Mitchell
Суть машинногообучения
Обучающаяся
программа
Примеры данных с
закономерностями
Модель
закономерности
Поиск закономерностей в
новых данных
Сферы приложения
• Компьютерное зрение (computer vision)
• Распознавание речи (speech recognition)
• Компьютерная лингвистика и обработка естественных языков (natural language processing)
• Медицинская диагностика
• Биоинформатика
• Техническая диагностика
• Финансовые приложения
• Информационный поиск
• …
Аппарат
• Линейная алгебра
• Теория вероятностей и математическая статистика
• Методы оптимизации
• Численные методы
• Математический анализ
• Дискретная математика
• и др.
Классификация задач машинного обучения
• Дедуктивное обучение (экспертные системы)
• Индуктивное обучение (≈ статистическое обучение)
• Обучение с учителем
• Обучение без учителя
• Обучение с подкреплением (reinforcement learning)
• Активное обучение
• . . .
Дедуктивное или аналитическое обучение
(экспертные системы)
• Имеются знания, сформулированные экспертом и как-то
формализованные.
• Программа выводит из этих правил конкретные факты и новые
правила.
Примеры экспертных систем
• WolframAlpha
• IBM Watson
Индуктивное обучение
(≈ статистическое обучение)
• Обучение с учителем
• Обучение без учителя
Обучение с учителем
• Обучаем машину на примерах (данные + требуемое решение)
• Алгоритм сохраняет «значение» о примерах во внутренней
математической модели
• Предсказываем новые данные, используя обученную модель
Основная суть: обучая машину на исходных данных и зная ответ
для этих данных, получить ответ для новых данных.
Обучение без учителя
• Загружаем в машину какой-то набор данных
• Машина может самостоятельно проанализировать загруженные
данные и сгруппировать их или предложить вам набор инсайтов
Основная суть: не зная ответ совсем - получаем ответ.
Основные типы задач
• Обучение с учителем
• Классификация
• Регрессия
• Обучение без учителя
• Кластеризация
• Определение выбросов
• Гибридные
• Коллаборативная фильтрация (рекомендации)
Инструменты для решения задач ML
Классификация
Метод классификации k-ближайших соседей в R
library(ElemStatLearn)
require(class)
x <- mixture.example$x
g <- mixture.example$y
xnew <- mixture.example$xnew
mod15 <- knn(x, xnew, g, k=15, prob=TRUE)
prob <- attr(mod15, "prob")
prob <- ifelse(mod15=="1", prob, 1-prob)
px1 <- mixture.example$px1
px2 <- mixture.example$px2
prob15 <- matrix(prob, length(px1), length(px2))
par(mar=rep(2,4))
contour(px1, px2, prob15, levels=0.5, labels="",
xlab="", ylab="", main=
"15-nearest neighbour", axes=FALSE)
points(x, col=ifelse(g==1, "coral",
"cornflowerblue"))
gd <- expand.grid(x=px1, y=px2)
points(gd, pch=".", cex=1.2,
col=ifelse(prob15>0.5, "coral", "cornflowerblue"))
box()
http://stats.stackexchange.com/questions/21572/how-to-plot-decision-boundary-of-a-k-nearest-neighbor-classifier-from-elements-o
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Примеры задач классификации
• Медицинская диагностика: по набору медицинских характеристик требуется
поставить диагноз
• Геологоразведка: по данным зондирования почв определить наличие
полезных ископаемых
• Оптическое распознавание текстов: по отсканированному изображению
текста определить цепочку символов, его формирующих
• Кредитный скоринг: по анкете заемщика принять решение о выдаче/отказе
кредита
• Синтез химических соединений: по параметрам химических элементов
спрогнозировать свойства получаемого соединения
Регрессия
Линейная регрессия
data <- read.csv('~/git/R-Linear-Regression/rosn.txt', sep='t')
fit <- lm(data$ROSN ~ data$BRN )
plot(data$ROSN~data$BRN, xlab="ROSN", ylab="BRN")
abline(fit)
summary(fit)
http://www.algorithmist.ru/2011/04/linear-regression-with-examples-in-r.html
Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение
Примеры задач регрессии
• Оценка стоимости недвижимости: по характеристике района, экологической
обстановке, транспортной связности оценить стоимость жилья
• Прогноз свойств соединений: по параметрам химических элементов
спрогнозировать температуру плавления, электропроводность, теплоемкость
получаемого соединения
• Медицина: по постоперационным показателям оценить время заживления
органа
• Кредитный скоринг: по анкете заемщика оценить величину кредитного лимита
• Инженерное дело: по техническим характеристикам автомобиля и режиму
езды спрогнозировать расход топлива
Кластеризация
Метод k-средних
http://www.lisa.stat.vt.edu/?q=node/9082
Примеры задач кластерного анализа
• Экономическая география: по физико-географическим и экономическим
показателям разбить страны мира на группы схожих по экономическому положению
государств
• Финансовая сфера: по сводкам банковских операций выявить группы
«подозрительных», нетипичных банков, сгуппировать остальные по степени близости
проводимой стратегии
• Маркетинг: по результатам маркетинговых исследований среди множества
потребителей выделить характерные группы по степени интереса к продвигаемому
продукту
• Социология: по результатам социологических опросов выявить группы
общественных проблем, вызывающих схожую реакцию у общества, а также
характерные фокус-группы населения
Идентификация
Примеры задач идентификации
• Медицинская диагностика: по набору медицинских характеристик
требуется установить наличие/отсутствие конкретного заболевания
• Системы безопасности: по камерам наблюдения в подъезде
идентифицировать жильца дома
• Банковское дело: определить подлинность подписи на чеке
• Обработка изображений: выделить участки с изображениями лиц на
фотографии
• Искусствоведение: по характеристикам произведения (картины,
музыки, текста) определить, является ли его автором тот или иной автор
Прогнозирование
Примеры задач прогнозирования
• Биржевое дело: прогнозирование биржевых индексов и котировок
• Системы управления: прогноз показателей работы реактора по
данным телеметрии
• Экономика: прогноз цен на недвижимость
• Демография: прогноз изменения численности различных
социальных групп в конкретном ареале
• Гидрометеорология: прогноз геомагнитной активности
Извлечение знаний
Примеры задач извлечения знаний
• Медицина: поиск взаимосвязей (синдромов) между различными
показателями при фиксированной болезни
• Социология: определение факторов, влияющих на победу на выборах
• Генная инженерия: выявление связанных участков генома
• Научные исследования: получение новых знаний об исследуемом
процессе
• Биржевое дело: определение закономерностей между различными
биржевыми показателями
Онлайн курсы/лекции
• https://yandexdataschool.ru/edu-process/courses/machine-learning
• https://www.coursera.org/learn/introduction-machine-learning
• https://www.coursera.org/learn/machine-learning
• https://www.youtube.com/watch?v=qLBkB4sMztk
The Home of High Performance Computing
Compute / Manage data / Collaborate
http://www.flyelephant.net/
DEMO
Вопросы???
Дмитрий Сподарец
d.spodarets@flyelephant.net

More Related Content

PDF
Вебинар: Введение в машинное обучение
PPTX
А.Левенчук -- будущее науки
PDF
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
PDF
Демистификация нейронных сетей.
PDF
CV2015. Лекция 5. Выделение объектов.
PPTX
Практический курс «Основы Data Mining для всех»
PPTX
Нейронные сетки: покруче интернета
PDF
CV2015. Лекция 8. Распознавание лиц людей.
Вебинар: Введение в машинное обучение
А.Левенчук -- будущее науки
Блеск и нищета современного ИИ, из истории кибернетики в СССР, философия ИИ -...
Демистификация нейронных сетей.
CV2015. Лекция 5. Выделение объектов.
Практический курс «Основы Data Mining для всех»
Нейронные сетки: покруче интернета
CV2015. Лекция 8. Распознавание лиц людей.

Similar to Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение (20)

PPT
01ia-seminar01ia-seminar01ia-seminar.ppt
PPTX
А.Левенчук -- Образование по машинному обучению
PPTX
Системноинженерное мышление в непрерывном образовании
PPTX
Практики жизненного цикла систем машинного обучения
PDF
Системное мышление -- материалы курса (2016)
PDF
Introduction to Data Science
PDF
Профессия Data Scientist
PPTX
Взгляд на Data Science
PPTX
Машинное обучение для интеллектуализации ваших приложений
PDF
#АналитикаРешает - обзорная лекция про аналитику
PPTX
зао «эвентос»
PDF
Сверточные нейронные сети
PPTX
А.Левенчук -- Практики системной инженерии
PPTX
икт в нач школе 2011
PDF
Data Mining - lecture 1 - 2014
PDF
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
PPTX
Мастер-класс: Системное мышление
PPTX
Системное мышление -- непопсовый обзор курса
PDF
занятие 1
01ia-seminar01ia-seminar01ia-seminar.ppt
А.Левенчук -- Образование по машинному обучению
Системноинженерное мышление в непрерывном образовании
Практики жизненного цикла систем машинного обучения
Системное мышление -- материалы курса (2016)
Introduction to Data Science
Профессия Data Scientist
Взгляд на Data Science
Машинное обучение для интеллектуализации ваших приложений
#АналитикаРешает - обзорная лекция про аналитику
зао «эвентос»
Сверточные нейронные сети
А.Левенчук -- Практики системной инженерии
икт в нач школе 2011
Data Mining - lecture 1 - 2014
Презентация на семинаре Nvidia в ИТМО 16 мая 2017 г.
Мастер-класс: Системное мышление
Системное мышление -- непопсовый обзор курса
занятие 1
Ad

More from Hub-IT-School (7)

PDF
Лекция о профессии Frontend developer / 30.1
PDF
Hub IT School: Лекция "IT профессии"
PDF
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
PPTX
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
PPT
Эд Изотов: "In God we trust the REST we test".
PPTX
Андрей Сильчук: "Автоматическое тестирование".
PDF
Елена Михеева: "ТОП-10 грехов дизайнеров"
Лекция о профессии Frontend developer / 30.1
Hub IT School: Лекция "IT профессии"
Hub AI&BigData meetup / Вадим Кузьменко: Как машинное обучение помогает снизи...
Hub IT School 15.12 / Олег Саламаха: "Как пройти долину смерти"
Эд Изотов: "In God we trust the REST we test".
Андрей Сильчук: "Автоматическое тестирование".
Елена Михеева: "ТОП-10 грехов дизайнеров"
Ad

Hub AI&BigData meetup / Дмитрий Сподарец: Введение в машинное обучение

  • 1. Введение в машинное обучение Дмитрий Сподарец d.spodarets@flyelephant.net
  • 2. Обо мне • Основатель FlyElephant и GeeksLab • Преподаватель в ОНПУ
  • 3. История искусственного интеллекта • Появление предпосылок AI (1943 – 1955) • Рождение AI (1956) / Двухмесячный семинар в Дартмуте • Ранний энтузиазм, большие ожидания (1952 – 1969) • Столкновение с реальностью (1966 – 1973) • Системы, основанные на знаниях – ключ к успеху? (1969 – 1979) • Превращение AI в индустрию (1980 – …) • Возвращение к нейронным сетям (1986 – …) • Превращение AI в науку (1987 – …) • Интеллектуальные агенты (1995 – …) • Доступность больших баз данных (2001 – …)
  • 4. История машинного обучения • Нейронные сети - Перспептрон (Розенблатт, 1958) • Когнитрон (Фукушима, 1975) • Метод опорных векторов (1990е) • Бустинг (конец 1990х) • Рандомизированный решающий лес (начало 2000х) • Обучение Марковских случайных полей (2000е) • Глубокое обучение (2006)
  • 6. Машинное обучение: определение • Машинное обучение — обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. ru.wikipedia.org
  • 7. Машинное обучение: определение • Машинное обучение — процесс, в результате которого машина (компьютер) способна показывать поведение, которое в нее не было явно заложено (запрограммировано). A.L. Samuel
  • 8. Машинное обучение: определение • Говорят, что компьютерная программа обучается на основе опыта E по отношению к некоторому классу задач T и меры качества P, если качество решения задач из T, измеренное на основе P, улучшается с приобретением опыта E. T.M.Mitchell
  • 9. Суть машинногообучения Обучающаяся программа Примеры данных с закономерностями Модель закономерности Поиск закономерностей в новых данных
  • 10. Сферы приложения • Компьютерное зрение (computer vision) • Распознавание речи (speech recognition) • Компьютерная лингвистика и обработка естественных языков (natural language processing) • Медицинская диагностика • Биоинформатика • Техническая диагностика • Финансовые приложения • Информационный поиск • …
  • 11. Аппарат • Линейная алгебра • Теория вероятностей и математическая статистика • Методы оптимизации • Численные методы • Математический анализ • Дискретная математика • и др.
  • 12. Классификация задач машинного обучения • Дедуктивное обучение (экспертные системы) • Индуктивное обучение (≈ статистическое обучение) • Обучение с учителем • Обучение без учителя • Обучение с подкреплением (reinforcement learning) • Активное обучение • . . .
  • 13. Дедуктивное или аналитическое обучение (экспертные системы) • Имеются знания, сформулированные экспертом и как-то формализованные. • Программа выводит из этих правил конкретные факты и новые правила.
  • 15. Индуктивное обучение (≈ статистическое обучение) • Обучение с учителем • Обучение без учителя
  • 16. Обучение с учителем • Обучаем машину на примерах (данные + требуемое решение) • Алгоритм сохраняет «значение» о примерах во внутренней математической модели • Предсказываем новые данные, используя обученную модель Основная суть: обучая машину на исходных данных и зная ответ для этих данных, получить ответ для новых данных.
  • 17. Обучение без учителя • Загружаем в машину какой-то набор данных • Машина может самостоятельно проанализировать загруженные данные и сгруппировать их или предложить вам набор инсайтов Основная суть: не зная ответ совсем - получаем ответ.
  • 18. Основные типы задач • Обучение с учителем • Классификация • Регрессия • Обучение без учителя • Кластеризация • Определение выбросов • Гибридные • Коллаборативная фильтрация (рекомендации)
  • 21. Метод классификации k-ближайших соседей в R library(ElemStatLearn) require(class) x <- mixture.example$x g <- mixture.example$y xnew <- mixture.example$xnew mod15 <- knn(x, xnew, g, k=15, prob=TRUE) prob <- attr(mod15, "prob") prob <- ifelse(mod15=="1", prob, 1-prob) px1 <- mixture.example$px1 px2 <- mixture.example$px2 prob15 <- matrix(prob, length(px1), length(px2)) par(mar=rep(2,4)) contour(px1, px2, prob15, levels=0.5, labels="", xlab="", ylab="", main= "15-nearest neighbour", axes=FALSE) points(x, col=ifelse(g==1, "coral", "cornflowerblue")) gd <- expand.grid(x=px1, y=px2) points(gd, pch=".", cex=1.2, col=ifelse(prob15>0.5, "coral", "cornflowerblue")) box() http://stats.stackexchange.com/questions/21572/how-to-plot-decision-boundary-of-a-k-nearest-neighbor-classifier-from-elements-o
  • 23. Примеры задач классификации • Медицинская диагностика: по набору медицинских характеристик требуется поставить диагноз • Геологоразведка: по данным зондирования почв определить наличие полезных ископаемых • Оптическое распознавание текстов: по отсканированному изображению текста определить цепочку символов, его формирующих • Кредитный скоринг: по анкете заемщика принять решение о выдаче/отказе кредита • Синтез химических соединений: по параметрам химических элементов спрогнозировать свойства получаемого соединения
  • 25. Линейная регрессия data <- read.csv('~/git/R-Linear-Regression/rosn.txt', sep='t') fit <- lm(data$ROSN ~ data$BRN ) plot(data$ROSN~data$BRN, xlab="ROSN", ylab="BRN") abline(fit) summary(fit) http://www.algorithmist.ru/2011/04/linear-regression-with-examples-in-r.html
  • 27. Примеры задач регрессии • Оценка стоимости недвижимости: по характеристике района, экологической обстановке, транспортной связности оценить стоимость жилья • Прогноз свойств соединений: по параметрам химических элементов спрогнозировать температуру плавления, электропроводность, теплоемкость получаемого соединения • Медицина: по постоперационным показателям оценить время заживления органа • Кредитный скоринг: по анкете заемщика оценить величину кредитного лимита • Инженерное дело: по техническим характеристикам автомобиля и режиму езды спрогнозировать расход топлива
  • 30. Примеры задач кластерного анализа • Экономическая география: по физико-географическим и экономическим показателям разбить страны мира на группы схожих по экономическому положению государств • Финансовая сфера: по сводкам банковских операций выявить группы «подозрительных», нетипичных банков, сгуппировать остальные по степени близости проводимой стратегии • Маркетинг: по результатам маркетинговых исследований среди множества потребителей выделить характерные группы по степени интереса к продвигаемому продукту • Социология: по результатам социологических опросов выявить группы общественных проблем, вызывающих схожую реакцию у общества, а также характерные фокус-группы населения
  • 32. Примеры задач идентификации • Медицинская диагностика: по набору медицинских характеристик требуется установить наличие/отсутствие конкретного заболевания • Системы безопасности: по камерам наблюдения в подъезде идентифицировать жильца дома • Банковское дело: определить подлинность подписи на чеке • Обработка изображений: выделить участки с изображениями лиц на фотографии • Искусствоведение: по характеристикам произведения (картины, музыки, текста) определить, является ли его автором тот или иной автор
  • 34. Примеры задач прогнозирования • Биржевое дело: прогнозирование биржевых индексов и котировок • Системы управления: прогноз показателей работы реактора по данным телеметрии • Экономика: прогноз цен на недвижимость • Демография: прогноз изменения численности различных социальных групп в конкретном ареале • Гидрометеорология: прогноз геомагнитной активности
  • 36. Примеры задач извлечения знаний • Медицина: поиск взаимосвязей (синдромов) между различными показателями при фиксированной болезни • Социология: определение факторов, влияющих на победу на выборах • Генная инженерия: выявление связанных участков генома • Научные исследования: получение новых знаний об исследуемом процессе • Биржевое дело: определение закономерностей между различными биржевыми показателями
  • 37. Онлайн курсы/лекции • https://yandexdataschool.ru/edu-process/courses/machine-learning • https://www.coursera.org/learn/introduction-machine-learning • https://www.coursera.org/learn/machine-learning • https://www.youtube.com/watch?v=qLBkB4sMztk
  • 38. The Home of High Performance Computing Compute / Manage data / Collaborate http://www.flyelephant.net/
  • 39. DEMO