2013 10 11_machine_learning_lecture_05
description
Transcript of 2013 10 11_machine_learning_lecture_05
![Page 1: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/1.jpg)
Переборные методы: сэмплирование
И. Куралёнок, Н. Поваров
Яндекс
СПб, 2013
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 1 из 29
![Page 2: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/2.jpg)
Содержание
1 Понятие сэмплированияПроцесс сэмплированияОсновные методы сэмплирования
2 Переборные методы в MLПолный перебор
3 Hill climbing4 Сэмплирование марковскими цепями
Metropolis-Hastings алгоритмАлгоритм Гиббса
5 Построение вероятностного пространства длямаксимизации
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 2 из 29
![Page 3: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/3.jpg)
Понятие сэмплирования
Сэмплирование — метод исследования множествапутём анализа его подмножеств.Применяется когда:
множество слишком велико для перебора;каждое дополнительное измерение дорого;предварительный анализ.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 3 из 29
![Page 4: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/4.jpg)
Алгоритм сэмплирования
1 Понять какое множество мы изучаем2 Осознать что из этого множества мы можем
измерить3 Определить количество измерений4 Разработать план сэмплирования5 Провести сэмплирование
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 4 из 29
![Page 5: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/5.jpg)
Типы сэмплирования
Вероятностное сэмплирование:
p(x),∀x : p(x) > 0
Например: попробуем посчитать соотношениемужчин/женщинНевероятностное сэмплирование:
p(x),∃x : p(x) = 0
Например: “по результатам опроса superjob.ru,100% россиян пользуются интернетом”Без возвращенийС возвращениями
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 5 из 29
![Page 6: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/6.jpg)
Виды сэмплирования
Вероятностное сэмплированиеПростое вероятностноеСистематическоеСтратифицированноеПропорциональноеКластерное
Невероятностное сэмплированиеОпрос ближайшихПанельное сэмплирование
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 6 из 29
![Page 7: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/7.jpg)
Как выбрать нужное?
Надо учитывать:природа и размер возможного сэмпла;наличие дополнительной информации обэлементах;необходимя точность измерений;точность отдельных измерений в сэмплировании;стоимость измерений.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 7 из 29
![Page 8: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/8.jpg)
Возвращаясь к ML
F0 = arg maxF
p(F |X )
+ если известны вероятности можнопопробовать посэмплировать решения;
— не определено пространство F;— неясно как устроить обход.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 8 из 29
![Page 9: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/9.jpg)
Иногда все просто
F0 = arg maxF∈{fi}ni=1
p(F |X )
1 введём порядок обхода;2 переберём все возможные решения;3 составим взвешенное решение/выберем лучшее.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 9 из 29
![Page 10: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/10.jpg)
Но чаще всё непросто
F0 = arg maxF∈{fi}∞i=1
p(F |X )
1 введём порядок обхода;2 применим систематическое сэмплирование;3 составим взвешенное решение/выберем лучшее.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 10 из 29
![Page 11: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/11.jpg)
Случайное блуждание I
Чтобы построить порядок обхода можновоспользоваться такой схемой:
F = F (x , λ), λ ∈ Rn
Ft = F (x , λt)λt+1 = λt + ξ C (λt+1|{λi}t0)
будем блуждать по пространству параметров;необходимо определить:
1 способ сделать шаг;2 условие принятия этого шага.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 11 из 29
![Page 12: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/12.jpg)
Случайное блуждание II
На что стоит обратить внимание при построенииблуждания:
размерность λ может быть меньше чем кажется;ограничения на λ существенно осложняютпроцедуру.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 12 из 29
![Page 13: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/13.jpg)
Некоторые виды случайного блуждания
множество фиксированных шагов ξ ∼ U({ξi}m1 );гауссовское ξt ∼ N(µ, σ2);самозависимое;etc.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 13 из 29
![Page 14: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/14.jpg)
Simple hill climbing
ξ ∼ U({ξi}2n1 ), ξi i2 = −1i mod 2ω, ξij = 0, j 6= i2 ,
C (λt+1|λt) = p(F (λt+1)|X )p(F (λt)|X ) > 1
Свойства:простой;быстро сходится;зависим от выбора начальной точки.etc.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 14 из 29
![Page 15: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/15.jpg)
Random-restart (shotgun) hill climbing
Проблемы:
сходится в локальный максимум;
может долго сходиться, если начало далеко от максимума;
аллеи.
⇒ Можно рестартить hill climbing из разных начальных точекИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 15 из 29
![Page 16: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/16.jpg)
Интуиция
Мы бы хотели получить сэмплирование, а для этого:хорошо бы обойти всё пространство;нельзя всегда ходить ”по шерсти”;скорость движения должна меняться взависимости от плотности.
⇒ Markov Chain Monte-Carlo (MCMC)
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 16 из 29
![Page 17: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/17.jpg)
Metropolis-Hastings алгоритм
Введем p(λ1|λ2), отвечающую за локальность.
α =p(Fλt+1 |X )p(λt+1|λt)p(Fλt |X )p(λt |λt+1)
ψ ∼ U(0, 1)
C (λt+1|λt) =
{1, α ≥ ψ0
Например, p(λt+1|λt) ∼ N(λt , σ2E )
Если p(λ1|λ2) = p(λ2|λ1) — это Metropolis
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 17 из 29
![Page 18: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/18.jpg)
Свойства
+ Обходит всё пространство
+ Это действительно взвешенное сэмплирование
— Последовательные самплы похожи друг на друга
— На этапе разогрева показывает что-то странное
⇒ Точно придём в максимум!И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 18 из 29
![Page 19: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/19.jpg)
Свойства
+ Обходит всё пространство
+ Это действительно взвешенное сэмплирование
— Последовательные самплы похожи друг на друга
— На этапе разогрева показывает что-то странное
⇒ Точно придём в максимум!Проблема только с тем, что придём за бесконечное время
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 19 из 29
![Page 20: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/20.jpg)
Сложности в использовании
Сходимость зависит от выбора p(λt+1|λt)Если хотим использовать разумное распределение,оно многомерное ⇒ его сложно реализовывать
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 20 из 29
![Page 21: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/21.jpg)
Пример с дартс IВася и Петя повесели на стене мишень и поиграли в дартс. Наследующий день пришел их бригадир Юра и задался вопросомкто из подчиненных будет заделывать дырки в стенах.
Будет честнее, чтобы “косой” платил больше
Дырки все одинаковые
Каждый говорит: “да я токо разок кинул!”
Один признался, что: “ну вот это — моя дырка”
Играли без употребления, так что можно считать, чтокидали ∼ N(mi ,Σi), i ∈ {Вася, Петя} и параметры неменялись во времени
Надо помочь Юре!
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 21 из 29
![Page 22: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/22.jpg)
Пример с дартс IIПри фиксированных параметрах вероятность увидить дырки{xj}, xj ∈ R2
LL =∑j
log(πN(mA,ΣA)(xj) + (1− π)N(mB ,ΣB)(xj))
где A — Вася, B — Петя, π — доля Васиных бросков, mi —сбитость прицела, Σi — разброс стрелка.Максимизировать такое добро трудновато из-за суммы подлогарифмом. Было бы классно точно знать, что тот или инойбросок точно сделал Вася At ∈ {0, 1}:
LL =∑t
At log(N(mA,ΣA)(xj)) + (1− At) log(N(mB ,ΣB)(xj))
В таком варианте все совсем просто считается (если мы еще незабыли формулу плотности нормального многомерногораспределения :))
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 22 из 29
![Page 23: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/23.jpg)
Пример с дартс III
Если чуть более формально, то мы ввелискрытую/ненаблюдаемую переменную I (A) (такое называетсяdata augmentation) и хотим:
1 Прикинуть начальные mi ,Σi , π
2 Посчитать ожидание скрытого параметра Aj = µ((mi ,Σi , π)
3 В условиях найденных Aj максимизировать LL
4 Перейти к второму шагу до сходимости
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 23 из 29
![Page 24: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/24.jpg)
Expectation maximization алгоритмФокус, который мы проделали называется EM-алгоритм. Пускайданные у нас состоят из видимой части L и скрытой Z ,X = (L,Z ). Мы хотим найти оптимальные параметры λ:
LL(p(L|λ)) = LL(p(X |λ))
1 Возьмем какой-то λ0
2 Посчитаем ожидание (expectation step):
E (λ|λt) = µ (LL(λ,X )|Z , λt)
3 Проведем оптимизацию (maximization step):
λt+1 = argmaxλ
E (λ|λt)
4 Перейти к второму шагу до сходимостиИ. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 24 из 29
![Page 25: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/25.jpg)
Алгоритм Гиббса
В Метрополисе есть проблема: многомерноераспределение p(F |X ) = p(λ|X ). Можно попробоватьрассматривать его по частям.
1 Начнем с какого-то λ2 Сгенерируем λt+1 по правилам
p(λt+1,i |X , λt+1,1, . . . , λt+1,i−1, λt,i+1, . . . , λt,n)
3 Будем бегать по i = 1 . . . n, пока не сойдется4 Полученная λ — следующая точка сэмплирования5 Пока хочется идем в п.2
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 25 из 29
![Page 26: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/26.jpg)
Пример с дартс IV
На языке товарищей Геман:
1 Прикинуть начальные mi ,Σi , π
2 Для каждого сампла сгенерировать Aj из текущего π
3 В условиях найденных Aj максимизировать LL
4 Перейти к второму шагу до сходимости того момента покараспределение параметров не перестанет меняться
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 26 из 29
![Page 27: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/27.jpg)
Как можно построить p(F |X ) для RMSE
p(λ|X ) = e−c‖F (λ|X )−Y‖2
Z
Z =∫λ
e−c‖F (λ|X )−Y ‖dλ
Если максимизируем, то надеемся задрать Y так,чтообы Z был определён.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 27 из 29
![Page 28: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/28.jpg)
Заключение
Сэмплирование очень полезная вещь:собирать данные;брать интегралы;обучаться.
Посмотрите на bayesian inference и библиотеку Гиббсадля него: BUGS.
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 28 из 29
![Page 29: 2013 10 11_machine_learning_lecture_05](https://reader038.fdocuments.us/reader038/viewer/2022110302/549bcf04ac7959ab2a8b4588/html5/thumbnails/29.jpg)
Задание на дом
Датасет, как обычно, в svnСуть - учимся предсказывать размер аудиториисервисаN(t) = ( 1
1+eat+b )N0
Ищем a, b, N0
Можно прямо hill climbingМожно подумать и воспользоваться алгоритмомГиббса
И. Кураленок, Н. Поваров, Яндекс Санкт-Петербург, 2013 Стр. 29 из 29