Волна искусственного интеллекта захлестывает мир, и многие слова всегда звучат у нас в ушах: искусственный интеллект (Artificial Intelligence), машинное обучение (Machine Learning), глубокое обучение (Deep Learning). Искусственный интеллект — это цель, которую мы хотим достичь, а машинное обучение — это средство для достижения цели Я надеюсь, что благодаря обучению машина станет такой же умной, как человек. Глубокое обучение — это один из методов машинного обучения. В двух словах:Машинное обучение — это метод достижения искусственного интеллекта, а глубокое обучение — это технология машинного обучения.
Машинное обучение может быстрее и автоматически генерировать модели для анализа больших и сложных данных с более быстрой передачей и более точными результатами — даже в очень больших масштабах. При отсутствии вмешательства человека в реальность ценные прогнозы могут привести к более правильным решениям и более информированному поведению. В этой статье в основном дается краткое введение в традиционное машинное обучение и кратко рассматриваются основные процессы машинного обучения.
1. Машинное обучение
По своей сути, машинное обучение использует алгоритмы для анализа данных, обучения на них, а затем принятия решений и прогнозов о реальных событиях. В отличие от традиционных программ, которые жестко закодированы для решения конкретных задач, машинное обучение используетмассивные данныеЧтобы «обучить», различные алгоритмы учатся на данных, как выполнять задачи.
Здесь есть три важные части информации:
- Машинное обучение — это способ моделирования, расширения и расширения человеческого интеллекта, поэтому оно является подмножеством искусственного интеллекта;
- «Машинное обучение» основано наБольшие объемы данных, то есть его «интеллект» питается большим объемом данных;
- Именно из-за огромного количества обрабатываемых данных технология больших данных особенно важна; «машинное обучение» — это лишь одно из применений технологии больших данных. 10 наиболее часто используемых алгоритмов машинного обучения:Деревья решений, случайные леса, логистическая регрессия, SVM, наивный байесовский анализ, K-ближайшие соседи, K-средние, Adaboost, нейронные сети, Марков.
2. Технологии, связанные с машинным обучением
Машинное обучение можно в основном разделить на:
- контролируемое обучение
- полуконтролируемое обучение
- неконтролируемое обучение
- обучение с подкреплением
2.1 Обучение под наблюдением
определение:В соответствии с существующим набором данных узнайте взаимосвязь между входными и выходными результатами. По этому известному соотношению путем обучения получается оптимальная модель.То есть при обучении с учителем данные обученияособенностьсноваимеет ярлык, с помощью обучения машина может сама найти связь между функцией и меткой и может оценить метку, столкнувшись с данными только с функциями и без меток.С точки зрения непрофессионала, машинное обучение можно понимать как обучение машин тому, как что-то делать.
Обучение с учителем делится на:
- Регрессия
- проблема классификации
Классические алгоритмы: машины опорных векторов, линейный дискриминант, деревья решений, наивный байесовский алгоритм.
2.1.1 Проблема регрессии
Проблемы регрессии для непрерывных переменных. Возвращаясь к простому пункту,Проанализируйте существующие точки (данные обучения) и подберите соответствующую функциональную модель., где y — метка данных, а для новой независимой переменной x метка y получается с помощью этой функциональной модели.
2.1.2 Проблема классификации
Разница между проблемой регрессии «Регрессия» и задачей классификации «Классификация» заключается в том, что типы вещей, которые мы хотим, чтобы машина выводила, различаются. В задаче регрессии машинный выход представляет собой числовое значение.В задаче классификации машинный выход представляет собой категорию.Самое большое отличие от регрессии заключается в том, чтоКлассификация для дискретных, выходРезультаты ограничены.
Существует два типа задач классификации:
- Двоичная классификация, вывод да или нет. Например, чтобы определить, является ли опухоль доброкачественной или злокачественной.
- Мультикатегория, выберите правильную категорию из нескольких вариантов. Например, введите изображение, чтобы понять, кошка это, собака или свинья.Проще говоря, классификация заключается в том, чтобы получить метку для нового вектора путем анализа входного вектора признаков.
2.2. Полуконтролируемое обучение
Традиционные методы машинного обучения делятся на две категории: обучение без учителя и обучение с учителем.
Неконтролируемое обучение использует толькоНемаркированный набор образцов, в то время как контролируемое обучение использует толькоМаркированный набор образцовучиться.
Но во многих практических задачах имеется лишь небольшое количество меченых данных, потому что стоимость маркировки данных иногда очень высока. Например, в биологии структурный анализ или функциональная идентификация определенного белка может стоить биологии многих лет. работы дома, в то время как огромное количество неразмеченных данных легко доступно. Это позволяетИспользуйте как маркированные, так и немаркированные образцыТехника полуконтролируемого обучения быстро развивалась. Короче говоря, обучение с полуучителем должно уйти.Уменьшить метку (этикетку)дозировка.
Обучение с полуучителем является индуктивным, и полученную модель можно использовать в качестве более широкой выборки.
2.3 Обучение без учителя
определение:Мы не знаем связи между данными и признаками в наборе данных, но нам нужно получить связь между данными в соответствии с кластеризацией или определенной моделью.Можно сказать, что по сравнению с обучением с учителем обучение без учителя больше похоже на самообучение, позволяющее машинам учиться делать что-то самостоятельно без ярлыков.
Неконтролируемое обучение позволяет нам решать проблемы практически без представления о том, как должны выглядеть результаты. Мы можем получить структуру из данных, не зная влияния переменных. Мы можем получить эту структуру, сгруппировав данные на основе взаимосвязей между переменными в данных. При неконтролируемом обучении нет обратной связи, основанной на прогнозируемом результате.
Классический алгоритм: алгоритм кластеризации K-средних (алгоритм K-средних), анализ главных компонент
2.4 Обучение с подкреплением
определение:Обучение с подкреплением является важной ветвью машинного обучения и является продуктом междисциплинарного и многопрофильного пересечения Суть его заключается в решении проблемы принятия решений, то есть в автоматическом принятии решений и принятии непрерывных решений.
В основном содержит четыре элемента: агент, состояние среды, действие, вознаграждение
Цель обучения с подкреплением состоит в том, чтобыПолучите самые кумулятивные награды.
Разница между обучением с подкреплением и контролируемым обучением:
- Обучение под наблюдением похоже на то, как если бы учитель объяснял, как учитель прав и неправ во время обучения, но во многих практических задачах, таких как шахматы и го, существуют десятки миллионов способов игры, невозможно иметь один. Учитель знает все возможные исходы. Тем не менее, обучение с подкреплением даст результат, если сначала попытаться создать какое-то поведение без каких-либо ярлыков и скорректировать предыдущее поведение посредством обратной связи о том, является ли результат правильным или неправильным.Благодаря этой непрерывной настройке алгоритм может узнать, какое поведение выбрать в такая ситуация даст наилучшие результаты.
- Оба метода обучения изучают отображение входных данных в выходные.Обучение с учителем изучает взаимосвязь между ними, что может сообщить алгоритму, какой тип входных данных соответствует какому виду выходных данных.Обратная связь с машиной, который используется для оценки того, является ли поведение хорошим или плохим.
- Кроме того, существует задержка в обратной связи результатов обучения с подкреплением.Иногда может потребоваться много шагов, чтобы узнать, является ли выбор предыдущего шага хорошим или плохим, а обучение с учителем делает плохой выбор и немедленно передает его алгоритму. . Более того, входные данные, с которыми сталкивается обучение с подкреплением, всегда меняются.Каждый раз, когда алгоритм выполняет действие, он влияет на входные данные следующего решения, в то время как входные данные обучения с учителем независимы и одинаково распределены.
- При обучении с подкреплением агент может найти компромисс между исследованием и эксплуатацией и выбрать тот, который принесет наибольшую награду. Исследование попробует много разных вещей, чтобы увидеть, лучше ли они, чем то, что вы пробовали раньше. Эксплуатация пробует наиболее эффективное поведение из прошлого опыта. Общие алгоритмы обучения с учителем не учитывают этот баланс.Разница между обучением с подкреплением и обучением без учителя:
Вместо того, чтобы изучать отображение от входа к выходу, неконтролируемыймодель. Например, в задаче рекомендации новостных статей пользователям неконтролируемый найдет похожие статьи, которые пользователь читал ранее, и порекомендует им одну из них. Обучение с подкреплением сначала порекомендует пользователю небольшое количество новостей,и продолжайте получать отзывы от пользователейи, наконец, построить «график знаний» из статей, которые могут понравиться пользователям.
Основные алгоритмы и классификации
С точки зрения некоторых элементов обучения с подкреплением методы в основном делятся на следующие категории:
- На основе политики основное внимание уделяется поиску оптимальной политики.
- На основе ценности основное внимание уделяется поиску оптимальной суммы вознаграждения.
- Основанный на действии, акцент делается на оптимальном действии на каждом этапе.
3. Основной процесс машинного обучения
3.1, краткое описание основного процесса
Базовый процесс машинного обучения в основном делится на пять этапов:Трансформация задач, сбор и обработка данных, обучение и настройка модели, онлайн-модель, мониторинг
-
трансформация проблемы: Превратите реальные проблемы в задачи машинного обучения.
-
Сбор и обработка данных: Собираем необходимые нам данные и выполняем очистку данных и другую работу по обработке данных.
-
Обучение и настройка модели: Выберите подходящую модель и используйте обработанные данные для обучения модели.
-
Он-лайн модель: Разверните обученную модель онлайн.
-
монитор: Отслеживайте производительность модели, получайте новые данные, затем повторно собирайте и обрабатывайте данные, а также повторно обучайте и корректируйте модель, чтобы она справлялась с новыми изменениями в поведении пользователей.
3.2 Комплексное описание основного процесса
- источник данных:
Первым шагом в машинном обучении является сбор данных, Этот шаг очень важен, потому что качество и количество собранных данных напрямую определяют, можно ли построить прогностическую модель. Мы можем дедуплицировать, стандартизировать, исправить ошибки и т. д. собранные данные и сохранить их в виде файла базы данных или файла формата csv для подготовки к следующей загрузке данных.
- анализировать:
Этот шаг в основном представляет собой обнаружение данных, таких как нахождение максимума, минимума, среднего значения, дисперсии, медианы, тертиля, квартиля и доли некоторых конкретных значений (например, нулевых значений) для каждого столбца или закона распределения и т. д. , должен иметь общее представление. Лучший способ понять это — визуализация, которую можно легко реализовать в рамках проекта Google с открытым исходным кодом. С другой стороны, для определения независимой переменнойи зависимая переменная, найти корреляцию между зависимой переменной и независимой переменной и определить коэффициент корреляции.
- Выбор функции:
Качество признаков во многом определяет эффект классификатора. Независимые переменные, определенные на предыдущем шаге, экранируются.Скрининг можно выбрать вручную или выбрать модель, выбрать соответствующие функции, а затем назвать переменные для лучшей маркировки. Именованный файл должен быть сохранен и будет использоваться на этапе прогнозирования.
- Векторизовать:
Векторизация - это повторная обработка результатов извлечения признаков. Цель состоит в том, чтобы улучшить способность представления признаков и предотвратить слишком сложную и трудную для изучения модель. Например, непрерывные значения признаков дискретизируются, значения меток сопоставляются с значения перечисления, а числа используются для их идентификации. На этом этапе будет сгенерирован очень важный файл: соответствие между меткой и значением перечисления, который также будет использоваться на этапе прогнозирования.
- Разделите набор данных:
Данные необходимо разделить на две части. Первая часть, используемая для обучения модели, будет основной частью набора данных. Вторая часть будет использоваться для оценки производительности нашей обученной модели. обычно с8:2или7:3Разделите данные. Данные обучения нельзя использовать непосредственно для оценки, поскольку модель может запоминать только «проблемы».
- тренироваться:
Прежде чем приступать к обучению модели, определите подходящий алгоритм, такой как линейная регрессия, деревья решений, случайные леса, логистическая регрессия, повышение градиента, SVM и т. д. Лучший способ выбрать алгоритм — протестировать множество различных алгоритмов, а затем выбрать лучший из них с помощью перекрестной проверки. Однако, если вы просто ищете «достаточно хороший» алгоритм для решения проблемы или отправную точку, есть несколько хороших общих рекомендаций, например, если обучающая выборка мала, то классификатор с высоким смещением/низкой дисперсией (например, наивный Байесовские) классификаторы) предпочтительнее, чем классификаторы с низким смещением/высокой дисперсией (такие как k-ближайшие соседи), потому что последние склонны к переобучению. Однако по мере роста обучающей выборки классификаторы с низким смещением/высокой дисперсией начнут выигрывать (они имеют меньшую асимптотическую ошибку), потому что классификаторов с высоким смещением недостаточно для обеспечения точной модели.
- оценивать:
После завершения обучения модель оценивается по разделенным данным обучения, а качество модели оценивается путем сравнения реальных данных и прогнозируемых данных. Показатели оценки по разным моделям задач следующие:
После завершения оценки, если мы хотим еще больше улучшить обучение, мы можем сделать это, настроив параметры модели, а затем повторив процесс обучения и оценки.
- Организация файлов:
После обучения модели необходимо отсортировать четыре типа файлов, чтобы убедиться, что модель может работать правильно.Четыре типа файлов: файл модели, файл кодировки метки, файл метаданных (алгоритм, параметры и результаты), файл переменных ( список имен независимых переменных, список имен зависимых переменных).
- Инкапсуляция интерфейса:
Инкапсулируя интерфейс службы, вызов модели реализуется для возврата результата прогнозирования.
- онлайн:
Разверните обученную модель онлайн.
Ссылка на ссылку: