Введение в машинное...

Post on 08-Jul-2020

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Введение в машинное обучение

Введение в машинное обучениеВиктория Федотова (victoriya.s.fedotova@intel.com)

Введение в машинное обучение 2

Содержание

• Задачи, решаемые при помощи машинного обучения

• Алгоритмы машинного обучения

• Описание

• Метрики качества

• Практика

Введение в машинное обучение

Что такое машинное обучение?

“Машинное обучение – это процесс, в результате которого машина (компьютер) способна показывать поведение, которое в нее не было явно заложено (запрограммировано).”− Артур Самуэль, 1959

3

Введение в машинное обучение 4

Способы машинного обучения

• Обучение «с учителем»

• Для каждого наблюдения задаётся требуемое решение

• Цель: научиться предзказывать требуемое решение для новых наблюдений

• Обучение «без учителя»

• Данные содержат только наблюдения, без дополнительной информации

• Цель: выявить закономерности в исходных данных

• Обучение с подкреплением

• Обучение ведётся при взаимодействии с некоторой средой. При воздействии на среду система получает отклик

• Цель: максимизировать значение общей «прибыли»

Введение в машинное обучение 5

Наборы данных

• Состоят из объектов и признаков

• Количество объектов как правило значительно больше количества признаков

• Данные часто представлены в виде матриц (таблиц):

• Строчки – объекты; столбцы –признаки

Введение в машинное обучение 6

Примеры наборов данных

• Сенсорные данные (временные ряды): каждый признак – это сенсор; каждый объект – показания сенсоров в некоторый момент времени

• Изображения: признаки – это пиксели, закодированные некоторым образом (RGB, YCbCr)

• Медицинские записи: объекты – это пациенты; признаки – различные показатели – вес, давление, уровень сахара в крови…

• Документы: неструктурированный набор данных, тексты

Введение в машинное обучение

Обучение «С Учителем»: Регрессия

Введение в машинное обучение 8

Примеры задач

– Компания хочет определить каким образом изменение цен влияет на уровень продаж

– Биолог хочет определить как размер, форма тела и анатомия влияет на поведение организма

Решение: Линейная регрессия

Используется для моделирования линейных, аддитивных зависимостей между признаками

Регрессия

Source: Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani. (2014). An Introduction to Statistical Learning. Springer

Введение в машинное обучение

Линейная регрессия

9

Дан вектор признаков 𝑋𝑇 = (𝑥1, 𝑥2, … , 𝑥𝑝),

нужно предсказать ответ 𝑌 при помощи модели:

𝑦 = ℎ(𝑋) = 𝛽0 +

𝑗=1

𝑝

𝑥𝑗 𝛽𝑗

К оригинальным данным могут быть применены некоторые трансформации:

𝑥𝑗 = 𝑓𝑗 𝑍 ;

Где 𝑍𝑇 = (𝑧1, 𝑧2, … , 𝑧𝑞) – оригинальные данные

Weight | Horsepower | MPG

--------+------------+------

1.935 | 66 | 27.3

1.513 | 113 | 30.4

5.424 | 215 | 10.4

... | ... | ...

Признаки Ответ

Чи

сло

на

бл

юд

ен

ий

(n)

Размерность задачи (p)

Введение в машинное обучение

Функция стоимости

10

Одномерная линейная регрессия:ℎ 𝑥 = 𝛽0 + 𝛽1𝑥

Идея: Выбрать коэффициенты 𝛽0, 𝛽1таким образом, чтобы значение ℎ 𝑥 было близко к 𝑦 для наблюдений из тренировочной выборки.

Метод наименьших квадратов:

min𝛽0,𝛽1

𝑖=1

𝑛

ℎ 𝑥 𝑖 − 𝑦(𝑖) 2

𝐽(𝛽

0,𝛽

1)

𝛽0 𝛽1

Введение в машинное обучение 11

Метод нормальных уравнений

Для задачи min𝛽

𝑖=1𝑛 ℎ 𝑥 𝑖 − 𝑦(𝑖) 2

можно найти аналитическое решение

𝐽 𝛽 =

𝑖=1

𝑛

𝑥 𝑖 𝑇𝛽 − 𝑦(𝑖) 2

𝑑𝐽 𝛽

𝑑𝛽= 0 ⇒ 𝑿𝑇 𝒚 − 𝑿𝛽 = 0

Если 𝑿𝑇𝑿 – матрица полного ранга, тогда существует единственное решение:

𝛽 = 𝑿𝑇𝑿 −1𝑿𝑇𝒚

𝑿 =1 𝑥(1)

… …1 𝑥(𝑛)

, 𝒚 =𝑦(1)

…𝑦(𝑛)

Введение в машинное обучение

Оценка качества Модели

Введение в машинное обучение 13

Оценка качества модели: Недообучение

Среднеквадратичная ошибка:

MSE 𝑋, 𝑦 =1

𝑛

𝑖=1

𝑛

𝑥 𝑖 𝑇𝛽 − 𝑦(𝑖) 2

Для оценки качества применяют валидацию: доступный для обучения набор данных разделяют на обучающий набор и валидационный набор.

Признак недообучения:

Большое значение MSE 𝑋𝑡𝑟𝑎𝑖𝑛, 𝑦𝑡𝑟𝑎𝑖𝑛 и MSE 𝑋𝑣𝑎𝑙 , 𝑦𝑣𝑎𝑙 .

Введение в машинное обучение 14

Действия в случае недообучения

Расширить пространство признаков:

• Путём создания новых признаков на основе уже существующих. Пример: полиномиальные признаки

• Путём использования новых, до этого не использованных признаков.

Использовать более сложную модель

Введение в машинное обучение 15

Оценка качества модели: Переобучение

Признак переобучения:

Маленькое значение MSE 𝑋𝑡𝑟𝑎𝑖𝑛, 𝑦𝑡𝑟𝑎𝑖𝑛 .

Большое значение MSE 𝑋𝑣𝑎𝑙 , 𝑦𝑣𝑎𝑙 .

Введение в машинное обучение 16

Действия в случае переобучения

Увеличить тренировочный набор данных

Уменьшить количество признаков

• Вручную

• Используя методы понижения размерности

Использовать регуляризацию

• Сохраняет все независимые переменные, но уменьшает значимось коэффициентов модели

• Эффективно работает, когда все независимые переменные делают вклад в результат 𝑦

Введение в машинное обучение 17

Гребневая регрессия

Интуиция:

Пусть: ℎ 𝑥 = 𝛽0 + 𝛽1𝑥 + 𝛽2𝑥2 + 𝛽3𝑥3

Рассмотрим изменённую функцию стоимости:

𝐽 𝛽0, 𝛽1, 𝛽2, 𝛽3 = 𝑖=1𝑛 ℎ 𝑥 𝑖 − 𝑦(𝑖) 2

+ 1000𝛽32

Единственный способ достичь min𝛽0,𝛽1,𝛽2,𝛽3

𝐽(𝛽) - уменьшить значение 𝛽3

Гребневая регрессия:

𝐽 𝛽 =

𝑖=1

𝑛

ℎ 𝑥 𝑖 − 𝑦(𝑖) 2+ 𝜆 𝛽2

Введение в машинное обучение

Обучение «С учителем»: Классификация

Введение в машинное обучение

19

Примеры задач

– Владелец сервиса электронной почты хочет построить спам-фильтр для своих пользователей

– Почтовый сервис хочет применить автоматическое распознавание рукописного адреса

Решения:

Логистическая регрессия

Машина опорных векторов (SVM)

– Работает хорошо в случае нелинейных границ, разделяющих классы

Классификация

Source: Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani. (2014). An Introduction to Statistical Learning. Springer

Введение в машинное обучение 20

Используется для предсказания бинарного отклика на основе одной или нескольких независимых переменных путём построения вероятностной модели

𝑃 𝑦 = 1 𝑥 = 𝑓 ℎ 𝑥 =1

1 + 𝑒−ℎ 𝑥;

ℎ 𝑥 = 𝑥1𝜃1 + ⋯ + 𝑥𝑝𝜃𝑝

Логистическая регрессияВозраст Доход Класс

18 25 1

22 100 1

30 70 1

32 120 1

24 15 0

... ... ...

Независимые переменные

Чи

сло

на

бл

юд

ен

ий

(n)

Логистическаякривая

Введение в машинное обучение

Оценка качества Модели

Введение в машинное обучение 22

Анализ ошибок классификации

Корректность = число корректных предсказаний

общее число предсказаний

• Что если набор данных содержит 99% наблюдений, принадлежащих классу 1?

• У классификатора, который всегда предсказывает «1», корректность предсказаний будет равна 99%.

• Что если корректность предсказаний увеличилась с 98.7% до 99.1%?

• Как понять, что это реальное улучшение алгоритма классификации?

Введение в машинное обучение 23

Фактические значения классов

Предсказанные значения классов

положительно отрицательно

положительно True positive (TP)

False positive (FP)

отрицательно False negative (FN)

True negative (TN)

Точность (precision): доля истинно положительных примеров среди примеров, предсказанных как положительные

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =TP

TP + 𝑭𝑷

Полнота (recall): доля истинно положительных примеров среди фактически положительных примеров

𝑅𝑒𝑐𝑎𝑙𝑙 =TP

TP + 𝑭𝑵

Метрики качества классификации:Матрица неточностей

• TP – истинно положительное решение• TN – истинно отрицательное решение• FN – ошибка I рода, ложно

отрицательное решение• FP – ошибка II рода, ложно

положительное решение

Введение в машинное обучение 24

Оценка качества классификатора

Precision Recall Среднее F1-мера

Алгоритм 1 0.5 0.4 0.45 0.444

Алгоритм 2 0.7 0.1 0.4 0.175

Алгоритм 3 0.02 1.0 0.51 0.0392

Среднее:𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙

2

• Может оказаться, что алгоритм 3 всегда предсказывает положительный результат

• Ненадёжная метрика

F1-мера = 2𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛⋅𝑅𝑒𝑐𝑎𝑙𝑙

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙

? ?

Введение в машинное обучение

Обучение «С учителем»: Нейронные сети

Введение в машинное обучение 26

Применение нейронных сетей

Обнаружение пешеходов

Машины без водителяGoogle*/Apple*/Tesla*

Текстовое описание изображений – Google*/Bing*/Baidu*

Обработка естесственных языков – Siri*/Cortana*/Google Now*

* All trademarks and registered trademarks are the property of their respective owners.

[Images courtesy Deep learning, LeCun, Bengio, Hinton, doi:10.1038/nature14539]

Введение в машинное обучение 27

Глубокие нейронные сети (DNN)

[Jeff Dean keynote at CIKM 2015]

Введение в машинное обучение 28

Нейрон

Входы (x, y, z)

Веса w

Смещения b

Активационная функция σ

– Нейрон может ‘возбудиться’ или нет в зависимости от входных данных

Intel Confidential

w00

w01

w02

b

σ(ω00*x + ω01*y + ω02*z + b)

Введение в машинное обучение 29

Нейронная сеть

Intel Confidential

Тренировка: Найти значения весов и смещений, соответствуюшие наилучшему качеству предсказаний на тренировочных данных

Введение в машинное обучение 30

Тренировка нейронной сетиМетод обратного распространения ошибки (Backpropagation)

1. Распространить входные данные по сети, чтобы получить значения результатов

2. Вычислить значение ошибки (при помощи функции стоимости)

3. Распространить ошибку обратно

– вычислить значения изменений весов и смещений на каждом слое

4. Обновить все веса и смещения, чтобы минимизировать функцию стоимости

Метод градиентного спуска:

Введение в машинное обучение

Обучение «без учителя»: Кластеризация

Введение в машинное обучение 32

КластеризацияПримеры задач

– Новостное агентство хочет расположить новости с похожими заголовками внутри одной и той же секции на сайте

– Исследователи хотят сгруппировать наблюдаемых пациентов со схожими генетическими шаблонами, чтобы проследить взаимосвязь с определённой болезнью

Решение: K-средних

Введение в машинное обучение

К средних

33

Алгоритм стремится разбить данные на k кластеров таким образом, чтобы минимизировать суммарное квадратичное отклонение точек кластеров от центров этих кластеров.

min𝑆

𝐽 𝑆 = min𝑆

𝑖=1

𝑘

𝑥∈𝑆𝑖

𝑥 − 𝜇𝑖2

𝜇𝑖 - центроид 𝑖-того кластера: 𝜇𝑖 =1

𝑆𝑖 𝑥∈𝑆𝑖

𝑥

Введение в машинное обучение 34

Алгоритм k средних

• Выбрать начальные центроиды кластеров 𝜇1, 𝜇2, … , 𝜇𝑘

• Повторять в цикле:

• Перераспределить точки по кластерам в соответствии с ближайшими центроидами:

𝑆𝑖{𝑡}

= 𝑥𝑝: 𝑥𝑝 − 𝜇𝑖𝑡

2≤ 𝑥𝑝 − 𝜇𝑗

𝑡2

, ∀𝑗

• Пересчитать значение центроидов:

𝜇𝑖𝑡+1 =

1

𝑆𝑖(𝑡)

𝑥∈𝑆𝑖(𝑡)

𝑥

• Критерий остановки: центроиды перестали изменяться

Введение в машинное обучение 35

Алгоритм k средних

Введение в машинное обучение 36

Выбор оптимального значения k

• Простая эвристика: 𝑘 ≈ 𝑛2

• Идея: Оценить изменение функции стоимости 𝐽 𝑆 = 𝑖=1𝑘 𝑥∈𝑆𝑖

𝑥 − 𝜇𝑖2

Изменение значения функции стоимости замедляется

Рекоммендация: выбирать такое значение k, после которого уменьшение функции стоимости замедляется.

Введение в машинное обучение

Обучение «без учителя»:Понижение Размерности

Введение в машинное обучение 38

Примеры задач

– Подготовить данные для более эффективной работы алгоритмов обучения «с учителем»: уменьшить количество признаков, очистить данные от незначимых признаков.

– Получить компакное представление исходных данных без существенных потерь информации

– Визуализация: получить 2-х или 3-хмерную картину данных

Решение: Метод главных компонент

Понижение размерности

Введение в машинное обучение 39

Метод главных компонент (2D ⇒ 1D)

Дан набор точек в двумерном пространстве.

Нужно найти прямую, проходящую через начало координат, сумма квадратов расстояний до которой минимальна.

𝐿 = arg min𝐿

𝑖=1

𝑛

𝑑𝑖𝑠𝑡 𝑥 𝑖 , 𝐿2

𝑎 = arg min𝑎 =1

𝑖=1

𝑛

𝑥 𝑖 − 𝑎(𝑎, 𝑥(𝑖))2

𝒙 𝟏

𝒙 𝟐

𝑳

𝒂

Введение в машинное обучение 40

Метод главных компонент

Найти линейное многообразие размерности 𝑘 < 𝑝, сумма квадратов проекций данных на которое минимальна.

• Центрировать данные: 𝑥(𝑖) ← 𝑥(𝑖) − 𝜇, 𝜇 =1

𝑛 𝑖=1

𝑛 𝑥(𝑖)

• Для 𝑙 = 1, … , 𝑘 выполнить:

• Найти очередную главную компоненту 𝑎𝑙 как решение задачи:

𝑎𝑙 = arg min𝑎𝑙 =1

𝑖=1

𝑛

𝑥 𝑖 − 𝑎𝑙(𝑎𝑙, 𝑥(𝑖))

2

• Вычесть из данных проекцию на найденную компоненту:

𝑥 𝑖 ← 𝑥 𝑖 − 𝑎𝑙(𝑎𝑙, 𝑥(𝑖))

Введение в машинное обучение

Обучение «без учителя»:Анализ рыночной корзины

Введение в машинное обучение 42

Примеры задач

– Владелец магазина хочет узнать какие группы товаров чаще всего приобретаются вместе, чтобы наилучшим образом сгруппировать товар на полках.

– Интернет-магазин хочет настроить информационную рассылку для своих покупателей

Решение: Поиск ассоциативных правил

Анализ рыночной корзины

Покупатель №

Хлеб Молоко Подгузники

Яйца Пиво

1 Х Х

2 Х Х Х Х

3 Х Х Х

4 Х Х Х

5 Х Х Х

Введение в машинное обучение 43

Анализ рыночной корзины

Покупатель № Хлеб Молоко Подгузники Яйца Пиво

1 Х Х

2 Х Х Х Х

3 Х Х Х

4 Х Х Х

5 Х Х Х

Примеры наборов товаров:

• {хлеб, молоко} набор встречается в 40% транзакций (2 of 5);

• {молоко, подгузники, пиво} набор встречается в 20% транзакцийПримеры ассоциативных правил:

• {хлеб, подгузники} ⇒ {пиво} если покупает {хлеб, подгузники}, значит купит {пиво} с вероятностью 67%

• {хлеб} ⇒ {яйца} если покупает {хлеб}, значит купит {яйца} с вероятностью 20%

Введение в машинное обучение 44

Поддержка и достоверность

𝐼 = 𝑖1, 𝑖2, … , 𝑖𝑚 - набор элементов.

𝑇 ⊂ 𝐼 – транзакция.

Транзакция 𝑇 содержит 𝑋 – набор элементов из 𝐼, если 𝑋 ⊆ 𝑇.

Ассоциативное правило – импликация: 𝑋 ⇒ 𝑌, где 𝑋 ⊂ 𝐼, 𝑌 ⊂ 𝐼 и 𝑋 ∩ 𝑌 = Ø.

Пусть 𝐷 = 𝑇1, 𝑇2, … , 𝑇𝑛 - множество транзакций.

Поддержка (support) набора элементов 𝑋 ⊂ 𝐼 равна s, если s% транзакций из 𝐷содержат 𝑋.

Достоверность (confidence) правила 𝑋 ⇒ 𝑌 равна c, если c% транзакций из 𝐷, содержащих набор элементов 𝑋, также содержат набор элементов 𝑌.

𝒄𝒐𝒏𝒇𝒊𝒅𝒆𝒏𝒄𝒆 𝑿 ⇒ 𝒀 =𝒔𝒖𝒑𝒑𝒐𝒓𝒕(𝑿 ∪ 𝒀)

𝒔𝒖𝒑𝒑𝒐𝒓𝒕(𝑿)

Введение в машинное обучение 45

Поиск ассоциативных правил

Даны:

Набор транзакций: 𝐷 = 𝑇1, 𝑇2, … , 𝑇𝑛 ;

minS – минимальная поддержка;

minC – минимальная достоверность.

Найти:

1. Все наборы элементов X с поддержкой больше, чем minS.

2. Все ассоциативные правила 𝑋 ⇒ 𝑌 с достоверностью больше, чем minC.

Введение в машинное обучение

практика

Введение в машинное обучение

Аспекты обработки больших данных

•Данные распределены по разным узлам

•Большой объём данных не помещается в память на одном устройстве

Объём

• Неоднородные данные

• Разреженные/Пропущенные/Зашумлённыеданные

Разно-образие

• Данные поступают по времени

Скорость

Преобразование, переупаковка, индексация

Распределённые

вычисления

Онлайн

вычисления

D1

DK

P1

RKR

...

Di Pi+1

Pi

Время

Me

mo

ryca

pa

city

Пр

изн

ак

и

ВыбросыЧисловые Категориальные Пропущенные

Во

сста

но

вл

ен

ие

Алгоритм для плотных данных

Алгоритм для разреж. данных

Счётчик

Введение в машинное обучение 48

Intel® Data Analytics Acceleration Library (Intel® DAAL)• Оптимизирована для серверов (Intel® Xeon®, Intel® Xeon Phi™) и конечных устройств (Intel®

Atom)

• Предоставляет возможность выполнять вычисления близко к источнику данных (сенсор/клиент/сервер) чтобы уменьшить время отклика, нагрузку на сеть, и повысить безопасность

• Предоставляет возможность выполнять трудоёмкие вычисления на сервере или кластере

(De-)Compression(De-)Serialization

PCAStatistical momentsQuantilesVariance matrixQR, SVD, CholeskyAprioriOutlier detection

Regression• Linear• Ridge

Classification• Naïve Bayes• SVM• Classifier boosting• kNN

Clustering• Kmeans• EM GMM

Collaborative filtering• ALS

Neural Networks

Pre-processing Transformation Analysis Modeling Decision Making

Sci

en

tifi

c/E

ng

ine

eri

ng

We

b/S

oci

al

Bu

sin

ess

Validation

Введение в машинное обучение 49

Основные особенности Intel® DAAL

Возможность построения разнообразных приложений для анализа данных

Оптимизирована для Intel® Atom™, Intel® Core™, Intel® Xeon®, to Intel® Xeon Phi™

Богатый набор широко применимых алгоритмов анализа данных и машинного обучения

Вычисления на одном узле, онлайн и распределённые вычисления

Поддержка различных форматов входных данных:

KDB*, MySQL*, HDFS, CSV

C++, Java, Python

*Other names and brands may be claimed as the property of others

Введение в машинное обучение

Настройка окруженияВыполнить команду:

source activate idp (на Linux)

activate idp (на Windows)

Распаковать архив pydaal-tutorials-master.zip в локальную директорию

Архив доступен по ссылке: https://github.com/daaltces/pydaal-tutorials

В окружении (idp) выполнить команду:

cd <путь_до_pydaal-tutorials-master>

jupyter notebook

Введение в машинное обучение 51

Ссылки

• https://class.coursera.org/ml-005/lecture/preview - ML course by Andrew Ng

• https://en.wikipedia.org/wiki/Category:Machine_learning

• http://www.intuit.ru/studies/courses/13844/1241/info

• http://www.machinelearning.ru

• https://software.intel.com/en-us/daal-programming-guide

• https://software.intel.com/sites/campaigns/nest/

• https://software.intel.com/en-us/intel-parallel-studio-xe

Введение в машинное обучение 52

Вопросы?

Введение в машинное обучение

Линейная Регрессия

Введение в машинное обучение

Градиентный спуск

54

Функция стоимости: 𝐽 𝛽0, 𝛽1 =1

2𝑛 𝑖=1

𝑛 𝛽0 + 𝛽1𝑥(𝑖) − 𝑦(𝑖) 2

Метод градиентного спуска:

𝛽𝑗{𝑘+1}

= 𝛽𝑗{𝑘}

− 𝛼𝜕

𝜕𝛽𝑗𝐽(𝛽0, 𝛽1)

Результат:

𝛽0𝑘+1

= 𝛽0𝑘

− 𝛼1

𝑛

𝑖=1

𝑛

ℎ 𝑥 𝑖 − 𝑦 𝑖

𝛽1𝑘+1

= 𝛽1𝑘

− 𝛼1

𝑛

𝑖=1

𝑛

ℎ 𝑥 𝑖 − 𝑦 𝑖 𝑥 𝑖

𝜷 𝟎

𝜷 𝟏

𝜷 𝟐

−𝜵𝑱(𝜷 𝟏 )

−𝜵𝑱(𝜷 𝟎 )

𝜷∗

Введение в машинное обучение 55

Недостатки градиентного спуска

• Неоптимальный размер шага

• Слишком маленький – увеличение числа итераций

• Слишком большой – плохая сходимость

• Выбор начального приближения

• Неэффективен для овражных функций

• Функция стоимости может быть овражной при ненормализованных входных данных

Введение в машинное обучение

Логистическая Регрессия

Введение в машинное обучение 57

Метод максимального правдоподобия

Идея: Выбрать коэффициенты Θ = (𝜃1, … , 𝜃𝑝) таким образом, чтобы

максимизировать вероятность совместного появления результатов

выборки 𝑦(1), 𝑦(2), … , 𝑦(𝑛).

Функция правдоподобия:

𝐿 𝑦(1), 𝑦(2), … , 𝑦(𝑛)|Θ = 𝑝 𝑦(1) Θ ⋅ … ⋅ 𝑝(𝑦(𝑛)|Θ)

Метод максимального правдоподобия:

maxΘ

𝑙𝑛(𝐿 𝑦(1), 𝑦(2), … , 𝑦(𝑛)|Θ )

Введение в машинное обучение 58

Градиентный спуск

Функция потерь:

𝐽 Θ = −1

𝑛ln 𝐿 𝛩 = −

1

𝑛

𝑖=1

𝑛

𝑦 𝑖 ln ℎ 𝑥(𝑖) + (1 − 𝑦(𝑖)) 1 − ln ℎ 𝑥(𝑖)

Метод градиентного спуска:

𝜃𝑗{𝑘+1}

= 𝜃𝑗{𝑘}

− 𝛼𝜕

𝜕𝜃𝑗𝐽(Θ)

Результат:

𝜃𝑗𝑘+1

= 𝜃𝑗𝑘

− 𝛼1

𝑛

𝑖=1

𝑛

ℎ 𝑥 𝑖 − 𝑦 𝑖 𝑥𝑗(𝑖)

Введение в машинное обучение

Коллаборативная фильтрация

Введение в машинное обучение 60

Пример из жизни

Рекомендация полезных услуг/товаров пользователям

Amazon, Netflix, Spotify,... пользуются этим постоянно

Введение в машинное обучение 61

Коллаборативная фильтрация

• Обрабатывает прошлое поведение пользователей, их активности или оценки

• Предсказывает, что пользователю может понравится на основе его схожести с другими пользователями

Введение в машинное обучение 62

Alternating least squares (ALS)

Дана матрица рейтингов: 𝑅 = 𝑟𝑖𝑗 ; 𝑖 = 1, … 𝑁𝑢; 𝑗 = 1, … , 𝑁p

Интуиция: использовать пространство более низкой размерности

𝑟𝑖𝑗 ≅

𝑘=1

𝐾

𝑥𝑖𝑘 ∗ 𝑦𝑗𝑘

Факторизовать матрицу R как Q = X x YT

• K << 𝑁𝑢, 𝑁𝑝

Np

Nu

Nu x K K x Np

X YT

Введение в машинное обучение 63

Нелинейная оптимизационная проблема

Метод наименьших квадратов (по всем известным значениям рейтингов):

Приближаются не исходные значения рейтингов, а значения «предпочтений»:

Парамеры cui характеризуют уровень уверенности:𝛼 > 0 – контролирует уровень уверенности

Введение в машинное обучение 64

Alternating least squares (ALS)

Метод градиентного спуска не подходит, т.к. на практике размерности задачи велики

ALS:

• Фиксировать значения матриц X и Y попеременно

• Метод нормальных уравнений

Placeholder Footer Copy / BU Logo or Name Goes Here

top related