Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №8 "Методы снижения размерности пространства"
Лектор - Владимир Гулин
Проблема проклятия размерности. Отбор и выделение признаков. Методы выделения признаков (feature extraction). Метод главных компонент (PCA). Метод независимых компонент (ICA). Методы основанные на автоэнкодерах. Методы отбора признаков (feature selection). Методы основанные на взаимной корреляции признаков. Метод максимальной релевантность и минимальной избыточности (mRMR). Методы основанные на деревьях решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №13 "Глубокие нейронные сети"
Лектор - Павел Нестеров
Трудности обучения многослойного персептрона. Предобучение используя РБМ. Глубокий автоэнкодер, глубокая многослойная нейросеть. Deep belief network и deep Boltzmann machine. Устройство человеческого глаза и зрительной коры головного мозга. Сверточные сети.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №3 "Различные алгоритмы кластеризации"
Лектор - Николай Анохин
Иерархическая кластеризация. Agglomerative и Divisive алгоритмы. Различные виды расстояний между кластерами. Stepwise-optimal алгоритм. Случай неэвклидовых пространств. Критерии выбора количества кластеров: rand, silhouette. DBSCAN.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Презентация к докладу "Куда уходит память?" на JEEConf Kiev 2012. О размере объектов в java на разных архитектурах, о потреблении памяти типичными java приложениями. Пока нету видео доклада можно почитать мою статью на хабре на эту тему http://habrahabr.ru/post/134102/
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №12 "Ограниченная машина Больцмана"
Лектор - Павел Нестеров
Нейросетейвой автоэнкодер. Стохастические и рекурентные нейронные сети. Машина Больцмана и ограниченная машина Больцмана. Распределение Гиббса. Алгоритм contrastive divergence для обучения РБМ. Сэмплирование данных из РБМ. Бинарная РБМ и гауссово-бинарная РБМ. Влияние регуляризации, нелинейное сжатие размерности, извлечение признаков. Semantic hashing.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №13 "Глубокие нейронные сети"
Лектор - Павел Нестеров
Трудности обучения многослойного персептрона. Предобучение используя РБМ. Глубокий автоэнкодер, глубокая многослойная нейросеть. Deep belief network и deep Boltzmann machine. Устройство человеческого глаза и зрительной коры головного мозга. Сверточные сети.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №10 "Алгоритмические композиции. Завершение"
Лектор - Владимир Гулин
Ключевые идеи бустинга. Отличия бустинга и бэггинга. Алгорим AdaBoost. Градиентный бустинг. Мета-алгоритмы над алгоритмическими композициями. Алгоритм BagBoo.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №3 "Различные алгоритмы кластеризации"
Лектор - Николай Анохин
Иерархическая кластеризация. Agglomerative и Divisive алгоритмы. Различные виды расстояний между кластерами. Stepwise-optimal алгоритм. Случай неэвклидовых пространств. Критерии выбора количества кластеров: rand, silhouette. DBSCAN.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лектор - Николай Анохин
Постановка задачи кластеризации. Функции расстояния. Критерии качества кластеризации. EM-алгоритм. K-means и модификации.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Презентация к докладу "Куда уходит память?" на JEEConf Kiev 2012. О размере объектов в java на разных архитектурах, о потреблении памяти типичными java приложениями. Пока нету видео доклада можно почитать мою статью на хабре на эту тему http://habrahabr.ru/post/134102/
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №11 "Основы нейронных сетей"
Лектор - Павел Нестеров
Биологический нейрон и нейронные сети. Искусственный нейрон Маккалока-Питтса и искусственная нейронная сеть. Персептрон Розенблатта и Румельхарта. Алгоритм обратного распространения ошибки. Момент обучения, регуляризация в нейросети, локальная скорость обучения, softmax слой. Различные режимы обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №1 "Задачи Data Mining"
Лектор - Николай Анохин
Обзор задач Data Mining. Стандартизация подхода к решению задач Data Mining. Процесс CRISP-DM. Виды данных. Кластеризация, классификация, регрессия. Понятие модели и алгоритма обучения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Международная научно-практическая конференция International Conference on Big Data and its Applications (ICBDA) выросла из мероприятия Big Data Russia и проводится один раз в год, объединяя на одной площадке создателей новых технологий в области больших данных, представителей бизнеса, а также научных сотрудников и молодых ученых.
Организаторы: Rusbase и Global Innovation Labs.
Организаторы ICBDA благодарят Data-Centric Alliance (DCA) за поддержку мероприятия, а также отдельное спасибо Artox Media и NVIDIA.
Presented at PyCon Ireland 2016:
This talk will focus on the scientific analysis of social networks, how to derive useful insights from social graphs using Python, and discuss some lessons learned from taking this analysis out of the lab and into to a useful product in a production setting. I will cover acquiring data, predicting influence or activity, recommending possible friends from the graph and detecting communities within large networks. Experience with tools used to do this, including sklearn, networkx, Spark and Kafka will be covered.
The science of networks is becoming an increasingly important and intriguing area of study that reveals many a patterns and relationships often hidden. This presentation is about the use of SNA to study the network of the Digital Library Community
Social Network Analysis for Competitive IntelligenceAugust Jackson
How can CI teams apply the concepts of social network analysis to gain insight into the capabilities and plans of their competitors? Presented by Jim Richardson and August Jackson in April 2007 at the Society of Competitive Intelligence Professionals annual conference in New York City.
Tools for SNA
Page Rank Algorithm
Hierarchical Clustering
Recommendation System based on SNA (Collaborative Filtering)
How Facebook/Amazon uses SNA for recommendations?
Two Hop degree
Dynamism in Friendship Network of CSE-B
Online Social Networks and Clusters
Influential Nodes and Their Importance
Bibliography
Question - Answer Session
Social Network Analysis (SNA) and its implications for knowledge discovery in...ACMBangalore
Social Network Analysis (SNA) and its implications for knowledge discovery in Informal Networks- Talk by Dr Jai Ganesh, SETLabs, Infosys at Search and Social Platforms tutorial, as part of Compute 2009, ACM Bangalore
Using Social Network Analysis to Assess Organizational Development InitiativesStephanie Richter
Presented at 2016 POD Network conference #POD16
Many Faculty Development centers engage in far-reaching organizational development initiatives within their institutions. These initiatives are incredibly valuable but difficult to assess using traditional methods. Social network analysis (SNA) is a powerful visualization and statistical technique that has multiple applications in researching and assessing organizational development. In this session, learn how SNA was used at one institution to investigate the formation of community regarding online course quality standards as well as to analyze organizational structure for strategic planning. While this session focuses on organizational uses, examples will also be shared of applications for teaching and research.
Text analytics in Python and R with examples from Tobacco ControlBen Healey
Ben has been doing data sciencey work since 1999 for organisations in the banking, retailing, health and education industries. He is currently on contracts with Pharmac and Aspire2025 (a Tobacco Control research collaboration) where, happily, he gets to use his data-wrangling powers for good.
This presentation focuses on analysing text, with Tobacco Control as the context. Examples include monitoring mentions of NZ's smokefree goal by politicians and examining media uptake of BATNZ's Agree/Disagree PR campaign. It covers common obstacles during data extraction, cleaning and analysis, along with the key Python and R packages you can use to help clear them.
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
- Более детальный анализ алгоритма вычисления чисел Фибоначчи
- Определения O(⋅), преимущества и недостатки их использования для оценки времени работы алгоритмов
- Определения Ω(⋅),Θ(⋅),o(⋅), общие правила сравнения скорости роста стандартных функций
- Графики нескольких часто используемых функций
- Скорости часто используемых функций на практике, заключение
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Mail.ru Group
В рамках доклада мы поделимся примерами проектов, на которых есть автоматизация, но нет ни одного специально выделенного инженера для выполнения задач, связанных с автоматизацией тестирования. Затронем такие вопросы как:
что нас привело к такому решению (отказаться от test automation инженеров);
сложности, с которыми мы столкнулись;
бонусы, которые мы в итоге получили.
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...Mail.ru Group
Автоматизация тестирования UI — это всегда непростая задача, особенно в условиях активной разработки и постоянного изменения требований. Как мы решали эту проблему в mall.my.com. Как и почему пришли к BDD. Какие инструменты выбрали. И что из этого вышло.
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Mail.ru Group
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail.ru;
Свежий взгляд на Fiddler и его сравнение с Clumsy и Charles;
Небольшой обзор и сравнение функционала Fiddler и Charles.
Управление инцидентами в Почте Mail.ru, Антон ВикторовMail.ru Group
что такое инциденты и почему это важно;
как из непонятного сделать «рутину»;
про автоматизацию: OTRS, Jira, чат-боты;
про диагностику: логирование, как работает Bomgar;
про сообщество: специальная программа тестирования почты для сотрудников.
На сегодняшний день такие популярные анализаторы, как OWASP ZAP и Burp Suite, не всегда хорошо справляются с задачей автоматического сканирования приложений. Нередко они не могут найти какие-то специфические директории, автоматически отправить запрос без участия человека. И чаще данные инструменты запускаются локально. При этом, если в компании хорошо работает команда по автоматизации тестирования, их работу можно взять за основу динамического анализа и фазинга.
Как бонус, обсудим разницу Burp Suite Professional и Burp Suite Enterprise с точки зрения CI/CD и подключения автоматизированных тестов.
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...Mail.ru Group
Почему каждый DL-инженер должен написать свою либу для обучения сеток, а потом отказаться от неё.
Расскажу про опыт написания kekas-а, и почему в своей команде мы пользуемся pytorch-lightning как более зрелым решением.
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...Mail.ru Group
Расскажу про различные полезные библиотеки и функции Python: от простых и известных, до специфичных и редких. Поделюсь тем, какие технологии мы используем при разработке, обучении и деплое наших моделей: что помогало улучшить качество, а что тормозило разработку.
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidiaMail.ru Group
Все мы знаем, что наш любимый Pandas исключительно однопоточный, а модели из scikit-learn часто учатся не очень быстро даже в несколько процессов. Поэтому в докладе я расскажу о проекте RAPIDS - наборе библиотек для анализа данных и построения предиктивных моделей с использованием NVIDIA GPU. В докладе я предложу подискутировать о том, что закон Мура больше не выполняется, рассмотрю принципы работы архитектуры CUDA. Разберу библиотеки cuDF и cuML, а также постараюсь предельно честно рассказать о том, ждать ли чуда от перехода на GPU и в каких случаях чудо неизбежно.
WebAuthn в реальной жизни, Анатолий ОстапенкоMail.ru Group
Я расскажу, как мы поддержали вход через WebAuthn в самом крупном почтовом сервисе рунета и какие сложности скрываются за красивыми презентациями о том, какой WebAuthn простой и безопасный:
как сделать WebAuthn понятным и доступным для пользователей;
как поддержать его во всех браузерах и устройствах;
как тестировать WebAuthn, в том числе автоматизированно;
куда двигаться дальше после его запуска и включения.
AMP для электронной почты, Сергей ПешковMail.ru Group
Библиотека AMP — это не только современный инструмент создания богатых функциональностью и производительных web-сайтов, адаптированных для работы на мобильных устройствах. AMP для электронной почты радикально обновляет традиционный формат электронных писем, позволяя создавать более привлекательные и полезные для пользователя рассылки.
В Почте Mail.ru очень вдохновляют новые возможности, которые может предоставить нашим пользователям и партнерам AMP для электронной почты. Этот доклад о том:
почему стандарт для по-настоящему интерактивных электронных писем не получалось создать раньше;
что из себя представляет стандарт AMP4Email, какие новые способы взаимодействия с письмом он дает;
как с его помощью повысить ценность рассылки для пользователя;
как мы реализовали поддержку AMP4Email в своих продуктах и обеспечили его безопасность;
как AMP4Email может повысить конверсию на примере внедрения AMP-рассылок в партнерстве с крупнейшим сервисом электронной коммерции в России.
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Mail.ru Group
Delivery Club — крупнейшая фудтех-платформа в России, которая объединяет более 12 000 ресторанов разной ценовой категории в более чем 120 городах.
Мы разработали приложение для наших партнеров, в котором они могут управлять заказами, меню, ингредиентами, статистикой в удобном интерфейсе. В докладе пойдет речь о том, как внедрение практик PWA помогло нам улучшить пользовательский опыт, решить вопросы, связанные с работой приложения на разных платформах. И как поддержка offline-режима избавила нас от проблем с вечными перепадами сети у наших партнеров.
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Mail.ru Group
AI Journey — двухдневная конференция с ведущими международными и российскими спикерами — экспертами в области искусственного интеллекта и анализа данных, а также представителями компаний — лидеров по развитию и применению технологий ИИ в бизнес-процессах.
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Mail.ru Group
AI Journey — двухдневная конференция с ведущими международными и российскими спикерами — экспертами в области искусственного интеллекта и анализа данных, а также представителями компаний — лидеров по развитию и применению технологий ИИ в бизнес-процессах.
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Mail.ru Group
AI Journey — двухдневная конференция с ведущими международными и российскими спикерами — экспертами в области искусственного интеллекта и анализа данных, а также представителями компаний — лидеров по развитию и применению технологий ИИ в бизнес-процессах.
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Mail.ru Group
AI Journey — двухдневная конференция с ведущими международными и российскими спикерами — экспертами в области искусственного интеллекта и анализа данных, а также представителями компаний — лидеров по развитию и применению технологий ИИ в бизнес-процессах.
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Mail.ru Group
AI Journey — двухдневная конференция с ведущими международными и российскими спикерами — экспертами в области искусственного интеллекта и анализа данных, а также представителями компаний — лидеров по развитию и применению технологий ИИ в бизнес-процессах.
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации больших сумм функций»
1. Методы оптимизации больших сумм
функций
Д. А. Кропотов
ВМК МГУ, группа Байесовских методов
p BA)yesgroup.ru|(
Конференция Data Fest2, 6 марта 2016 г.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
1 / 24
2. Задача оптимизации больших сумм функций
Рассмотрим задачу
F(w) :=
1
N
N
i=1
fi(w) → min
w∈RD
(1)
Многие задачи из машинного обучения сводятся к этой задаче,
например, линейная и логистическая регрессия, условные
случайные поля, глубинные нейросети и проч.
Случай «больших данных»:
N 1.
Предположения:
все функции fi непрерывно дифференцируемы и сильно выпуклы
градиенты fi удовлетворяют условию Липшица:
fi(w) − fi(u) 2 ≤ L w − u 2 , ∀w, u ∈ RD
.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
2 / 24
3. Градиентный спуск (GD)
Итерация метода:
wk+1 = wk − αk F(w) = wk − αk
1
N
N
i=1
fi(wk) (2)
Свойства:
Длина шага αk подбирается путём неточного решения задачи
F(wk − α F(wk)) → min
α
Метод сходится с линейной скоростью
F(wk) − F(w∗) = O(Ck
)
Здесь 0 < C < 1.
Стоимость итерации O(ND).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
3 / 24
4. Стохастический градиентный спуск (SGD) [Robbins and Monro,
1951]
Итерация метода:
wk+1 = wk − αk fik
(wk), (3)
где ik ∈ {1, . . . , N} – случайно выбираемый номер компоненты.
Направление оптимизации является несмещённой оценкой F(wk):
Eik
fik
(wk) =
1
N
N
i=1
fi(wk) = F(wk).
Низкие стоимость итерации O(D) и требования по памяти O(D);
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
4 / 24
5. Стохастический градиентный спуск (SGD) [Robbins and Monro,
1951]
Для сходимости шаг αk выбирается как
∞
k=1
αk = ∞,
∞
k=1
α2
k < ∞. (4)
В частности, метод не сходится для константного шага.
В силу отсутствия доступа к функции F(w), шаг αk выбирается с
помощью априорной стратегии, удовлетворяющей условиям (4):
αk =
α0
kτ
, τ ∈ (0.5, 1].
На практике параметры α0, τ приходится подбирать по сетке.
Скорость сходимости метода сублинейная: EF(wk) − F(w∗) = O(1/k).
Отсутствие обоснованного критерия останова.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
5 / 24
6. Траектория SGD
Рассмотрим задачу восстановления линейной регрессии в двухмерном
пространстве:
F(w) =
1
N
N
i=1
(yi − xT
i w)2
→ min
w∈R2
.
траектория SGD траектория в окр. опт.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
6 / 24
7. Скорости сходимости GD vs. SGD
Невязка rk = F(wk) − F(w∗). Зависимость log(rk) от номера
итерации k:
Motivation for New Methods
FG method has O(n) cost with O(ρt
) rate.
SG method has O(1) cost with O(1/t) rate.
Stochastic vs. deterministic methods
• Goal = best of both worlds: linear rate with O(1) iteration cost
hybrid
log(excesscost)
stochastic
deterministic
time
It is possible to have linear rate with O(1) cost?
Reza Babanezhad, Mohamed Ahmed, Mark Schmidt Advances in the Minimization of Finite Sums
Цель: гибридный метод со стоимостью итерации, не зависящей от N
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
7 / 24
8. Стохастический средний градиент (SAG) [Schmidt et al., 2013]
Шаг метода:
wk+1 = wk − αkgk, (5)
где gk – «средний» градиент:
gk =
1
N
N
i=1
fi(vk
i ), (6)
который обновляется в итерациях как:
gk = gk−1 +
1
N
fik
(wk) −
1
N
yk−1
ik
. (7)
Память: O(ND) для хранения yk
i := fi(vk
i ), где vk
i = последняя
точка, в которой вычислялась fi.
Скорость сходимости: линейная, O(Ck), где C ∈ (0, 1).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
8 / 24
9. Подбор длины шага αk
Скорость сходимости SAG
Для константного шага αk = 1/16L метод SAG сходится как
EF(wk) − F(w∗) ≤ 1 − min
µ
16L
,
1
8N
k
C0.
Метод автоматически адаптируется к константе сильной выпуклости µ.
На практике: αk = 1/L.
Адаптивная процедура для L:
Инициализировать L.
Увеличивать L, пока для wk+1 = wk − 1
L gk не выполнится
fik
(wk+1) ≤ fik
(wk) + fik
(wk)T
(wk+1 − wk) +
L
2
wk+1 − wk
2
.
Уменьшить L между итерациями.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
9 / 24
10. Критерий останова
Для градиентного спуска критерий останова F(wk) < ε.
Для метода SAG при wk → w∗ верно, что gk → F(wk).
Поэтому для метода SAG в качестве критерия останова можно
взять gk < ε.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
10 / 24
11. Сравнение SAG с другими методами
Задача логистической регрессии. Данные quantum (N=50000, D=78) и
rcv1 (N=697641, D=47236).
SAG Compared to FG and SG Methods
quantum (n = 50000, p = 78) and rcv1 (n = 697641, p = 47236)
0 10 20 30 40 50
10
−12
10
−10
10
−8
10
−6
10
−4
10
−2
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG−LS
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG
−LS
SAG starts fast and stays fast.
Mark Schmidt Minimzing Finite Sums with the SAG Algorithm
SAG Compared to FG and SG Methods
quantum (n = 50000, p = 78) and rcv1 (n = 697641, p = 47236)
0 10 20 30 40 50
10
−12
10
−10
10
−8
10
−6
10
−4
10
−2
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG−LS
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG
−LS
SAG starts fast and stays fast.
Mark Schmidt Minimzing Finite Sums with the SAG AlgorithmД.А. Кропотов Оптимизация больших сумм функций Data Fest2
11 / 24
12. SAG: уменьшение памяти
Исходный алгоритм SAG требует O(ND) памяти.
Варианты сокращения памяти:
Использовать мини-батчи:
F(w) =
1
N
N
i=1
fi(w) =
1
M
M
j=1
M
N
i∈Mj
fi(w)
Память сокращается до O(MD), стоимость итерации
увеличивается до O(DN/M).
Линейные модели: fi(w) := φi(xi w) для некоторого xi ∈ RD.
Градиенты имеют специальную структуру: fi(w) = φi(xi w)xi;
Вместо полного градиента fi(w) достаточно хранить одно число
φi(xi w);
Память сокращается от O(N).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
12 / 24
13. SAG: неравномерный выбор компонент
Длина шага αk и скорость сходимости метода определяется
константой L для F(w), где L = max1≤i≤N Li, Li – константа
Липшица для функции fi;
При выборе компонент с вероятностью, пропорциональной Li,
можно уменьшить константу L с maxi Li до ¯L = i Li/N:
F(w) =
1
N
N
i=1
fi(w) =
1
i Li
N
i=1
Li
j=1
¯L
fi(x)
Li
.
При таком подходе компонента с большим значением Li
выбирается чаще.
Для обеспечения сходимости выбор компонент надо осуществлять
по правилу: с вероятностью 0.5 выбирать из равномерного
распределения, с вероятностью 0.5 выбирать с вероятностями
Li/ j Lj.
Для генерации с вероятностями Li/ j Lj существует алгоритм
со сложностью O(log N)
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
13 / 24
14. SAG: неравномерный выбор компонент
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AGD
L−BFGS
SG−C
ASG−C
PCD−L
DCA
SAG
0 10 20 30 40 50
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AG
D
L−BFG
S
SG−C
ASG−C
PCD−L
DCA
SAG
Datasets where SAG had the worst relative performance.
Mark Schmidt Minimzing Finite Sums with the SAG Algorithm
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAGAGD
L−BFGS SG−C
ASG−C
PCD−L
DCA
SAG
0 10 20 30 40 50
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AG
D
L−BFG
S
SG−C
ASG−C
PCD−L
DCA
SAG
Datasets where SAG had the worst relative performance.
Mark Schmidt Minimzing Finite Sums with the SAG Algorithm
SAG with Non-Uniform Sampling
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−20
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AGDL−BFGS SG−C
ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG AGD L−BFGS
SG−C ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
Lipschitz sampling helps a lot.
SAG with Non-Uniform Sampling
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−20
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AGDL−BFGS SG−C
ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG AGD L−BFGS
SG−C ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
Lipschitz sampling helps a lot.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
14 / 24
15. SAG: резюме
Метод SAG:
Является стохастическим методом оптимизации, стоимость
итерации которого не зависит от N;
Обладает линейной скоростью сходимости;
Автоматически адаптируется к константе сильной выпуклости;
Не требует настройки параметров пользователем (длина шага
выбирается автоматически с помощью адаптивной процедуры
подбора L);
Имеет обоснованный критерий останова;
Имеет высокие требования по памяти O(ND);
Имеет обобщения на случай разреженных данных,
регуляризаторов специального вида, «нестеризации» и проч.
[Schmidt et al., 2013]
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
15 / 24
16. Stochastic Variance Reduced Gradient (SVRG) [Johnson and Zhang,
2013]
Пусть известен F(˜w) для некоторой точки ˜w. Итерация SVRG:
gk = fik
(wk) − fik
(˜w) + F(˜w),
wk+1 = wk − αkgk.
Направление dk является несмещённой оценкой F(wk):
Eik
dk = Eik
fik
(wk) − fik
(˜w) + F(˜w) =
= F(wk) − F(˜w) + F(˜w) = F(wk).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
16 / 24
17. Общая схема SVRG
Инициализация ˜w0;
Для s = 0, 1, 2, . . .
ds = 1
N
N
i=1 fi( ˜ws);
w0 = ˜ws;
Для k = 1, 2, . . . , m
Случайно выбрать ik из {1, 2, . . . , N};
wk = wk−1 − αk( fik (wk−1) − fik ( ˜ws) + ds)
˜ws+1 = wm;
Достаточно хранить только ds и ˜ws. Требуемая память: O(D),
сложность внутренней итерации: O(D).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
17 / 24
18. SVRG: детали
Метод SVRG имеет линейную скорость сходимости для
константного шага αk;
На практике αk = 1/L, где L подбирается адаптивно;
Для ускорения метода рекомендуется выбирать компоненты fi с
вероятностями, пропорциональными Li;
Критерий останова ds < ε;
На практике m = 2N;
Величину N для подсчёта F(˜w) можно снизить за счёт
использования увеличивающихся батчей [Babanezhad et al., 2015].
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
18 / 24
19. Пример работы SVRG
A PROXIMAL STOCHASTIC GRADIENT METHOD 2071
0 10 20 30 40 50
number of effective passes
10−15
10−12
10−9
10−6
10−3
100
objectivegap:P(xk)−P
Prox-SG
RDA
Prox-FG
Prox-AFG
Prox-SAG
Prox-SVRG
Prox-SDCA
0 10 20 30 40 50
number of effective passes
0
5000
10000
15000
20000
25000
30000
NNZsinxk
Prox-SG
RDA
Prox-FG
Prox-AFG
Prox-SAG
Prox-SVRG
Prox-SDCA
Fig. 4. Comparison of different methods on the rcv1 data set.
10−6
10−4
10−2
100
P(xk)−P
Prox-FG
Prox-AFG 10−1
100
101
P(xk)−P
Prox-FG
Prox-AFG
Prox-SG
RDA
Prox-SAG
Prox-SDCA
Prox-SVRG
Prox-SVRG2
0 10 20 30 40 50
number of effective passes
10−15
10−12
objecti
Prox-SAG
Prox-SVRG
Prox-SDCA
5
Fig. 4. Comparison of different meth
0 10 20 30 40 50
number of effective passes
10−14
10−12
10−10
10−8
10−6
10−4
10−2
100
objectivegap:P(xk)−P
Prox-FG
Prox-AFG
Prox-SG
RDA
Prox-SAG
Prox-SDCA
Prox-SVRG
Prox-SVRG2
1
1
1
1
objectivegap:P(xk)−P
Fig. 5. Comparison of different methods on c
complexity analysis. While the complexity of
tablished, its performance is among the best.
under the 1-regularization, RDA, Prox-SDCA,
rect NNZs quickly, followed by Prox-SVRG anД.А. Кропотов Оптимизация больших сумм функций Data Fest2
19 / 24
20. Шкалирование градиентного спуска
Градиентный спуск: wk+1 = wk − 1
L F(wk);
µ ≈ L µ L
– f convex with L-Lipschitz-continuous gradient
– Minimum attained at θ∗
• Algorithm:
θt = θt−1 −
1
L
f′
(θt−1)
• Algorithm:
θt = θt−1 −
1
L
f′
(θt−1)
Метод Ньютона: wk+1 = wk − αkH−1
k F(wk), Hk = 2F(wk).
Аппроксимации H−1
k F(wk):
квази-ньютоновские методы;
L-BFGS;
безгессианные методы.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
20 / 24
21. Добавление шкалирования в стохастические методы
SGD + шкалирование:
wk+1 = wk − Bk fik
(wk).
Такое шкалирование не изменяет сублинейную скорость сходимости
SGD, даже при Bk = 2F(wk)−1! [Bousquet and Bottou, 2008]
SAG + шкалирование:
wk+1 = wk − Bkgk.
Метод L-BFGS приближённо оценивает 2F(wk)−1gk с помощью
истории {yj, sj}k−1
j=k−m, где
yj = F(wj+1) − F(wj), sj = wj+1 − wj.
При замене F(wj) на градиент по батчу 1
|I| i∈I fi(wj) качество
L-BFGS аппроксимации значительно ухудшается! [Byrd at el., 2015]
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
21 / 24
22. SVRG + L-BFGS [Kolte et al., 2015]
Обозначим ˜ys = ds − ds−1, ˜us = ˜ws − ˜ws−1.
Инициализация ˜w0;
Для s = 0, 1, 2, . . .
ds = 1
N
N
i=1 fi( ˜ws);
w0 = ˜ws;
Выбрать Hk с помощью L-BFGS по данным {˜yj, ˜uj}s−1
j=s−l;
Для k = 1, 2, . . . , m
Случайно выбрать ik из {1, 2, . . . , N};
gk = fik (wk−1) − fik ( ˜ws) + ds;
wk = wk−1 − αkH−1
k gk
˜ws+1 = wm;
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
22 / 24
23. Пример работы SVRG + L-BFGS
80 100 120 140 160 180 200
passes through the data
(a)
10 20 30 40 50 60 70 80 90 100
10−12
10−11
10−10
10−9
10−8
10−7
passes through the data
log-s
SVRG
SVRG+I
SVRG+II
SLBFGS
LBFGS
(b)
20 40 60 80 100 120 140 160 180 200
10−15
10−13
10−11
10−9
10−7
10−5
10−3
10−1
passes through the data
log-suboptimality
SVRG
SVRG+I
SVRG+II
SLBFGS
LBFGS
(c)
optimality vs number of passes through the data for (a) mnist dataset, (b) covtype
dataset
g and optimization of minibatch size can be incorporated for further performance
accuracy solution. Though SVRG+II updates the Hessi
SLBFGS, the disadvantage of using an outdated approx
due to the use of exact gradient differences.
Dataset n p Dataset n
mnist 60000 717 covtype 581012
Table 1: Datasets used in experiments, obtained from
20 40 60 80 100 120 140 160 180 200
10−4
10−3
10−2
10−1
100
passes through the data
log-suboptimality
SVRG
SVRG+I
SVRG+II
SLBFGS
LBFGS
(a)
10−1
10−1
10−1
10−
10−
10−
10−
10−
10−
10−
10−
10−
10
log-suboptimality
−9
10−7
10−5
10−3
10−1
uboptimality
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
23 / 24
24. Заключение
Метод SGD является неэффективным из-за медленной
сублинейной скорости сходимости и чувствительности к
пользовательским параметрам;
За счёт использования памяти метод SAG устраняет все основные
недостатки SGD: он имеет линейную скорость сходимости и не
требует настройки параметров;
Метод SVRG является аналогом SAGа, но при этом использует
значительно меньше памяти;
За счёт вычисления внутри SVRG полных градиентов этот метод
допускает эффективное добавление информации второго порядка;
Выбор метода оптимизации зависит от кол-ва допустимых
проходов по выборке:
При одном проходе (онлайн-оптимизация) стохастический
градиент является оптимальным методом;
При нескольких десятках проходах преимущество имеют методы
типа SAG и SVRG;
При нескольких сотнях проходов обычные методы оптимизации
могут оказаться самыми эффективными.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
24 / 24