Openbravo-rus.ru

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

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

Я хочу изучать AI и машинное обучение. С чего мне начать?

Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать.

Я начал изучать машинное обучение (ML) и искусственный интеллект (AI), потому что на этом поприще творятся невероятные вещи. К тому же, эта область активно развивается.

Например, такое ощущение, что Google или Facebook каждую неделю выпускают новую технологию AI, чтобы ускорить работу или улучшить наш с вами пользовательский опыт.

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

Несмотря на все вышеперечисленное, до сих пор не существует согласованного понятия искусственного интеллекта (AI).

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

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

С чего я начал?

Начнем с того, что, какое-то время назад, я и мои друзья запустили веб-стартап. Он провалился. В итоге мы сдались и не стали продолжать из-за бессмысленности идеи. Но во время работы над стартапом, я все больше и больше узнавал о таких вещах, как ML и AI.

Я не мог поверить в то, что компьютер может что-то учить для меня.

Через какое-то время я наткнулся на курс от Udacity под названием Deep Learning Nanodegree. На одном из промо-роликов я увидел забавного человека по имени Сирадж Раваль. Он заразил меня своей энергией и я записался на курс, несмотря на то, что совсем не отвечал основным требованиям (я ни разу не писал на Python).

За 3 недели до начала курса, я написал в Службу Поддержки Udacity, с вопросом об их политике возврата средств. Я боялся, что не смогу закончить курс.

Что же, мне не потребовался возврат, так как я закончил курс в установленный срок. Было действительно тяжело. Мои первые проекты были сданы с опозданием на четыре дня. Я шел вперед только из-за гордости от принятия участия в данном проекте.

Окончив Deep Learning Nanodegree, я гарантированно получал доступ к другим курсам Udacity, таким как AI Nanodegree, Self-Driving Car Nanodegree или Robotics Nanodegree.

Но я был растерян. Что делать дальше?

Мне нужен был учебный план. Я получил необходимые базовые знания с помощью Deep Learning Nanodegree, теперь пришло время выяснить, куда двигаться дальше.

Моя собственноручно созданная степень магистра по AI

В мои планы точно не входило возвращаться в университет. К тому же $100,000 на дороге не валяются, чтобы получить степень магистра.

Поэтому я сделал то, что сделал в самом начале своего пути — попросил своего наставника Google о помощи.

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

Просмотрев кучу курсов, я составил список самых интересных в Trello.

Я знал, что онлайн-курсы имеют высокий процент отсева, но я не собирался становиться частью этих отсеявшихся участников. У меня была миссия.

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

Я сделал доску Trello открытой и написал о своих начинаниях в блоге.

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

Получение работы

Я следовал своему учебному плану вот уже более года, настало время на практике применить свои навыки. Поэтому я купил билет на самолет в один конец в США.

Мой план заключался в том, чтобы добраться до США и получить работу.

Однажды, девушка по имени Эшли написала мне на LinkedIn вот такое письмо: “Я видела твои посты и они на самом деле отличные, я думаю, тебе стоит встретиться с Майком”.

Я встретился с Майком и рассказал ему свою историю онлайн-обучения, о том как мне нравится Health Tech и о своих планах по переезду в США. Майк сказал мне: “Тебе лучше остаться тут на год или дольше, и посмотреть, что из этого выйдет. Кроме того, советую тебе встретиться с Кэмероном”.

Я встретился с Кэмероном и у нас был практически такой же диалог, что и с Майком. Health Tech, онлайн-обучение, США. Кэмерон сказал мне: “Мы с командой работаем над некоторыми проблемами в области здравоохранения, почему бы тебе не прийти к нам в четверг?”.

Настал четверг. Мои нервы были на пределе. Чтобы успокоиться, я вспомнил слова какого-то мудрого человека: нервное состояние — это то же самое, что и воодушевленное. Я перестал нервничать и переключился на нужное, в данной ситуации, состояние.

Весь день я знакомился с командой Max Kelsen.

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

“Ты хотел бы присоединиться к команде?” — спросил меня Ник.

“Конечно” — ответил я.

Билет в США мне не понадобился.

Делитесь своей работой

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

Никакой степени у меня, естественно, не было. Но у меня были навыки, которые я получил, благодаря множеству онлайн-курсов.

Во время обучения, я делился своей работой в Интернете. Мой GitHub был заполнен проектами, которые я сделал, профиль на LinkedIn я забросил и стал делиться своими знаниями через YouTube и статьи на Medium.

Я никогда не писал резюме для Max Kelsen, потому что они и так уже все про меня знали из моего профиля на LinkedIn.

Моя публичная деятельность и была моим резюме.

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

Да, навыки по ML и AI востребованы, но это не значит, что вам ничего не придется делать, чтобы получить работу. Продемонстрировать навыки придется, потому что даже гениальный продукт не будет продаваться, если его не поместить на видное место.

Создайте себе профиль на GitHub, Kaggle, LinkedIn или просто заведите блог — люди должны о вас как-то узнать. Кроме того, иметь собственный уголок в Интернете — очень весело.

Как начать?

На каких платформах учиться? Какие курсы лучше выбрать?

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

Важнее не то, как начать, а почему вы это начинаете.

Начните с определения причины.

  • Почему вы хотите изучать эти навыки?
  • Вы хотите много зарабатывать?
  • Вы хотите создавать что-то интересное?
  • Вы хотите что-то изменить в нашем мире?

Опять же, нет единственно верной причины. Все они верны по-своему.

Наличие “почему” означает, что в трудные времена у вас будет к чему обратиться за помощью, чтобы напомнить себе, почему вы все это затеяли.

Определили свое “почему”? Хорошо. Пришло время перейти к самой трудной части.

Читать еще:  Книги машинное обучение

Я могу рекомендовать только то, что сам пробовал.

Вот курсы, которые я окончил (по порядку):

  • Treehouse — Введение в Python
  • Udacity —Глубокое обучение и AI
  • Coursera — Глубокое обучение от Andrew Ng
  • fast.ai — Часть 1, скоро будет Часть 2

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

Если вы абсолютный новичок, начните с вводных курсов по Python, а затем, когда станете более уверены в своих знаниях, переходите к data science, машинному обучению и AI.

Нужны ли углубленные знания по математике?

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

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

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

Такие библиотеки, как TensorFlow и PyTorch позволяют создавать, при небольшом знании Python, современные модели, в то время как математика делает основную работу за кулисами.

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

Лично я не собираюсь углубляться в математику и улучшать производительность алгоритма на 10%. Оставлю это людям, которые умнее меня.

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

Что на самом деле делает специалист по машинному обучению?

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

Например, несмотря на распространенный факт, мы не работаем с роботами, у которых красные и страшные глаза.

Вот несколько вопросов, которые ежедневно задает себе специалист по ML:

  • Концепция — как можно использовать ML, чтобы узнать больше о проблеме?
  • Данные —сколько данных вам требуется? В каком формате они должны быть? Что вы делаете, когда данные отсутствуют?
  • Моделирование — какую модель следует использовать? Хорошо ли она работает с данными (переобучение)? Если работает плохо, то почему?
  • Производство — как вы можете использовать свою модель в производстве? Должна ли это быть онлайн-модель или она должна обновляться через определенные промежутки времени?
  • Будущее — что произойдет, если ваша модель сломается? Можно ли улучшить ее с большим количеством данных?

Я позаимствовал эти вопросы из замечательной статьи Рейчел Томас, одной из основательниц fast.ai.

Кроме того, я снял видео о том, чем мы занимаемся по понедельникам в Max Kelsen.

Нет однозначно верного пути

Не существует правильного или неправильного способа попасть в сферу ML или AI.

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

Вы можете начать с изучения Python.

Вы можете начать с изучения исчисления и статистики.

Вы можете начать с изучения философии принятия решений.

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

Чем больше я узнаю, тем больше еще остается узнать. И это подстегивает меня двигаться вперед.

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

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

Компьютеры умны, но они все еще не могут учиться самостоятельно. Им нужна ваша помощь.

Руководство по машинному обучению для новичков

Простое объяснение с примерами из математики, программирования и реальной жизни.

Для кого это руководство?

  • Для технических специалистов, которые хотят повторить основы машинного обучения.
  • Для тех, кто не смыслит в технике, но хочет ознакомиться с машинным обучением и не знает, с чего начать.
  • Для тех, кто считает, что машинное обучение “тяжело” освоить.

Почему именно машинное обучение?

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

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

Подготовка к изучению машинного обучения

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

  • Углубленные знания начального уровня алгебры: Вы должны разбираться в таких понятиях, как переменные, коэффициенты, линейные уравнения, исчисления, а также графики.
  • Владение основами программирования, а также опыт написания кода на Python: Опыт в машинном обучении не требуется, однако вы должны уметь читать и писать код Python с базовыми конструкциями, такими как определения функций, списки, словари, циклы и условные выражения.
  • Базовые знания следующих библиотек Python:
  1. NumPy
  2. Pandas
  3. SciKit-Learn
  4. SciPy
  5. Matplotlib (и/или Seaborn)

Семантическое дерево:

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

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

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

Артур Сэмюэл описывает машинное обучение как: “Область науки, благодаря которой компьютеры могут обучаться без явного программирования.” Это старое и неформальное определение, которое на данный момент почти потеряло смысл.

Том Митчелл дает более современное определение: “Компьютерная программа обучается на основе опыта E по отношению к некоторому классу задач T и меры качества P, если качество решения задач из T, измеренное на основе P, улучшается с приобретением опыта E.”

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

Алгоритмы машинного обучения относятся к следующим категориям: обучение с учителем (Supervised Learning), обучение без учителя (Unsupervised Learning) и обучение с подкреплением (Reinforcement Learning).

  • Supervised Learning: Алгоритм обучения с учителем принимает маркированные данные и создает модель, которая выполняет предсказания, предоставляя новые данные. Это могут быть как задачи классификации, так и задачи регрессии.
  • Unsupervised Learning: Приобучении без учителя предоставляются непомеченные и неклассифицированные данные, в которых нужно найти закономерности и создать структуру данных для получения значения. Формы обучения без учителя: кластеризация (clustering) и уменьшение размерности (dimensionality reduction).
  • Reinforcement Learning: Обучение с подкреплением использует систему поощрений и метод проб и ошибок в целях максимизации долгосрочного поощрения.

Roadmap для начала изучения машинного обучения:

  1. Начать стоит с изучения/повторения линейной алгебры. MIT предоставляет отличный open course по линейной алгебре, с помощью которого можно ознакомиться с ключевыми концепциями. Особое внимание следует уделить изучению векторов, умножению матриц, детерминантам и спектральному разложению матрицы — они играют важную роль в работе алгоритмов машинного обучения.
  2. Затем уделите внимание высшей математике. Изучите производные и способы их использования для оптимизации. Обязательно разберите все темы в Single Variable Calculus и (как минимум) первые два раздела Multivariable Calculus.
  3. Изучите библиотеки Python, используемые в машинном обучении, такие как Numpy, Pandas, Matplotlib и SKLearn. Разобраться в машинном обучении без этих ‘инструментов’ будет довольно сложно.
  4. Начните программировать! Советую реализовать все алгоритмы из scratch вPython, прежде чем использовать готовые модели в SciKit — Learn, чтобы разобраться, как все это работает. Я делал алгоритмы в следующем порядке по возрастанию сложности:
  • Линейная регрессия (Linear Regression)
  • Логистическая регрессия (Logistic Regression)
  • Наивный байесовский классификатор (Naive Bayes Classifier)
  • Метод k-ближайших соседей (K — Nearest Neighbors — KNN)
  • Метод k-средних (K — Means)
  • Метод опорных векторов (Support Vector Machine — SVM)
  • Дерево принятия решений (Decision Trees)
  • Random Forests
  • Gradient Boosting
Читать еще:  Эксель программа обучение бесплатно

Roadmap для реализации алгоритма:

  1. Соберите данные для работы. В интернете доступны миллионы наборов данных, удовлетворяющих даже самым причудливым потребностям. Kaggle и UCI— отличные ресурсы для просмотра наборов данных. Вы также можете сгенерировать собственные данные.
  2. Выберите алгоритм(ы). После сбора данных можно начать работу над алгоритмами. На изображении показан приблизительный ориентир. (Из документации SKLearn)

На этой стадии следует пройтись по краткой теории каждого алгоритма, которые я разместил на Github с каждой реализацией.

3. Визуализируйте данные! В Python есть множество библиотек, таких как Matplotlib и Seaborn, с помощью которых можно выстроить данные в график и получить финальный результат. Таким образом, вам будет легче разобраться в данных и в том, какие действия они выполняют. (и конечно, сделать крутую модель!)

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

5. Оцените модель. БиблиотекаPython SKLearn предоставляет множество инструментов для анализа модели и проверки показателей, таких как правильность, показатель f1, точность и т. д.

Примечания:

  • Ознакомившись с несколькими алгоритмами и концепциями, попробуйте выполнить один или несколько простых и краткосрочных проектов (для начала).
  • Не бойтесь совершать ошибки. По-началу вы будете тратить большую часть времени на попытки разобраться в математике и причинах возникновения ошибок. Однако терпение — ключ к успеху.
  • Маленькие модели — основа для изучения чего-то большего. Пробуйте все подряд и тогда у вас получится создать лучшую модель.
  • Наилучший способ изучить библиотеки Python — пройти Datacamp courses или начать с изучения документации.

Все вышеописанное можно найти на Github в репозитории Machine-Learning. Все алгоритмы систематизированы, как с реализациями из scratch, так и с использованием SciKit-Learn. Также представлены используемые наборы данных и краткая теория о работе алгоритмов вместе с примерами из реальной жизни.

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

Библиотека программиста

29 записей Показать все записи

Building Machine Learning Systems with Python (2015)
Авторы: Luis Pedro Coelho, Willi Richert

Целевая аудитория: опытные программисты на Python.

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

В книге рассматриваются следующие темы:
классификация;
кластеризация;
моделирование;
регрессионный анализ;
компьютерное зрение;
большие данные и многое другое.

Преимущества:
актуальный материал по теме;
множество таблиц, графиков, иллюстраций и примеров кода.

Mastering Java Machine Learning (2017)
Авторы: Uday Kamath, Krishna Choppella

Целевая аудитория: опытные программисты на Java.

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

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

Преимущества:
актуальный материал по теме;
хороший теоретический материал.

Недостатки:
большой объём.

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

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

8 месяцев назад

На русском сайте 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
Читать еще:  Обучение agile с сертификатом

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

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

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

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

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

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

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

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

Машинное обучение на любителя:

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

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

Обработка данных и машинное обучение

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

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

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

Итеративное обучение

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

Подходы к машинному обучению

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

Контролируемое обучение

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

Неконтролируемое обучение

Неконтролируемое обучение используется, когда задача включает огромные объемы непомеченных данных. Например, все приложения социальных сетей, такие как Twitter, Instagram и Snapchat, содержат большие объемы непомеченных данных. Понимание смысла таких данных требует наличия алгоритмов для классификации данных на основе найденных закономерностей или кластеров. Неконтролируемое обучение представляет собой итеративный процесс анализа данных без участия человека. Такое обучение применяется в технологии обнаружения спама в электронной почте. Аналитику необходимо было учитывать слишком большое число переменных, для того чтобы отличить легитимное электронное сообщение от спама и пометить рекламные групповые рассылки. Вместо этого для идентификации нежелательной электронной почты применяются классификаторы машинного обучения, основанные на кластеризации и ассоциации.

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

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

Глубокое обучение

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

Большие данные в контексте машинного обучения

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

Ссылка на основную публикацию
Adblock
detector