SlideShare a Scribd company logo
Лекция 2
Задачи кластеризации
Николай Анохин
2 октября 2014 г.
План занятия
Задача кластеризации
Смесь нормальных распределений и EM
K-means и его модификации
1 / 30
Задача кластеризации
В задачах кластеризации целевая переменная не задана. Цель –
отыскать “скрытую структуру” данных.
Зачем вообще рассматривать задачи без целевой переменной?
1. разметка данных – дорогое удовольствие
2. можно сначала поделить, а потом разметить
3. возможность отслеживать эволюционные изменения
4. построение признаков
5. exploratory data analysis
2 / 30
Программисты python в Twitter
Графо-теоретические методы (источник)
3 / 30
Похожие тематики
Иерархическая кластеризия
4 / 30
Топ 1000 самых посещаемых доменов рунета
T-SNE + DBSCAN
5 / 30
Постановка задачи
Дано. N обучающих D-мерных объектов xi ∈ X, образующих
тренировочный набор данных (training data set) X.
Найти. Модель h∗
(x) из семейства параметрических функций
H = {h(x, θ) : X × Θ → N}, ставящую в соответствие произвольному
x ∈ X один из K кластеров так, чтобы объекты внутри одного
кластера были похожи, а объекты из разных кластеров различались.
Как определить похожесть объектов?
Как оценить качество модели?
Как выбрать K?
6 / 30
Многомерное нормальное распределение
N(x|µ, Σ) =
1
(2π)D/2
1
|Σ|1/2
exp −
1
2
(x − µ)T
Σ−1
(x − µ)
Параметры
D-мерный вектор средних D × D-мерная матрица ковариации
µ = xp(x)dx Σ = E[(x − µ)(x − µ)T
]
(a) D = 2 (b) (c) Σ = diag(σi ) (d) Σ = σI
7 / 30
Old Faithful data set
D = date of recordings in month (in August)
X = duration of the current eruption in minutes
Y = waiting time until the next eruption in minutes
(a) Yellowstone Park (b)
8 / 30
Смесь нормальных распределений
“Скрытая” K-мерная переменная z – принадлежность объекта к
одному из кластеров
p(zk = 1) = πk , zk ∈ {0, 1},
k
zk = 1 → p(z) =
k
πzk
k
Распределение x для каждого из K кластеров
p(x|zk) = N(x|µk , Σk ) → p(x|z) =
k
N(x|µk , Σk )zk
Смесь нормальных распределений
p(x) =
k
πk N(x|µk , Σk )
9 / 30
Апостериорная вероятность принадлежности к k кластеру
(априорная равна πk )
γ(zk ) = p(zk = 1|x) =
p(zk = 1)p(x|zk = 1)
K
j=1 p(zj = 1)p(x|zj = 1)
=
=
πk N(x|µk , Σk )
K
j=1 πj N(x|µj , Σj )
10 / 30
Maximum Likelihood (!)
ML принцип
Пусть дано семейство параметрических моделей h(x, θ). Выбираем
вектор параметров θ, максимизирующий функцию правдоподобия
(likelihood) p(D|θ), соответствующую рассматриваемому семейству
моделей.
Функция правдоподобия
log(X|π, µ, Σ) =
N
n=1
log
k
πk N(xn|µk , Σk ) → max
π,µ,Σ
Сложности
схлопывание компонент
переименование кластеров
невозможно оптимизировать аналитически
11 / 30
Дифференцируем функцию правдоподобия
Nk =
N
n=1
γ(znk ), µk =
1
Nk
N
n=1
γ(znk )xn
Σk =
1
Nk
N
n=1
γ(znk )(xn − µk )T
(xn − µk )
πk =
Nk
N
12 / 30
Expectation Maximization (!)
E Expectation: при фиксированных µk , Σk , πk
γ(znk ) =
πk N(xn|µk , Σk )
K
j=1 πj N(xn|µj , Σj )
M Maximization: при фиксированных γ(znk )
Nk =
N
n=1
γ(znk ), µk =
1
Nk
N
n=1
γ(znk )xn
Σk =
1
Nk
N
n=1
γ(znk )(xn − µk )(xn − µk )T
πk =
Nk
N
S Остановиться при достижении сходимости
13 / 30
14 / 30
EM-алгоритм
Дано. Известно распределение P(X, Z|θ), где x – наблюдаемые
переменные, а z – скрытые.
Найти. θ, максимизирующее P(X|θ).
E вычислить P(Z|X, θold
) при фиксированном θold
M вычислить θnew
= arg maxθ Q(θ, θold
), где
Q(θ, θold
) = EZ[ln p(X, Z|θ)] =
Z
p(Z|X, θold
) ln p(X, Z|θ))
Улучшение: ввести априорное распределение p(θ)
15 / 30
K-means
Пусть Σk = I, тогда
p(x|µk , Σk ) =
1
√
2π
exp(−
1
2
x − µk
2
)
Рассмотрим стремление → 0
γ(znk ) =
πk exp(− 1
2 xn − µk
2
)
j πj exp(− 1
2 xn − µj
2)
→ rnk =
1, для k = arg minj xn − µj
2
0, иначе
Функция правдоподобия
EZ[ln p(X, Z|µ, Σ, π)] → −
N
n=1
K
k=1
rnk xn − µk
2
+ const
Вектор средних
µk = n rnk xn
n rnk
16 / 30
K-means
1 function kmeans(X, K):
2 initialize N # number of objects
3 initialize Mu = (mu_1 ... mu_K) # random centroids
4 do:
5 # E step
6 for k in 1..K:
7 for x in 1..N:
8 compute r_nk # Cluster assignment
9 # M step
10 for k in 1..K:
11 recompute mu_k # Update centroids
12 until Mu converged
13 J = loss(X, Mu)
14 return Mu, J
Сложность O(NK)
Локальная оптимизация (!)
17 / 30
18 / 30
Задача
1 2 3 4 5
01234
19 / 30
Модификации k-means
На каждом шаге работаем с b случайно выбранными объектами
из каждого кластера (mini-batch k-means)
Критерий качества (k-medoids)
˜J =
N
n=1
K
k=1
rnk d(xn, µk )
d – функция расстояния, µk – один из объектов в кластере
20 / 30
Альтернативные функции расстояния
Def
Функция d(x, y) : X × X → R является функцией расстояния,
определенной на пространстве X тогда и только тогда, когда
∀x ∈ X, ∀y ∈ X, ∀z ∈ X выполнено:
1. d(x, y) ≥ 0
2. d(x, y) = 0 ⇔ x = y
3. d(x, y) = d(y, x)
4. d(x, y) ≤ d(x, z) + d(y, z)
21 / 30
Расстояния 1
Минковского
dr (x, y) =


N
j=1
|xj − yj |r


1
r
Евклидово r = 2
dE (x, y) = d2(x, y)
Манхэттэн r = 1
dM (x, y) = d1(x, y)
r = ∞
d∞(x, y) = max
j
|xj − yj |
22 / 30
Проблема
Функции расстояния чувствительны к преобразоаниям данных
Решение
Преобразовать обучающую выборку так, чтобы признаки имели
нулевое среднее и единичную дисперсию – инвариантность к
растяжению и сдвигу (standartize)
Преобразовать обучающую выборку так, чтобы оси совпадали с
главными компонентами матрицы ковариации – инвариантность
относительно поворотов (PCA)
23 / 30
Расстояния 2
Жаккар
dJ (x, y) = 1 −
|x ∩ y|
|x ∪ y|
Косинус
dc (x, y) = arccos
xy
x y
Правки
de – наименьшее количество
удалений и вставок, приводящее x к
y.
Хэмминг
dH – количество различных
компонент в x и y.
24 / 30
Проклятие размерности
Задача
Даны два случайных вектора x и y в пространстве размерности D.
Как зависит математическое ожидание косинус-расстояния между x
и y от размерности D?
dc (x, y) = arccos
D
j=1 xj yj
D
j=1 x2
j
D
j=1 y2
j
Наблюдения:
числитель стремится к нулю
знаменатель положительный
Вывод: dc (x, y) → π
2 .
25 / 30
Альтернативные критерии качества
Критерий
J =
K
k=1 xi ∈Ck
xi − mk
2
=
=
1
2
K
k=1
nk

 1
n2
k xi ∈Ck xj ∈Ck
xi − xj
2

 =
=
1
2
K
k=1
nk

 1
n2
k xi ∈Ck xj ∈Ck
s(xi , xj )

 =
1
2
K
k=1
nk¯sk
Примеры ¯si
sk = min
xi ,xj
s(xi , xj ); ¯sk = max
xi ,xj
s(xi , xj )
26 / 30
Кластеризация
Идея
Выбрать критерий качества кластеризации J и расстояние между
объектами d(xi , xj ) и вычислить разбиение выборки на кластеры,
которое которое соответствует оптимальному значению выбранного
критерия.
27 / 30
Качество кластеризации
Пусть дана обучающая выборка, для которой правильная
кластеризация C известна. С помощью выбранного алгоритма
получена кластеризация K. Проверить, насколько K совпадает с C.
Rand Index
a – кол-во пар объектов, попавших в один кластер и в C, и в K
b – кол-во пар объектов, попавших в разные кластеры и в C, и в K
RI =
a + b
CN
2
Mutual Information
MI =
c∈C k∈K
p(c, k) log
p(c, k)
p(k)p(c)
28 / 30
Задача
Дано: Сгенерированная смесь из гауссовских распределений
Требуется: Исследовать стабильность и чувствительность к
линейным преобразованиям алгоритма k-means
Пошаговая инструкция
1. Скачать и запустить шаблон кода на python
http://bit.ly/1yyVTyw
$ python kmeans.py -h
$ python kmeans.py
2. Заполнить функцию rand_index
Меняется ли rand от запуска к запуску?
3. Дописать функцию cluster_data
Реализовать N-times random restart
4. Как меняется результат кластеризации, если применить к
данным различные линейные преобразования?
29 / 30
Вопросы

More Related Content

What's hot

Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
Technosphere1
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
Technosphere1
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
Technosphere1
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
Technosphere1
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
Technosphere1
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
Technosphere1
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
Technosphere1
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
Technosphere1
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовTheoretical mechanics department
 
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийTheoretical mechanics department
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
Theoretical mechanics department
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
Technosphere1
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
Разложение на множители
Разложение на множителиРазложение на множители
Разложение на множители
School 242
 
20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikovComputer Science Club
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировки
Mikhail Kurnosov
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
Mikhail Kurnosov
 

What's hot (20)

Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
L10: Алгоритмы кластеризации
L10: Алгоритмы кластеризацииL10: Алгоритмы кластеризации
L10: Алгоритмы кластеризации
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
 
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
Метод конечных разностей
Метод конечных разностейМетод конечных разностей
Метод конечных разностей
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Разложение на множители
Разложение на множителиРазложение на множители
Разложение на множители
 
20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov20110925 circuit complexity_seminar_lecture01_kulikov
20110925 circuit complexity_seminar_lecture01_kulikov
 
Лекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировкиЛекция 2. Алгоритмы сортировки
Лекция 2. Алгоритмы сортировки
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 

Similar to Лекция №2 "Задача кластеризации и ЕМ-алгоритм"

Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Mikhail Kurnosov
 
817996.pptx
817996.pptx817996.pptx
817996.pptx
AleksandrGozhyj
 
Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.
Roman Brovko
 
20091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture0820091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture08Computer Science Club
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
Pavel Mezentsev
 
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Theoretical mechanics department
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03Computer Science Club
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
Theoretical mechanics department
 
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...it-people
 
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
AIST
 
8
88
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02Computer Science Club
 
Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторовAnton Konushin
 
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
DEVTYPE
 
Определенный интеграл
Определенный интегралОпределенный интеграл
Определенный интеграл
ssuser4d8a9a
 
10474
1047410474
10474
nreferat
 

Similar to Лекция №2 "Задача кластеризации и ЕМ-алгоритм" (20)

Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.Лекция 13: Трудноразрешимые задачи. NP-полнота.
Лекция 13: Трудноразрешимые задачи. NP-полнота.
 
817996.pptx
817996.pptx817996.pptx
817996.pptx
 
Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.
 
20091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture0820091108 algorithmsfornphardproblems kulikov_lecture08
20091108 algorithmsfornphardproblems kulikov_lecture08
 
4
44
4
 
урок3
урок3урок3
урок3
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
 
презентация к уроку 1
презентация к уроку 1презентация к уроку 1
презентация к уроку 1
 
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
Решение систем линейных уравнений: трехдиагональные, симметричные и положител...
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
 
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
DUMP-2013 Наука и жизнь - Приближённый подсчёт количества уникальных элементо...
 
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
E. Ostheimer, V. G. Labunets, D. E. Komarov, T. S. Fedorova and V. V. Ganzha ...
 
8
88
8
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02
 
Статистическое сравнение классификаторов
Статистическое сравнение классификаторовСтатистическое сравнение классификаторов
Статистическое сравнение классификаторов
 
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
 
Определенный интеграл
Определенный интегралОпределенный интеграл
Определенный интеграл
 
10474
1047410474
10474
 

More from Technosphere1

L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: ЗаключительнаяTechnosphere1
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
Technosphere1
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
Technosphere1
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
Technosphere1
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
Technosphere1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
Technosphere1
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
Technosphere1
 
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
Technosphere1
 
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
Technosphere1
 
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
Technosphere1
 

More from Technosphere1 (11)

L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
 
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
 
Webdev7 (2)
Webdev7 (2)Webdev7 (2)
Webdev7 (2)
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
 
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
 
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
 
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
 

Лекция №2 "Задача кластеризации и ЕМ-алгоритм"

  • 2. План занятия Задача кластеризации Смесь нормальных распределений и EM K-means и его модификации 1 / 30
  • 3. Задача кластеризации В задачах кластеризации целевая переменная не задана. Цель – отыскать “скрытую структуру” данных. Зачем вообще рассматривать задачи без целевой переменной? 1. разметка данных – дорогое удовольствие 2. можно сначала поделить, а потом разметить 3. возможность отслеживать эволюционные изменения 4. построение признаков 5. exploratory data analysis 2 / 30
  • 4. Программисты python в Twitter Графо-теоретические методы (источник) 3 / 30
  • 6. Топ 1000 самых посещаемых доменов рунета T-SNE + DBSCAN 5 / 30
  • 7. Постановка задачи Дано. N обучающих D-мерных объектов xi ∈ X, образующих тренировочный набор данных (training data set) X. Найти. Модель h∗ (x) из семейства параметрических функций H = {h(x, θ) : X × Θ → N}, ставящую в соответствие произвольному x ∈ X один из K кластеров так, чтобы объекты внутри одного кластера были похожи, а объекты из разных кластеров различались. Как определить похожесть объектов? Как оценить качество модели? Как выбрать K? 6 / 30
  • 8. Многомерное нормальное распределение N(x|µ, Σ) = 1 (2π)D/2 1 |Σ|1/2 exp − 1 2 (x − µ)T Σ−1 (x − µ) Параметры D-мерный вектор средних D × D-мерная матрица ковариации µ = xp(x)dx Σ = E[(x − µ)(x − µ)T ] (a) D = 2 (b) (c) Σ = diag(σi ) (d) Σ = σI 7 / 30
  • 9. Old Faithful data set D = date of recordings in month (in August) X = duration of the current eruption in minutes Y = waiting time until the next eruption in minutes (a) Yellowstone Park (b) 8 / 30
  • 10. Смесь нормальных распределений “Скрытая” K-мерная переменная z – принадлежность объекта к одному из кластеров p(zk = 1) = πk , zk ∈ {0, 1}, k zk = 1 → p(z) = k πzk k Распределение x для каждого из K кластеров p(x|zk) = N(x|µk , Σk ) → p(x|z) = k N(x|µk , Σk )zk Смесь нормальных распределений p(x) = k πk N(x|µk , Σk ) 9 / 30
  • 11. Апостериорная вероятность принадлежности к k кластеру (априорная равна πk ) γ(zk ) = p(zk = 1|x) = p(zk = 1)p(x|zk = 1) K j=1 p(zj = 1)p(x|zj = 1) = = πk N(x|µk , Σk ) K j=1 πj N(x|µj , Σj ) 10 / 30
  • 12. Maximum Likelihood (!) ML принцип Пусть дано семейство параметрических моделей h(x, θ). Выбираем вектор параметров θ, максимизирующий функцию правдоподобия (likelihood) p(D|θ), соответствующую рассматриваемому семейству моделей. Функция правдоподобия log(X|π, µ, Σ) = N n=1 log k πk N(xn|µk , Σk ) → max π,µ,Σ Сложности схлопывание компонент переименование кластеров невозможно оптимизировать аналитически 11 / 30
  • 13. Дифференцируем функцию правдоподобия Nk = N n=1 γ(znk ), µk = 1 Nk N n=1 γ(znk )xn Σk = 1 Nk N n=1 γ(znk )(xn − µk )T (xn − µk ) πk = Nk N 12 / 30
  • 14. Expectation Maximization (!) E Expectation: при фиксированных µk , Σk , πk γ(znk ) = πk N(xn|µk , Σk ) K j=1 πj N(xn|µj , Σj ) M Maximization: при фиксированных γ(znk ) Nk = N n=1 γ(znk ), µk = 1 Nk N n=1 γ(znk )xn Σk = 1 Nk N n=1 γ(znk )(xn − µk )(xn − µk )T πk = Nk N S Остановиться при достижении сходимости 13 / 30
  • 16. EM-алгоритм Дано. Известно распределение P(X, Z|θ), где x – наблюдаемые переменные, а z – скрытые. Найти. θ, максимизирующее P(X|θ). E вычислить P(Z|X, θold ) при фиксированном θold M вычислить θnew = arg maxθ Q(θ, θold ), где Q(θ, θold ) = EZ[ln p(X, Z|θ)] = Z p(Z|X, θold ) ln p(X, Z|θ)) Улучшение: ввести априорное распределение p(θ) 15 / 30
  • 17. K-means Пусть Σk = I, тогда p(x|µk , Σk ) = 1 √ 2π exp(− 1 2 x − µk 2 ) Рассмотрим стремление → 0 γ(znk ) = πk exp(− 1 2 xn − µk 2 ) j πj exp(− 1 2 xn − µj 2) → rnk = 1, для k = arg minj xn − µj 2 0, иначе Функция правдоподобия EZ[ln p(X, Z|µ, Σ, π)] → − N n=1 K k=1 rnk xn − µk 2 + const Вектор средних µk = n rnk xn n rnk 16 / 30
  • 18. K-means 1 function kmeans(X, K): 2 initialize N # number of objects 3 initialize Mu = (mu_1 ... mu_K) # random centroids 4 do: 5 # E step 6 for k in 1..K: 7 for x in 1..N: 8 compute r_nk # Cluster assignment 9 # M step 10 for k in 1..K: 11 recompute mu_k # Update centroids 12 until Mu converged 13 J = loss(X, Mu) 14 return Mu, J Сложность O(NK) Локальная оптимизация (!) 17 / 30
  • 20. Задача 1 2 3 4 5 01234 19 / 30
  • 21. Модификации k-means На каждом шаге работаем с b случайно выбранными объектами из каждого кластера (mini-batch k-means) Критерий качества (k-medoids) ˜J = N n=1 K k=1 rnk d(xn, µk ) d – функция расстояния, µk – один из объектов в кластере 20 / 30
  • 22. Альтернативные функции расстояния Def Функция d(x, y) : X × X → R является функцией расстояния, определенной на пространстве X тогда и только тогда, когда ∀x ∈ X, ∀y ∈ X, ∀z ∈ X выполнено: 1. d(x, y) ≥ 0 2. d(x, y) = 0 ⇔ x = y 3. d(x, y) = d(y, x) 4. d(x, y) ≤ d(x, z) + d(y, z) 21 / 30
  • 23. Расстояния 1 Минковского dr (x, y) =   N j=1 |xj − yj |r   1 r Евклидово r = 2 dE (x, y) = d2(x, y) Манхэттэн r = 1 dM (x, y) = d1(x, y) r = ∞ d∞(x, y) = max j |xj − yj | 22 / 30
  • 24. Проблема Функции расстояния чувствительны к преобразоаниям данных Решение Преобразовать обучающую выборку так, чтобы признаки имели нулевое среднее и единичную дисперсию – инвариантность к растяжению и сдвигу (standartize) Преобразовать обучающую выборку так, чтобы оси совпадали с главными компонентами матрицы ковариации – инвариантность относительно поворотов (PCA) 23 / 30
  • 25. Расстояния 2 Жаккар dJ (x, y) = 1 − |x ∩ y| |x ∪ y| Косинус dc (x, y) = arccos xy x y Правки de – наименьшее количество удалений и вставок, приводящее x к y. Хэмминг dH – количество различных компонент в x и y. 24 / 30
  • 26. Проклятие размерности Задача Даны два случайных вектора x и y в пространстве размерности D. Как зависит математическое ожидание косинус-расстояния между x и y от размерности D? dc (x, y) = arccos D j=1 xj yj D j=1 x2 j D j=1 y2 j Наблюдения: числитель стремится к нулю знаменатель положительный Вывод: dc (x, y) → π 2 . 25 / 30
  • 27. Альтернативные критерии качества Критерий J = K k=1 xi ∈Ck xi − mk 2 = = 1 2 K k=1 nk   1 n2 k xi ∈Ck xj ∈Ck xi − xj 2   = = 1 2 K k=1 nk   1 n2 k xi ∈Ck xj ∈Ck s(xi , xj )   = 1 2 K k=1 nk¯sk Примеры ¯si sk = min xi ,xj s(xi , xj ); ¯sk = max xi ,xj s(xi , xj ) 26 / 30
  • 28. Кластеризация Идея Выбрать критерий качества кластеризации J и расстояние между объектами d(xi , xj ) и вычислить разбиение выборки на кластеры, которое которое соответствует оптимальному значению выбранного критерия. 27 / 30
  • 29. Качество кластеризации Пусть дана обучающая выборка, для которой правильная кластеризация C известна. С помощью выбранного алгоритма получена кластеризация K. Проверить, насколько K совпадает с C. Rand Index a – кол-во пар объектов, попавших в один кластер и в C, и в K b – кол-во пар объектов, попавших в разные кластеры и в C, и в K RI = a + b CN 2 Mutual Information MI = c∈C k∈K p(c, k) log p(c, k) p(k)p(c) 28 / 30
  • 30. Задача Дано: Сгенерированная смесь из гауссовских распределений Требуется: Исследовать стабильность и чувствительность к линейным преобразованиям алгоритма k-means Пошаговая инструкция 1. Скачать и запустить шаблон кода на python http://bit.ly/1yyVTyw $ python kmeans.py -h $ python kmeans.py 2. Заполнить функцию rand_index Меняется ли rand от запуска к запуску? 3. Дописать функцию cluster_data Реализовать N-times random restart 4. Как меняется результат кластеризации, если применить к данным различные линейные преобразования? 29 / 30