2.18M
Category: informaticsinformatics

Что такое Data Mining

1.

План лекции
• Что такое Data Mining
• Процесс Data Mining
• Практическая работа

2.

Data Science – наука о данных
2

3.

Data Science – прикладная наука
• Data management
• Data exploration
• Data wrangling
• Data Mining
• Machine Learning (ML)
• Knowledge Discovery in Databases (KDD)
• Big data
3

4.

Профессия - Data Scientist
(исследователь данных)
В США произвели оценку потребностей в
специалистах такой профессии и пришли к
выводу, что в 2018 году в США нехватка 190 000
исследователей данных!
Известный журнал Harvard Business Review так
озаглавил один из своих выпусков: “Data
Scientist: The Sexiest Job Of the 21st Century” –
исследователь данных – самая привлекательная
работа 21 столетия
4

5.

Кто такой Data Scientist?
• Любит данные
• Исследовательский склад ума
• Цель работы – нахождение
закономерностей в данных
• Практик, не теоретик
• Умеет и любит работать руками
• Эксперт в какой-либо
прикладной области (обычно,
но не обязательно)
• Работает в команде
• Подробности в превосходном
курсе ниже:
https://www.coursera.org/course/da
tascitoolbox
Предпочтительное образование:
• Computer Science
• Статистика, математика
• Точные науки- физика,
инженерия и т.п.
• Магистры и кандидаты наук
• Исследователь данных не
является математиком, но
обязательно владеет техниками
больших данных.
• Исследователь данных не
является программистом, но
обязательно умеет работать с
программными средствами и
владеет технологиями больших
данных.
5

6.

6

7.

Data Mining
Процесс извлечения знаний из различных
источников данных, таких как базы данных,
текст, картинки, видео и т.д. Полученные
знания должны быть достоверными,
полезными и интерпретируемыми.

8.

Data Mining
Процесс построения модели, хорошо
описывающей закономерности, которые
порождают данные. Подходы к построению
моделей
• cтатистический
• на основании машинного обучения
• вычислительный

9.

10.

11.

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

12.

12

13.

13

14.

14

15.

15

16.

16

17.

17

18.

18

19.

20.

21.

22.

23.

24.

25.

26.

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

27.

Искусственные нейронные сети имитируют
поведение мозга в простом виде. Они могут быть
обучены контролируемым и неконтролируемым
путями. В контролируемой ИНС, сеть обучается
путем передачи соответствующей входной
информации и примеров исходной информации.
Например, спам-фильтр в электронном почтовом
ящике: входной информацией может быть список
слов, которые обычно содержатся в спамсообщениях, а исходной информацией —
классификация для уведомления (спам, не спам).
Такой вид обучения добавляет веса связям ИНС.
Неконтролируемое обучение в ИНС пытается
«заставить» ИНС «понять» структуру
передаваемой входной информации
«самостоятельно».

28.

Структура ИНС
Биологический нейрон имитируется в ИНС через
активационную функцию. В задачах
классификации (например определение спамсообщений) активационная функция должна
иметь характеристику «включателя».
Иными словами, если вход больше, чем
некоторое значение, то выход должен изменять
состояние, например с 0 на 1 или -1 на 1 Это
имитирует «включение» биологического
нейрона. В качестве активационной функции
обычно используют сигмоидальную функцию:

29.

30.

Узлы
Каждый узел принимает взвешенный вход, активирует
активационную функцию для суммы входов и генерирует выход.
Узел является «местоположением» активационной функции, он принимает
взвешенные входы, складывает их, а затем вводит их в активационную
функцию. Вывод активационной функции представлен через h.
По весу берутся числа (не бинарные), которые затем умножаются на входе
и суммируются в узле. Иными словами, взвешенный вход в узел имеет вид:
где wi— числовые значения веса ( b мы будем обсудим позже). Весы нам
нужны, они являются значениями, которые будут меняться в течение
процесса обучения. b является весом элемента смещения на 1, включение
веса b делает узел гибким. Проще это понять на примере.

31.

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

32.

Нейросеть в 11 строчек на Python
Нейросеть, тренируемая через обратное распространение
(backpropagation), пытается использовать входные данные для
предсказания выходных.

33.

34.

Выходные данные после тренировки:
[[ 0.00966449]
[ 0.00786506]
[ 0.99358898]
[ 0.99211957]]

35.

Переменные и их описание
X — матрица входного набор данных; строки –
тренировочные примеры
y – матрица выходного набора данных; строки –
тренировочные примеры
l0 – первый слой сети, определённый входными
данными
l1 – второй слой сети, или скрытый слой
syn0 – первый слой весов, Synapse 0, объединяет l0 с l1.
"*" — поэлементное умножение – два вектора одного
размера умножают соответствующие значения, и на
выходе получается вектор такого же размера
"-" – поэлементное вычитание векторов
x.dot(y) – если x и y – это вектора, то на выходе получится
скалярное произведение. Если это матрицы, то получится
перемножение матриц. Если матрица только одна из них
– это перемножение вектора и матрицы.

36.

37.

• сравните l1 после первой итерации и после
последней
• посмотрите на функцию nonlin.
• посмотрите, как меняется l1_error
• разберите строку 36 – (отмечена !!!)
• разберите строку 39 – (отмечена !!!)
• предсказать выходные данные на основе
трёх входных столбцов данных:

38.

Практические работы № 2-5
Проект, основанный на нейронных сетях: приложение,
сайт, программа, игра. Группы по 4-5 человек.
1. рабочее приложение
2. отчет о выполнении:
• обзор существующих решений
• модель (структура)
• особенности реализации
• результаты тестирования
• выводы
3. презентация.

39.

Пример
https://www.youtube.com/watch?v=cxKppTPOuA4
“Soroka” – нейросетевой продукт, анализирующий репутацию
человека или компании в Интернете.
Для этого вам нужно указать название компании (или имя
человека), а также один или несколько интернет-адресов, с
которых начнётся анализ веб-контента. Затем с помощью
свёрточных нейронных сетей система ищет упоминания заданного
имени или названия, после чего анализирует тональность
контекста. В результате вы получаете коэффициент сороки –
долю положительных, негативных и нейтральныхупоминаний в
тексте по заданному объекту на заданном сайте (группе сайтов).
“Soroka” поможет вам следить за своей собственной репутацией и
репутацией вашей компании, первым узнавать о значимых
тенденциях в общественном мнении и вовремя реагировать на
любые изменения.

40.

Пример
https://vimeo.com/270992882
Dressing/Undressing via CycleGAN
Генеративные сети (GAN's) стали очень популярны и
используются в сотнях различных приложений. От шуточных
вроде генерации мемов и котиков мутантов до
промышленных применений - в медицине (разработка
лекарств), промышленности (увеличение обучающей
выборки с использованием генеративных сетей показывает
интересные результат) и многое другое.
Однако, есть задача, которая, несмотря на
возникающие вопросы, очень часто всплывает в data science
сообществе. Еще чаще ее предлагают решить люди не из
области которые что то услышали про генеративные сети.
Задача это научиться раздевать людей по фотографии. При
попытке ее решить возникает куча проблем, главная из
которых собрать правильные данные.

41.

Пример
https://www.youtube.com/watch?time_continue=50&v=pIYfRfydp6s
NeuroPOD - сервис для обработки фото на
документы
Машинное обучение и нейронные сети все шире используются в
повседневной жизни. Существует множество областей и задач, где
нейронные сети нашли широкое применение, одной из таких
является обработка изображений. В рамках данного конкурса было
предложено разработать продукт, основанный на нейронных сетях. В
качестве примера образцовых проектов были выдвинуты
решения, умеющие работать с контентом, его генерацией и
обработкой (например, составление рецепта по фотографии блюда).
Для меня наиболее интересной областью применения нейронных
сетей оказалась компьютерное зрение и обработка изображений. Я
провел исследование уже существующих проектов и нашел
множество примеров использования нейронных сетей в задачах
обработки фотографий. К примеру, всеми известная PRISMA. Я решил
сделать продукт, который мог бы быть полезен широкой аудитории.
English     Русский Rules