В мире компьютеров программирование и отдача инструкций — обычное дело. Вы когда-нибудь задумывались над тем, могут ли компьютеры извлечь выгоду из этого богатства знаний? Мы все знаем, что память компьютера имеет ограниченный срок службы и рано или поздно заканчивается, поэтому само собой разумеется, что все мы храним все в виде файла или объекта в постоянном хранилище. Утверждение, что компьютеры учатся на ранее полученных данных, широко распространено в области машинного обучения (МО), но правда ли это? В этой статье давайте проведем расследование, ответив на ряд вопросов.
Что и откуда берутся данные?
Данные — это не что иное, как часть записанной информации / наблюдения во время выполнения задачи.
В корпусе данных данные часто представляют собой то, что захвачено с конечной точки пользователя, и часто содержат ряд признаков, функций или зависимых факторов, которые помогают прогнозировать или пытаться предвидеть один выход или независимую переменную. Его можно собирать на основе поведения пользователей на веб-сайтах, данных о платежных транзакциях, данных IoT, смарт-часов, мобильных телефонов и многих других источников. Но помогают ли такие записанные необработанные данные программе учиться? Простой ответ — НЕТ, поэтому мы используем преобразование данных. Но можно ли каждое наблюдение использовать для обучения модели обучения с учителем даже после преобразования?
Что такое контролируемое обучение?
Обучение с учителем (SL) — это задача машинного обучения для изучения функции, которая сопоставляет входные данные с выходными на основе примеров пар вход-выход. [1] Она выводит функцию из обучающие данные, состоящие из набора обучающих примеров. В обучении с учителем каждый пример представляет собой пару, состоящую из входного объекта (обычно вектора) и требуемого выходного значения (также называемого контрольным сигналом).
Проще говоря, Одним из типов машинного обучения является обучение с учителем, которое включает в себя маркировку данных (например, данных, включающих как функции, так и прогнозируемые результаты) и использование этих данных для обучения алгоритма.
For example: | x | y | sum | --------------- | 2 | 3 | 5 | | 4 | 1 | 5 | | 18 | 14 | 32 | Labelled data looks similar to this where, x,y --> features sum --> output label / predictable feature
Проявляет ли каждая контролируемая обучающая проблема последовательное поведение?
Хотя данные, используемые в обучении с учителем, никогда не бывают согласованными и могут быть либо дискретными/категориальными, либо непрерывными/числовыми в зависимости от ситуации, они используются для обнаружения правил или изучения взаимосвязи между характеристиками/атрибутами и предполагаемым результатом. Алгоритмы классификации (которые сортируют объекты по классам или категориям) и алгоритмы регрессии (которые прогнозируют реальные значения) — это две категории, по которым классифицируется контролируемое обучение, и список этих методов длинный. Так как же выбрать подходящий алгоритм в нужное время? Я лично использую шпаргалку по выбору модели Scikit-Learn в качестве эмпирического правила.
Однако не считайте это единственным вариантом; это может пригодиться, если у вас возникнут проблемы при выборе алгоритма. Однако вы всегда можете поэкспериментировать с другими методами методом проб и ошибок, к которому вы привыкнете по мере продвижения в выполнении побочных проектов с использованием определенных наборов данных с открытым исходным кодом.
Практическое время:
Давайте рассмотрим пример категоризации (классификации) в этом упражнении, которое подпадает под определение контролируемого обучения. Но сначала нам нужно ознакомиться с некоторыми популярными жаргонами машинного обучения.
- Набор данных.Набор данных — это группа взаимосвязанных отдельных фрагментов связанных данных, которые можно просматривать по отдельности, вместе или обрабатывать как единое целое. Каждый набор данных включает функции (надежные характеристики, которые помогают в прогнозировании цели), цель (ненадежная переменная, которую можно предсказать по функциям).
- Модель: программа/алгоритм, которые можно обучить распознавать шаблоны в данных и предсказывать желаемые значения.
- Разделение обучения, тестирования и проверки. Каждая задача машинного обучения включает разделение набора данных на обучение, тестирование и проверку. Напротив, данные проверки — это тип моделирования в реальном времени, когда мы пытаемся смоделировать данные, подобные производственным, чтобы проверить, насколько хорошо наша модель работает в средах, подобных производственным. Тестовые данные — это данные, которые мы используем для проверки нашей обученной модели, чтобы увидеть, насколько она работает с аналогичными данными, которых она раньше не видела, тогда как обучающие данные — это данные, которые алгоритм изучает во время обучения и возвращает нам модель.
- Метрики.Метрики — это механизм, с помощью которого мы оцениваем эффективность нашей модели с точки зрения числовых значений. В нашем практическом примере мы использовали матрицу путаницы как одну из метрик, о которой вы можете узнать здесь.
Заключение:
И наконец, развитие отрасли в области машинного обучения и искусственного интеллекта сделало довольно резкий поворот. Обучение с учителем, которое является началом карьеры для многих инженеров машинного обучения и специалистов по данным, тем не менее, заняло свою позицию на рынке. На мой взгляд, это похоже на то, как мы учимся и выносим суждения, когда не уверены в результатах. Я надеюсь, что вы полностью поняли идею, и с нетерпением жду вашего ответа.