Все о ML
Начните свой путь к овладению машинным обучением с помощью Python
Изучите основные требования, чтобы стать профессионалом в области машинного обучения.
Машинное обучение, глубокое обучение, наука о данных и искусственный интеллект (ИИ) - одни из самых популярных сегодня модных словечек. Популярность этих предметов растет с каждым днем. Каждый пытается запрыгнуть на ажиотажный поезд, чтобы исследовать эти области. По данным Fortune, статистика говорит о том, что набор специалистов по ИИ за последние 4 года вырос на 74%. Искусственный интеллект считается самой горячей работой нынешнего поколения. Это может вызвать у зрителей множество вопросов.
Что делает его таким популярным? И вообще, что это за поля? Что такое машинное обучение? Как мне начать? Почему питон?
Я постараюсь ответить на все эти вопросы в сегодняшней статье, подробно объясняя, как начать работу с python и машинным обучением (ML). Тогда мы поймем, как можно настроить и отточить навыки машинного обучения.
Примечание. Это будет первая часть моего курса Все о машинном обучении. Однако каждая последующая часть будет автономной. Вы можете читать серию в любом порядке, в котором вам будет удобно. Я постараюсь охватить основы и большинство алгоритмов машинного обучения в следующих статьях. Для просмотра других частей серии нажмите здесь.
Почему искусственный интеллект так популярен?
Искусственный интеллект сегодня - одна из самых быстрорастущих областей. Достижения в области искусственного интеллекта быстро развиваются. Нет недостатка в открытых вакансиях, а также в возможностях карьерного роста. Все пребывают в восторге от того, что ИИ станет следующим большим достижением. Как заявил профессор Эндрю Н.Г., одна из самых выдающихся фигур в современном искусственном интеллекте -
«Искусственный интеллект - это новое электричество».
В наши дни в области ИИ возлагается так много ожиданий из-за достижений в области технологий и обилия данных. У нас более качественные графические процессоры и лучшие технологии для вычисления сложных процессов.
Что это вообще за поля?
Искусственный интеллект - обширная область. Такие темы, как машинное обучение, наука о данных, статистика, обработка естественного языка, относятся к искусственному интеллекту. Глубокое обучение - это разновидность машинного обучения.
Искусственный интеллект - это -
«Теория и разработка компьютерных систем, способных выполнять задачи, обычно требующие человеческого интеллекта, такие как зрительное восприятие, распознавание речи, принятие решений и перевод между языками».
Чтобы узнать больше об искусственном интеллекте и его аналогии со Вселенной, вы можете перейти здесь. В этой статье мы сосредоточимся больше на машинном обучении. Я постараюсь дать более интуитивный подход к пониманию машинного обучения.
Что такое машинное обучение?
Машинное обучение - это способность программы учиться и повышать свою эффективность автоматически, не будучи явно запрограммированной на это. Это означает, что с помощью обучающего набора вы можете обучить модель машинного обучения, и она поймет, как именно работает модель. После тестирования на наборе тестов, наборе проверки или любых других невидимых данных модель по-прежнему сможет оценить конкретную задачу.
Давайте разберемся в этом на простом примере. Предположим, у нас есть набор данных из 30 000 электронных писем, из которых некоторые классифицируются как спам, а некоторые - как не спам. Модель машинного обучения будет обучена на наборе данных. После завершения процесса обучения мы можем протестировать его с помощью электронной почты, которая не была включена в наш набор обучающих данных. Модель машинного обучения может делать прогнозы на основе следующих входных данных и правильно их классифицировать, является входящее электронное письмо спамом или нет.
Существует три основных типа методов машинного обучения. Мы обсудим каждый из этих методов. Затем я приведу несколько примеров и приложений для каждого из этих методов.
1. Обучение с учителем -
Это метод обучения модели с помощью специально помеченных наборов данных. Наборы данных могут представлять собой двоичную классификацию или мультиклассовую классификацию. Эти наборы данных будут иметь помеченные данные с указанием правильных и неправильных параметров или диапазона параметров. Модель предварительно обучается под наблюдением, то есть с помощью этих помеченных данных. Это обучение можно разделить на два типа алгоритмов:
- Классификация: эти алгоритмы предпочтительны, когда у выходных данных есть выбор или определенная категория. Пример фильтрации спама в электронной почте можно рассматривать как классификационную задачу.
- Регрессия: алгоритмы предпочтительнее, когда выходная переменная имеет реальное значение. Примером этого может быть прогноз цен на жилье для определенного места.
Алгоритмы: алгоритмы регрессии (линейная регрессия), деревья решений, случайные леса и алгоритмы классификации, такие как K-ближайших соседей (KNN), машины опорных векторов (SVM), логистическая регрессия, наивный байесовский метод.
Приложения: фильтрация спама в электронной почте, классификация опухолей (доброкачественные или злокачественные), классификация отзывов пользователей на положительные или отрицательные.
2. Обучение без учителя -
Обучение без учителя - это обучение модели на немаркированном наборе данных. Это означает, что модели не предоставляется никакой предварительной информации. Он тренируется, объединяя схожие характеристики и шаблоны вместе. Примером обучения без учителя может быть категоризация собак и кошек. Предоставленные нам данные будут представлять собой немаркированный набор данных с изображениями собак и кошек. Алгоритм без учителя обнаружит сходство в образцах и группирует собак и кошек отдельно без указания типа данных. Есть два основных типа алгоритмов кластеризации:
- Кластеризация: объединение похожих объектов в группы кластеров. Пример этой группировки категорий, таких как кошки и собаки, в кластеры, как упоминалось ранее. Другой пример - определение стадий рака на основе конкретных данных.
- Ассоциация: связывание одинаковых шаблонов между 2 или более классами / пользователями. Примером этого являются системы рекомендаций, где, если конкретный человек смотрит фильм определенного жанра, пользователю даются рекомендации, основанные на том, что другие пользователи, которые смотрели тот же фильм, предпочитали смотреть. Другой пример этого - когда Amazon рекомендует покупателям, купившим конкретный товар, также предпочитать покупать другие аналогичные товары.
Алгоритмы: К-средство кластеризации, анализ главных компонентов (PCA), разложение по сингулярным значениям (SVD), иерархическая кластеризация.
Приложения: системы рекомендаций в Amazon, Netflix, YouTube и других цифровых платформах, предложения друзей на Facebook, обнаружение аномалий.
3. Обучение с подкреплением -
По данным Wiki -
Обучение с подкреплением (RL) - это область машинного обучения, связанная с тем, как программные агенты должны действовать в среде, чтобы максимизировать понятие совокупного вознаграждения. Обучение с подкреплением - это одна из трех основных парадигм машинного обучения, наряду с обучением с учителем и обучением без учителя.
Обучение с подкреплением - это своего рода пробная модель. Это метод, при котором модель учится с повторяющимися ошибками. Когда модель не достигает желаемого результата, она повторно обучается. Это может быть применено к таким концепциям, как игра в шахматы, когда после миллионов игр модель сможет выучить соответствующие шаблоны и ходы. Более простой пример - игра в крестики-нолики. Модель может выучить каждый путь к победе после нескольких сотен игр, а после того, как она будет идеально обучена, она никогда не проиграет.
Алгоритмы. Алгоритмы обучения с подкреплением на основе политик, ценностей и моделей.
Приложения. Моделирование обучения для игры в такие игры, как flappy bird, робототехника в промышленной автоматизации, управление движением, обучение с подкреплением на основе глубокого обучения.
Как мне начать?
Если вам было любопытно, как начать свой путь к машинному обучению, ответ будет довольно прост. Лучший способ начать работу с машинным обучением - это изучить и глубже изучить различные темы, связанные с машинным обучением. Важно понимать, интересует ли вас эта область и увлечена ли она ею. Машинное обучение требует навыков программирования, математических знаний и, что наиболее важно, желания и настойчивости учиться. Существует множество бесплатных и платных ресурсов, из которых вы можете получить много знаний.
Я настоятельно рекомендую зрителям посмотреть различные видеоролики о машинном обучении в Интернете на YouTube. Также отличной идеей является ознакомление с бесплатным кодом и загрузочными лагерями. Я думаю, что это отличная идея - ознакомиться с бесплатными материалами, прежде чем погружаться в платные онлайн-курсы. Как только вы обнаружите, что вам действительно нравится машинное обучение и у вас есть страстный интерес, я настоятельно рекомендую сначала изучить Python, а затем пройти курс машинного обучения Стэнфордского университета, предложенный Coursera Эндрю Н.Г. Есть множество онлайн-курсов, которые стоит посетить. Просто просмотрите курсы соответствующим образом и выберите тот, который вам больше подходит.
Почему Python?
Python - это объектно-ориентированный язык программирования высокого уровня, который был выпущен еще в 1991 году. Python хорошо интерпретируем и эффективен. Проще говоря - Python потрясающий. Изначально я начал с таких языков, как C, C ++ и Java. Когда я наконец столкнулся с python, я обнаружил, что он довольно элегантен, прост в освоении и использовании. Python - лучший способ для всех, даже для людей, не имеющих опыта программирования или программирования языков программирования, начать машинное обучение. Несмотря на некоторые недостатки, вроде того, что он считается «медленным» языком, python по-прежнему остается одним из лучших языков для искусственного интеллекта и машинного обучения.
Основные причины, по которым Python так популярен для машинного обучения, несмотря на другие языки, такие как R, следующие:
- Как упоминалось ранее, python очень прост и согласован.
- Быстрый рост популярности по сравнению с другими языками программирования.
- Обширные ресурсы по широкому спектру библиотек и фреймворков. Мы обсудим это более подробно в следующей части этой серии.
- Универсальность и независимость от платформы. Это означает, что python может импортировать важные модули, созданные на других языках программирования.
- Отличное сообщество и постоянные обновления. Сообщество python в целом заполнено замечательными людьми, и для улучшения python делаются постоянные обновления.
Чтобы начать работу с python, вы можете скачать его здесь.
Заключение:
Надеюсь, всем вам понравилось чтение. Это будет первая часть моей серии руководств Все о машинном обучении. Я планирую охватить все темы, связанные с машинным обучением. В следующей части этой серии мы рассмотрим все основы Python и его библиотек. Все это будут отдельные части, и вы сможете просмотреть их в любое время. Ознакомьтесь с будущими частями этой серии здесь. Спасибо всем за то, что продержались до конца, и желаю всем прекрасного дня.