Openbravo-rus.ru

Образование по русски
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Флах машинное обучение

Machine Learning.

Здравствуйте! Скажите, пожалуйста, что нужно для того, чтобы влиться в ML? Что нужно изучать последовательно,по порядку, чтобы ввалиться в эту сферу (или попытаться)?

Начать с матана и статистики.

Читай: Петер Флах Машинное обучение … — хорошая книга, для введения и хорошей базы самое оно. Николенко «Глубокое обучение», это методы обучения и глубокое обучение, тоже чёткая книга, если осилил обе(Флах и Николенко), то дальше развиваться только практикой, только по мере набора опыта. Если хочешь что-то сверхлегкое доходчивое по нейросетям, то это Тарика Рашида читать или Рутковского и др., у них есть пара книг одновременно по нейросеточкам, генетическим алгоритмам и нечёткой логике. Также, если не страшен аглицкий(хотя на русском ей богу книг уже за глаза), то интересными считаю Погружение в в глубокое обучение(Dive into deep learning), 100 страничная книга по машобучению(The Hundred Page Machine Learning Book, она и на русский переведена издательством Питер, под названием «Машинное обучение без лишних слов», но в продажу поступит только в конце февраля, книга хорошая и насыщенная) и мне ещё нравится Machine Learning Refined(хорошо проиллюстрирована математика под методы обучения). Также я забыл упомянуть, что лезть без знаний матстатистики и матана бесполезно и вот как раз по матстатистике рекомендую настоящую жемчужину современного образования «наглядная математическая статистика» за авторством Лагутина.

А надо ли иметь степень кандидата, чтобы ввалиться и туда?

Смотря как глубоко, если потыкать нейросеточки на питоне, то тарика рашида хватит, если что-то по серьёзнее, то желательны знания технаря 2+ курса, машобуч это же не столь про нейросетки и про ИИ, сколь про методы оптимизации(матан, диффуры, линал и ангеом) и матстатистику, если не понимать теории, то уедете, но недалеко, можно попробовать галопом по европам прокатиться, но тогда споткнётесь на первой не совсем стандартной задаче или на задаче с малым объёмом данных.

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

А пошагово что следует сдеалть, чтобы ввалиться туда? Какую математику необходимо знать, то есть какой уровень? Например, линал физфака подойдет?

Ещё раз если влиться это лишь использование, вы можете просто прочитать список методов обучения и когда какой применять, обойдётесь знаниями программирования, правда быстро споткнётесь, когда закончатся готовые решения с SO и профильных сайтов, если по серьёзному вливаться с матиматикой и блекджеком, то желательно знать: тервер и матстат(основы, распреденения и их функции, проверка гипотез, корреляция, ковариация), матан(интегральное и дифференциальное исчисления = пределы, ряды, интегралы), линал(матрицы и всё с ними связанное, в т.ч. собственные и сингулярные числа, многообразия, различные типовые матрицы, разложения матриц), методы оптимизации(мат программмирование и все все все), численные методы, дискретная математика(в основоном теория множеств и графы). В целом это не столь обязаловка сколько оптимум, линал и тервер и матан это для доказательств и оценок, чтобы понимать как оценивать и работать с имеющимися данными и выбирать

лучший метод обучения, методы оптимизации это по сути про костяк почти любого методы обучения, т.к. оптимизация это если не все то почти каждый метод.

В интернете этом вашем есть перцы, которые выкладывают видеоуроки по ML, мягко говоря, не совсем понимая, как эта вся математика работает. На уровне революционного чутья. И ничё, некоторые стандартные вещи у них неплохо получаются, даже деньги делают на этом какие-то. Но чтобы вникнуть, как всё это работает, конечно первые три курса вышки с мат. уклоном необходимы.

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

Рассказываем, с чего начать изучение ИИ

Что такое ИИ и почему это так интересно

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

Тема искусственного интеллекта и машинного мышления интересовала учёных ещё до изобретения компьютеров, а после появления ЭВМ вышла на новый уровень. В 1950-60-х годах вопросы, связанные с созданием и использованием искусственного интеллекта, стали широко обсуждаться в обществе.

Ответ на этот вопрос найти сложно ещё и потому, что нет чётких критериев разумности машины. Если это умение делать логические умозаключения, то компьютер давно превзошёл человека. Если же речь идёт о гибкости и оригинальности мышления, тут человек пока ещё превосходит даже самые современные интеллектуальные устройства.

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

Что могут программы с искусственным интеллектом

Современные технологии искусственного интеллекта позволяют создать устройства и программы, которые:

  • находят максимум возможных решений одной ситуации; машинный интеллект может быстро проанализировать все варианты и просчитать, какой из них будет наиболее дешёвым, безопасным, эффективным. Ответы машины будут зависеть от того, какую задачу перед ней поставил человек.Например, ИИ может подсчитать, производство какой модели или товара более выгодно, опираясь на данные о стоимости расходных материалов и объёмах продаж.
  • могут отвечать на любые вопросы, интегрированные в их систему; при этом машина умеет не только находить готовый ответ в базе данных, но и отыскивать его с помощью промежуточных наводящих вопросов, постепенно сужающих область поиска. Известная онлайн-игра «Акинатор», когда человек загадывает персонажа, а машина задаёт вопросы и отгадывает, кто это, тоже основана на технологиях искусственного интеллекта.
  • собирают и обрабатывают информации большие массивы информации, анализируют её, объединяют не связанные между собой фрагменты информации; так работает, например, система поиска по картинкам в «Яндексе» или Google.

В каких сферах применяется ИИ

Обработка языка

Машинный перевод активно используется в интернете и социальных сетях, совершенствуясь с каждым годом. Компьютер научился распознавать и устную, и письменную, и печатную речь. По прогнозам, переводчик станет одной из первых профессий, которая исчезнет «по вине» ИИ.

Компьютерные игры

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

Управление финансами

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

Анализ окружающей среды

Технологии искусственного интеллекта применяются для создания «умных домов». Контроль над всем, что происходит в доме – электричеством, отоплением, вентиляцией, работой бытовой техники осуществляет специальная программа. Роботы-пылесосы сканируют окружающее пространство, чтобы определить, нужно ли им приступать к работе.

Мобильные приложения

Программы для мобильных телефонов умеют распознавать лица, отслеживать наше месторасположение, следят за режимом сна и питания.

Транспорт

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

Медиа

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

HR

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

Медицина

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

Тяжёлая промышленность

Роботы активно применяются в областях, где необходима постоянная концентрация на совершении одних и тех же рутинных действий. Самый высокий уровень внедрения машин с элементами искусственного интеллекта в производство на данный момент отмечен в Японии: на 10 000 сотрудников автомобильной промышленности там приходилось в 2014 году около 1500 роботов.

Зачем изучать технологию ИИ

Перспектива

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

Вклад в науку и культуру

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

Читать еще:  Agile коуч обучение

Творчество

В сфере создания ИИ очень востребованы не только разработчики программного обеспечения, но и люди с креативным мышлением, способные придумывать и продвигать новые идеи. Чтобы работать в этой сфере, важно уметь нестандартно мыслить. Отдельное перспективное направление, которым может заняться творческий человек – обучение машины созданию произведений искусства. Уже сегодня компьютеры рисуют картины, пишут музыку и стихи. В недалёком будущем, возможно, они возьмут на себя создание книг, кино и мультфильмов.

Освоение новых навыков

Чтобы работать в области искусственного интеллекта, необходимо хорошее знание математики и основ программирования. Для изучения ИИ наиболее важны два раздела математики – линейная алгебра и теория вероятности. Самый востребованный язык программирования в этой сфере – Python, потом идут R и Lua. Пригодится также знание английского языка – самые современные научные данные, статьи, отчёты о достижениях и экспериментах, как правило, публикуются на английском.

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

Доступность

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

Книги, в доступной форме рассказывающие о машинном обучении и технологиях ИИ:

  • Педро Домингос «Верховный алгоритм»;
  • Хенрик Бринк, Джозеф Ричардс, Марк Феверолф «Машинное обучение»;
  • Георгий Кухарев, Екатерина Каменская, Юрий Матвеев, Надежда Щеголева «Методы обработки и распознавания изображений лиц в задачах биометрии»;
  • Петер Флах «Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных».

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

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

Хотите получать новые статьи во «ВКонтакте»? Подпишитесь на рассылку полезных статей

Что читать, смотреть и где учиться машинному обучению

На русском сайте StackOverflow в вопросе о хороших книгах по математике и машинному обучению сформировали список материалов, с которых стоит начать изучение этой предметной области.

Для тех, кто хочет на русском языке почитать:

  1. Петер Флах Машинное обучение: источник, Оглавление и отрывки из глав
  2. Джеймс Г., Уиттон Д., Хасти Т., Тибширани Р. Введение в статистическое обучение с примерами на языке R: источник, Оглавление и отрывки из глав
  3. Себастьян Рашка Python и машинное обучение: источник
  4. Хенрик Бринк, Джозеф Ричардс Машинное обучение: источник
  5. Хараламбос Марманис, Дмитрий Бабенко Алгоритмы интеллектуального Интернета. Передовые методики сбора, анализа и обработки данных: источник
  6. К. В. Воронцов. Математические методы обучения по прецедентам (теория обучения машин): источник
  7. Мерков А.Б. Введение в методы статистического обучения: источник
  8. Аркадий Гелиг, Алексей Матвеев Введение в математическую теорию обучаемых распознающих систем и нейронных сетей. Учебное пособие: источник
  9. Мерков А.Б. Построение и обучение вероятностных моделей: источник
  10. Ричарт В., Коэльо П.Л. Построение систем машинного обучения на языке Python: источник, Оглавление и отрывки из глав (тут больше практика по машинному обучению)
  11. Вьюгин В. Математические основы машинного обучения и прогнозирования: источник
  12. Червоненкис А.Я. Теория обучения машин
  13. Ричард С. Саттон, Эндрю Г. Барто Обучение с подкреплением: источник
  14. Андреас Мюллер, Сара Гвидо Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными: источник
  15. Дэви Силен, Арно Мейсман Основы Data Science и Big Data. Python и наука о данных: источник
  16. Лепский А.Е., Броневич А.Г. Математические методы распознавания образов: Курс лекций: источник
  17. Донской В. И. Алгоритмические модели обучения классификации:обоснование, сравнение, выбор: источник
  18. Местецкий Л.М. Математические методы распознавания образов Курс лекций: источник
  19. Кристофер Д. Маннинг, Прабхакар Рагхаван Введение в информационный поиск: источник
  20. Юре Лесковец, Ананд Раджараман Анализ больших наборов данных: источник, оглавление и отрывки из глав
  21. Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение: источник, оглавление и отрывки из глав
  22. Шлезингер М.И. Десять лекций по статистическому и структурному распознаванию образов: источник

Для тех, кто хочет на русском языке посмотреть:

  • Высшая школа экономики Введение в машинное обучение: источник Coursera
  • Специализация Машинное обучение и анализ данных включающая себя 6 курсов: источник Coursera
  • Видеолекции курса «Машинное обучение» от Школы анализа данных Яндекса источник на яндексе или источник на ютубе
  • Специализация Анализ Данных от Stepik
  • Курс Нейронные сети: источник
  • Видеолекциии (13шт.) Введение в анализ данных: источник Mail.ru
  • Видеолекциии (1 семестр) Data Minig: источник Mail.ru
  • Видеолекциии (2 семестр) Data Minig: источник Mail.ru
  • Computer Science Center Машинное обучение, часть 1 (осень 2016): источник ютуб
  • Computer Science Center Машинное обучение, часть 2 (весна 2017): источник ютуб
  • Data Mining in Action 10 лекций по ML: источник ютуб
  • Компьютерные науки Тренировки Machine Learning: источник ютуб здесь люди делятся своим реальным опытом в ML
  • Высшая школа экономики, курс Линейная алгебра: источник Coursera
  • Лекториум Линейная алгебра и аналитическая геометрия: источник ютуб
  • МФТИ, курс Теория вероятностей для начинающих: источник Coursera
  • МФТИ, курс Математика для всех: источник Coursera
  • Курс от Stepik Основы статистики: часть1,часть2, часть3
  • Курс от Stepik Математическая статистика: источник
  • Курс от Stepik Введение в дискретную математику: источник
  • Курс от Stepik Ликбез по дискретной математике: источник
  • Курс от Stepik Введение в математический анализ: источник
  • Курс от Stepik Математический анализ: часть1, часть2
  • Курс от Stepik Анализ данных в R: часть1, часть2
  • Computer Science Center Анализ данных на R в примерах и задачах (весна 2016): источник ютуб
  • Computer Science Center Анализ данных на R в примерах и задачах, часть 2 (весна 2017): источник ютуб
  • Канал на ютубе Основы анализа данных: источник
  • KhanAcademyRussian Теор. вероятн-ей и комбинаторика: источник ютуб
  • Алгебра (133 видео): источник KhanAcademyRussian

Прежде чем заниматься конкретно машинным обучением, рекомендую всё же ознакомится с книгами

  • Стюарт Рассел, Питер Норвиг Искусственный интеллект. Современный подход: источник
  • Джордж Ф. Люгер Искусственный интеллект. Стратегии и методы решения сложных проблем: источник

Таким образом у вас сформируется более четкое понимание предметной области машинного обучения и сильно расширит ваш кругозор. Нейронные сети занимают важную позицию в машинном обучении, поэтому стоит ознакомиться с книгой

  • Саймон Хайкин Нейронные сети. Полный курс: источник

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

  • Борис Миркин Введение в анализ данных. Учебник и практикум: источник
  • Марина Архипова, Татьяна Дуброва Анализ данных. Учебник: источник
  • Загоруйко Н.Г. Прикладные методы анализа данных и знаний: источник
  • Мостеллер Ф., Тьюки Дж. Анализ данных и регрессия: источник
  • Рубан А.И. Методы анализа данных
  • Уэс Маккинни Python и анализ данных: источник (практика)
  • Роберт И. Кабаков R в действии. Анализ и визуализация данных на языке R: источник (практика)

Вы должны знать хорошо математику (в особенности линейную алгебру), статистику, теорию вероятностей, дискретную математику. Я, например, неважно знаю математику и мне очень тяжело читать стандартные учебники, рассчитанные на то, что преподаватель сможет разжевать скупое описание формулы, поэтому для легкого порога вхождения рекомендую следующие книги (от основ и выше):

  • Стивен Х. Строгац Удовольствие от x. Увлекательная экскурсия в мир математики от одного из лучших преподавателей в мире: источник
  • Юрий Шиханович Введение в современную математику. Начальные понятия: источник
  • Рональд Л. Грэхем, Дональд Эрвин Кнут Конкретная математика. Математические основы информатики: источник
  • Юрий Пухначев Математика без формул: книга1, книга2
  • Риxард Курант, Герберт Роббинс Что такое математика?источник
  • Тарасов Л.В. Азбука математического анализа. Беседы об основных понятиях. Учебное пособие: источник

На любителя:

  • Занимательная статистика. Манга: источник
  • Занимательная статистика. Регрессионный анализ. Манга: источник
  • Занимательная математика. Производные и интегралы. Манга: источник
  • Занимательная статистика. Факторный анализ. Манга: источник

Потом уже можно браться за стандартный учебник математического анализа

  • Фихтенгольц Г.М. Основы математического анализа: источник (это один из немногих классических учебников, где например хорошо разжевано понятие производной, поверьте, я многих сравнивал).

Статистика, теория вероятностей:

  • Гнеденко Б.В., Хинчин А.Я. Элементарное введение в теорию вероятностей: источник
  • Сара Бослаф Статистика для всех: источник
  • Чарльз Уилан Голая статистика. Самая интересная книга о самой скучной науке: источник
Читать еще:  Smm обучение для чайников бесплатно

Предлагаем вам подборку из 10 бесплатных книг (она опубликована на сайте thepixelbeard.com и переведена каналом “Библиотека программиста”), с помощью которых вы сможете узнать, могут ли компьютеры учиться.

Книга позволит получить концептуальные основы в машинном обучении. Авторами данной книги являются T.Hastie, R. Tibshirani, J.Friedman.

Индуктивная логика является темой машинного обучения. Она используется в области исследований на пересечении машинного обучения и логического программирования.

С помощью этой книги пользователь сможет получить основные знания в машинном обучении.

Это электронная книга David J.C. Mackay, в которой вы найдете арифметическое кодирование для сжатия данных, разреженные графовы коды коррекции ошибок и многое другое.

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

Авторы данной книги Roberto Battiti и Mauro Brunato. Данная книга была написана таким образом, что она помогает пользователям в машинном обучении и интеллектуальной оптимизации.

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

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

Книга направлена на обзор различных современных подходов и классификаций.

Книга включает в себя различные темы машинного обучения, которые помогают людям проводить золотую середину между теорией и практикой.

Дополнительно о машинном обучении

Записи лекций Школы Анализа Данных Яндекса.

Курс «Введение в машинное обучение» на русском языке в Coursera.

Кладезь информации по машинному обучению на русском языке: http://www.machinelearning.ru

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

Если про машинное обучение, то смотрим

CRAN Task View: Machine Learning & Statistical Learning

Тупо делаю копипаст — пусть будет на этой сайте:

Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных


Автор: Петер Флах
Год: 2015
ISBN: 978-5-97060-273-7
Страниц: 400
Язык: Русский
Формат: PDF
Размер: 56 Мб

Перед вами один из самых интересных учебников по машинному обучению – разделу искусственного интеллекта, изучающего методы построения моделей, способных обучаться, и алгоритмов для их построения. Автор воздал должное невероятному богатству предмета и не упустил из вида объединяющих принципов. Читатель с первых страниц погружается в машинное обучение в действии, но без не нужных на первых порах технических деталей. По мере изучения предмета тщательно подобранные примеры, сопровождаемые иллюстрациями, постепенно усложняются. В книге описан широкий круг логических, геометрических и статистических моделей, затрагиваются и такие находящиеся на переднем крае науки темы, как матричная факторизация и анализ РХП. Особое внимание уделено важнейшей роли признаков. Устоявшаяся терминология дополняется введением в рассмотрение новых полезных концепций. В конце каждой главы приводятся ссылки на дополнительную литературу с авторскими комментариями. Книга ясно написана и хорошо организована. Начав с основ, автор умело ведет читателя, знакомя его с полезными фактами и подробно описывая ряд методов машинного обучения. Приводится также псевдокод ключевых алгоритмов. Благодаря всему этому книга задает новый стандарт изучения такой сложной дисциплины как машинное обучение.

Ингредиенты машинного обучения

Смысл машинного обучения состоит в использовании нужных признаков для построения моделей, подходящих для решения правильно поставленных задач, – этой фразой, наглядно представленной на рис. 3, мы закончили пролог. По существу, признаки и определяют «язык», на котором описываются объекты предметной области, будь то почтовые сообщения или сложные органические молекулы. Имея представление в виде признаков, мы уже можем не возвращаться к самим объектам предметной области; именно поэтому признаки играют такую важную роль в машинном обучении. В разделе 1.3 мы присмотримся к ним поближе. – это абстрактное представление проблемы с участием объектов предметной области, которую мы хотим решить. Чаще всего требуется классифицировать объекты, то есть отнести каждый объект к одному из двух или более классов, но на страницах этой книги мы встретим и другие задачи. Многие задачи можно представить в виде отображения исходных данных на результаты. Такое отображение, или модель само является результатом алгоритма машинного обучения, примененного к обучающим данным. Как мы увидим в разделе 1.2, разнообразие моделей весьма широко.

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

Задачи: проблемы, решаемые методами машинного обучения

В прологе было описано распознавание почтового спама. Это задача бинарной классификации – пожалуй, самая распространенная в машинном обучении, она
будет встречаться нам не раз. Очевидное обобщение – задачи классификации с числом классов больше двух. Так, может быть интересно распознавать различные виды хороших почтовых сообщений, например относящиеся к работе и личные. К этой задаче можно было бы подойти как к комбинации двух задач бинарной классификации: сначала отделить спам от неспама, а затем разбить хорошие сообщения на рабочие и личные. Однако при этом теряется потенциально полезная информация, поскольку некоторые спамные сообщения выглядят скорее как личные, нежели как рабочие. Поэтому зачастую выгодно рассматривать многоклассовую классификациюкак самостоятельную задачу машинного обучения. На первый взгляд, ничего особенного: ведь все равно придется обучить модель, чтобы связать класс с признаками. Но при такой, более общей постановке некоторые концепции нуждаются в переосмыслении: например, понятие решающей границы не столь очевидно, как в случае с двумя классами.

Бинарная классификация и родственные задачи

В этой и в следующей главе мы с высоты птичьего полета бросим взгляд на широкий круг задач, решаемых методами машинного обучения. Под словом «задача» здесь понимается любая деятельность, эффективность которой призвано улучшить машинное обучение (вспомните определение машинного обучения выше), например распознавание почтового спама. Поскольку речь пойдет о задаче классификации, нам потребуется обучить подходящий классификатор на обучающих данных. Существует много типов классификаторов: линейные, байесовский, метрические – и это еще далеко не полный перечень. Мы будем называть эти типы моделями, они станут предметом рассмотрения в главах 4-9. Классификация – лишь одна из обширного спектра задач, для решения которых можно обучить модель; в этой главе мы также кратко рассмотрим оценивание вероятности класса и ранжирование. А в следующей обсудим регрессию, кластеризацию и дескриптивное моделирование. Для каждой задачи мы расскажем, что это такое, какие существуют варианты, как можно оценивать качество ее решения и как она соотносится с другими задачами. Но прежде всего введем обозначения, которые будут использоваться в этой и последующих главах.

Эксперименты в машинном обучении

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

Эпилог: что дальше?

Вот мы и подошли к концу нашего путешествия, посвященного «извлечению смысла из данных». Мы видели, как машинное обучение позволяет строить по признакам модели для решения различных задач, касающихся данных. Мы видели, что модели бывают прогностическими и дескриптивными; что обучение может быть с учителем и без него; что есть модели логические, геометрические и вероятностные, а также ансамбли таких моделей. Я вооружил вас базовыми знаниями, необходимыми для чтения литературы, и теперь перед вами открыт целый мир, ожидающий исследования. Поэтому будет уместно с моей стороны упомянуть о некоторых областях, которые вы, возможно, захотите изучить далее.

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

Читать еще:  Обучение питону с нуля

Федеральное государственное бюджетное учреждение науки
Институт океанологии им. П.П. Ширшова
Российской академии наук

Машинное обучение для решения исследовательских и инженерных задач в науках о Земле

преподаватель: Криницкий Михаил Алексеевич, кандидат технических наук

Сформировать базовые знания о математических основах и общих принципах современных методов машинного обучения в применении к задачам наук о Земле; разобрать общепринятые методики применения методов машинного обучения.

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

Содержание курса, структурированное по темам (разделам)

  1. Введение
    • Машинное обучение и искусственный интеллект. Исторический обзор, начальные определения, взаимосвязь понятий. Обзор языков программирования и инструментов для проведения исследований с применением методом машинного обучения.
    • Обзор современных приложений в академической науке и в технике.
    • Машинное обучение как способ выявления неявных закономерностей в данных.
    • Машинное обучение как способ решения задач на основе натурных данных.
    • Машинное обучение как способ аппроксимации распределения данных.
  2. Классификация задач и методов машинного обучения
    • Типы задач машинного обучения: «обучение с учителем», «обучение без учителя», «обучение с частичным привлечением учителя» и др. Задачи классификации и регрессии. Примеры в задачах наук о Земле.
    • Краткий обзор методов обучения «с учителем». Линейная регрессия, логистическая регрессия, наивный байесовский классификатор, метод Kближайших соседей, решающие деревья, композиционные методы, метод опорных векторов, искусственные нейронные сети. Примеры в задачах наук о Земле.
    • Краткий обзор методов обучения «без учителя». Метод главных компонент и другие методы сокращения размерности. Методы кластеризации: метод К средних; метод моделирования гауссовой смеси; агломеративная и дивизивная иерархическая кластеризация; DBSCAN и HDBSCAN. Методы обнаружения аномалий. Нейросетевые автокодировщики. Генеративные состязательные сети. Примеры в задачах наук о Земле.
  3. Технические средства анализа данных
    • Python как язык программирования для анализа данных. Динамическая типизация и полная интроспекция. Парадигмы программирования, реализованные в Python. Особенности многопотоковой обработки данных. Библиотеки обработки данных и библиотеки визуализации данных. Специальные библиотеки для задач наук о Земле Basemap и NetCDF4. Библиотека анализа двумерных данных OpenCV.
    • Инструментарий для обработки, визуализации и анализа данных с использованием Python.
    • Интерактивная среда разработки JetBrainsPyCharm. Клиент-серверная интерактивная cреда исполнения кода и визуализации Jupyter. Особенности исполнения программ в среде Jupyter. Построение документов в среде Jupyter с применением разметки и LaTeX.
  4. Линейная регрессия и принципы машинного обучения
    • Вероятностная постановка задачи обучения по прецедентам. Статистические основы модели линейной регрессии. Варианты решения задачи линейной регрессии. Ограничения линейной регрессии. Проблема мультиколлинеарности признаков. Генерация и отбор признаков, спрямляющие пространства. Однослойный перцептрон.
    • Принципы машинного обучения в примерах. Принцип близости похожих событий в пространстве представлений. Принцип оптимизации функционала потерь. Регуляризация моделей. Разделимость и отделимость событий в задачах классификации. Интерпретируемость моделей машинного обучения. Принцип композиции алгоритмов.
  5. Общая схема решения задач машинного обучения
    • Определение типа задачи и постановка задачи. Исследование или/и формирование массива исходных данных, визуализация данных. Адаптация алгоритмов машинного обучения и алгоритмов их настройки под сформулированную задачу. Предобработка данных для выбранных алгоритмов. Оптимизация (обучение) моделей. Оценка качества и оптимизация гиперпараметров. Применение модели и построение выводов по результатам.
  6. Задачи классификации и логистическая регрессия
    • Примеры задач классификации в науках о Земле. Статистические основы модели логистической регрессии. Формулировка модели логистической регрессии и логистическая функция ошибки. Обучение модели логистической регрессии. Ограничения логистической регрессии. Проблема мультиколлинеарности признаков, генерация и отбор признаков, спрямляющие пространства. Однослойный перцептрон с произвольной функцией активации. Виды функции активации.
  7. Оптимизация моделей машинного обучения и настройка гиперпараметров
    • Формулировка задачи оптимизации. Примеры оптимизационных задач. Задача выпуклого программирования. Общая задача нелинейного программирования. Понятие ландшафта функции потерь. Проблемы невыпуклого ландшафта функции потерь и методы оптимизации, решающие эту проблему. Градиентные методы оптимизации первого и второго порядка. Модификации градиентных методов оптимизации первого порядка.
    • Явление переобучения и недообучения моделей. Понятие VC-размерности, сложность модели. Баланс между смещением и разбросом. Настройка гиперпараметров модели. Подход скользящего контроля. Стратегии скользящего контроля.
  8. Метод опорных векторов
    • Линейно разделимая выборка и разделяющая гиперплоскость. Геометрическая интерпретация задачи. Модель линейного метода опорных векторов. Функция потерь метода опорных векторов. Варианты оптимизация моделей в методе опорных векторов. Проблема неразделимости выборки. Ядра и спрямляющие пространства. Примеры ядер. Метод опорных векторов как двуслойный перцептрон.
    • Метод опорных векторов в задачах восстановления регрессии.
  9. Деревья решений.
    • Взаимная информация, информационная энтропия, кросс-энтропия, дивергенция Кульбака-Лейблера и принцип оптимизации правдоподобия. Метод наименьших квадратов в задачах линейной регрессии как частный случай принципа максимизации правдоподобия.
    • Алгоритмы построения решающих деревьев ID3 и С4.5. Решающие деревья в задачах классификации и восстановления регрессии.
  10. Композиции и ансамбли
    • Комитеты и композиции алгоритмов. Бутстрэп и бэггинг. Случайные леса.
    • Градиентные метаалгоритмы. Бустинг над произвольным семейством алгоритмов. AdaBoost. XGBoost, LightGBM и CatBoostв задачах классификации и регрессии.
  11. Искусственные нейронные сети
    • Исторический обзор развития искусственного интеллекта. «Восходящее» и «нисходящее» направления. Коннективизм и принцип ассоциативности.
    • Перцептрон. Варианты однослойного перцептрона. Способы обучения перцептрона. Искусственная нейронная сеть как универсальный аппроксиматор. Многослойный перцептрон.
    • Алгоритмы обучения ИНС. Алгоритм обратного распространения ошибки. Ландшафт функции потерь. Сходимость обучения ИНС. Регуляризации и эвристики оптимизации ИНС. Пакетная нормализация. Прореживание.
    • Переобучение, недообучение и обобщающая способность ИНС.
  12. Технические средства конструирования и обучения ИНС
    • Обзор средств и библиотек для программной реализации искусственных нейронных сетей. Numpy, Keras, Tensorflow, Theano, PyTorch.
    • Реализация многослойного перцептрона и процедуры оптимизации. Особенности вычислений на графических сопроцессорах. Организация порождения обучающих данных и цепи вычислений процесса оптимизации ИНС.
  13. Сверточные нейронные сети
    • Краткий исторический обзор. Когнитрон и неокогнитрон, LeNet и более поздние архитектуры. Характерные задачи, решаемые СНС.
    • Принцип локальности признаков. Принцип оценки корреляции с шаблоном. Принцип общих параметров. Математические основы сверточных нейронных сетей. Обратное распространение градиента функции потерь. Рецептивное поле. Субдискретизация. Соединения быстрого доступа.
    • Свойства СНС.
    • Виды задач, решаемые с применением ИНС и СНС. Современные архитектуры СНС.
  14. Рекуррентные нейронные сети
    • Краткий исторический обзор. Принцип локальности признаков. Кодирование последовательностей. One-hot, Word2Vec, GloVe, fastText.
    • Рекуррентные нейронные сети: основные принципы. LSTM, двунаправленный LSTM, GRU.
    • Типы задач, решаемые РНС. Классификация и регрессия, порождение последовательности на базе последовательности.
  15. Задачи типа «обучение без учителя»
    • Задача сокращения размерности. Метод главных компонент. t-SNE. Самообучающиеся карты Кохонена. Нейросетевой автокодировщик и его разновидности.
    • Задача кластеризации. Постановка задачи. Мера близости событий и проклятие размерности в задачах кластеризации.
    • Виды алгоритмов кластеризации. Графовые и эвристические алгоритмы. DBSCAN и HDBSCAN. Статистические алгоритмы. Метод разделения гауссовой смеси, метод K средних. Иерархические алгоритмы. Метод Ланса-Уильямса. Вариации метода Ланса-Уильямса. Свойства иерархических алгоритмов.
    • Нейросетевые генеративные модели. Принцип и статистические основы генеративных состязательных сетей. DCGAN, LSGAN, WGAN.
  • Флах П.«Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных.» / Флах П. М.: ДМК Пресс, 2015. 400 c.
  • Гудфеллоу Я., Бенджио И., Курвилль А. «Глубокое обучение.» / М.: ДМК Пресс, 2017. 652 c.
  • Николенко С. И., Кадурин А. А., Архангельская Е. О.«Глубокое обучение.» / СПб.: Питер. 2019. 480 с.

Учебно-методические материалы для самостоятельной работы

  • Воронцов К.В.«Математические методы обучения по прецедентам. Теория обучения машин.» (курс лекций).
  • Местецкий Л.М.«Математические методы распознавания образов. Курс лекций».
  • Hastie T., Tibshirani R., Friedman J.«The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition» / T. Hastie, R. Tibshirani, J. Friedman, 2-е изд., New York: Springer-Verlag, 2009.
  • Bishop C. «Pattern Recognition and Machine Learning» / C. Bishop, New York: Springer-Verlag, 2006.

Перечень ресурсов, необходимых для освоения дисциплины

  • http://lib.mipt.ru/ – электронная библиотека Физтеха
  • http://benran.ru – библиотека по естественным наукам Российской академии наук
  • http://ml4es.ru — веб-сайт автора курса, посвященный этому курсу

Необходимое программное обеспечение

  • Интерактивная среда разработки программ PyCharm(производитель JetBrains, версия classroom)
  • Язык программирования Python 3, клиент-серверная среда исполнения кода Jupyter
Ссылка на основную публикацию
Adblock
detector