Вы когда-нибудь встречали робота с искусственным интеллектом Софию? Или провели чат с Кортаной и Сири? Вы когда-нибудь замечали, что после посещения определенных веб-сайтов или отправки текстовых сообщений об определенном продукте вы начинаете получать больше рекламы о нем в Google? Все они являются примерами приложений машинного обучения. Так что же такое машинное обучение и как оно работает? Каковы его виды? Как и где учиться, самое главное, каковы предпосылки для его изучения.
Если это то, о чем вы задаетесь вопросом, то вы находитесь в правильном месте, поэтому давайте углубимся в это.
Что вообще такое машинное обучение?
Машинное обучение — это подкатегория искусственного интеллекта, которая фокусируется, как следует из названия, на «обучении» машины для выполнения задач. Вы вводите данные в модель, а затем получаете результат на основе этого. (Как новичок, вы можете выбирать данные из доступных в Интернете наборов данных для практики, их использование избавит вас от необходимости создавать данные для ввода.)
Обратите внимание, что модели используют множество данных для эффективной работы, небольшое количество данных вызовет у вас ошибки. (Запутался? Не волнуйтесь, я уточню позже.)
Помните, что глубокое обучение, машинное обучение и искусственный интеллект не следует путать. Глубокое обучение — это подветвь машинного обучения, которая, в свою очередь, как указано выше, является подветвью искусственного интеллекта.
Некоторые технические концепции
DataSet: данные, с которыми вы будете работать для обучения модели машинного обучения.
Модель: машинное обучение использует модели, которые являются «инструментами», которые вы обучаете в соответствии с желаемым приложением.
Набор данных для обучения и тестирования. Чтобы проверить эффективность вашей модели машинного обучения, вы разделяете набор данных на две категории, а именно наборы данных для обучения и тестирования, первый — это набор данных, который вы используете для обучения своей модели, а второй — для проверки точности. обученной модели
Обученная модель: это просто модель машинного обучения после ее обучения.
Обучение: обучение модели с использованием примерной матрицы целевой переменной для прогнозирования.
Прогнозирование: прогнозирование значения целевой переменной на основе выборочных данных, используемых для обучения.
Образец матрицы: матрица, содержащая (n_samples,n_features)
n_sample и n_features: первые — это строки во фрейме данных, а затем — столбцы или любые атрибуты, которые вы предоставляете для определенного рассматриваемого объекта, — это ваши функции и экземпляры, а образцы значений для этих функций — это ваши образцы.
Целевая переменная: это переменная или массив, для которых вы собираетесь обучать модель машинного обучения, а затем прогнозировать значения этой переменной. или Переменная, которую вы хотите предсказать.
Процедура
Процедура состоит из четырех шагов
- Извлечение данных
- Предварительная обработка данных
- Обучение модели машинного обучения
- Проверка модели машинного обучения
Извлечение данных
Как учащийся, вы можете создать набор данных для себя или получить его в Интернете. Поскольку модели машинного обучения требуют большого количества данных для обучения, чем больше данных, тем точнее результаты, получение наборов данных в Интернете является разумным выбором, потому что создание одного из них оказалось бы беспокойным и затратным по времени. Вот некоторые из поставщиков онлайн-данных, где они доступны на законных основаниях:
- Наборы данных Kaggle
- Наборы данных Amazon AWS
- Список наборов данных машинного обучения в Википедии
- Quora.com вопрос
- Субреддит наборов данных
- http://dataportals.org/
- http://opendatamonitor.eu/
- http://quandl.com/
Предварительная обработка данных
Данные НЕ всегда присутствуют в желаемой форме, то есть готовы к использованию. Таким образом, данные должны быть преобразованы в желаемую форму перед подачей в модель, и это то, что вы называете предварительной обработкой. К факторам, которые делают данные непригодными для обучения, относятся выбросы, данные, распределенные ненормально, отсутствующие значения или данные в виде текста или изображений, поскольку модели машинного обучения понимают только числа.
Для этих и других целей данные необходимо очищать, также обратите внимание, что модели не принимают фреймы данных, вместо этого вы должны преобразовать их в массивы.
Обучение модели машинного обучения
Это делается с помощью различных типов моделей машинного обучения, в зависимости от задачи, которую вы должны выполнить, вы можете выбрать нужную модель. типы этих моделей подробно обсуждаются в следующем разделе.
Проверка модели машинного обучения
Это тестирование модели, проверка на наличие ошибок и их удаление перед запуском.
Типы машинного обучения
Существует три основных категории классификации типов машинного обучения, которые далее делятся на подкатегории:
- Основано на контроле человека (контролируемое, неконтролируемое, обучение с подкреплением)
- Способность к постепенному обучению (онлайн, пакетное обучение)
- Работайте с известными точками данных или прогнозируйте (обучение на основе экземпляров или моделей)
Здесь мы обсудим в основном обучение с учителем, а также объясним, что такое типы обучения без учителя и подкрепления.
Контролируемое обучение
В этом типе машинного обучения присутствует надзор человека. Желаемые столбцы или функции помечены для экземпляров или образцов. На основе предыдущей статистики прогнозируются новые значения. Примером могут служить секторы маркетинга и продаж. Где посещающие клиенты генерируют полезные данные для анализа и прогнозирования.
Основные виды контролируемого обучения
- Классификация
- Регрессия
При классификации модель машинного обучения сопоставляет новые данные с классами на основе предоставленных ей помеченных классов.
Модели, используемые для классификации
- Деревья решений
- Наивная байесовская классификация
- Машины опорных векторов (SVM)
В случае регрессии на основе помеченных наборов данных модель прогнозирует непрерывный результат.
Модели, используемые для регрессии
- Линейная регрессия
- Логистическая регрессия
Неконтролируемое обучение
Обучающие данные не помечены, модель должна определить и классифицировать или сгруппировать экземпляры одного типа. Например, то, что делает программное обеспечение для распознавания речи, группирует каждый тип голоса и помечает их как человека 1 или человека 2 в зависимости от того, как они требуются или проинструктированы.
Алгоритмы обучения без учителя:
- Кластеризация
- Визуализация и уменьшение размерности
- Изучение правила ассоциации
Обучение с подкреплением
Агент (наша модель в этом контексте) наблюдает за окружением, затем принимает решения и выполняет действия, получает вознаграждение или налагается штраф в зависимости от хорошей или плохой работы, да, вы правы, мы относимся к модели как к домашней собаке.
Программное обеспечение и библиотеки
Машинное обучение использует Python в качестве языка, а основные библиотеки включают в себя:
Руководство по обучению
В этом разделе рассказывается, как и где изучать машинное обучение. Начать машинное обучение просто, вам просто нужно знать правильные шаги, которые нужно выполнить, вы можете выполнить эти шаги на основе предоставленных здесь ресурсов, они информативны и интересны. В Интернете доступно несколько ресурсов, которые я перечислю ниже.
- Scikit-Learn предоставляет руководство пользователя и учебные пособия. Нажмите на название, чтобы посетить веб-сайт.
- Датаквест
- Каггл
- Практическое машинное обучение с помощью Scikit Learn и TensorFlow от Aurelien Geron (доступно на pdfdrive.com)
Есть много других учебных пособий и курсов, доступных онлайн на таких платформах, как Coursera и Youtube, а также вы можете посетить Edureka, которая также предоставляет курсы по этой теме.
Предпосылки
Для начала работы с машинным обучением требуются предварительные знания по определенным предметам, таким как базовая математика в колледже и программирование на Python, а также некоторые его библиотеки.
Основные математические предметы, которые вам необходимо хорошо понимать:
- Исчисление
- Линейная алгебра
- Вероятность
- Статистика
Библиотеки Python для знакомства с:
- Нампи
- Матплотлиб
- Панды
- Сципи
- Сиборн
Первые три являются обязательными, однако последние два не так уж необходимы, Seaborn тоже, как и Matplotlib, представляет собой библиотеку для визуализации данных и гораздо более продвинутую, но знание только Matplotlib подойдет вам как новичку.
Последнее, но немаловажное
Мы надеемся, что вы найдете приведенную выше информацию полезной, не стесняйтесь комментировать в случае вопросов, они будут подтверждены. Удачного машинного обучения.