Основы машинного обучения — некоторые основные понятия

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

предисловие

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

Содержание, представленное в этой статье, выглядит следующим образом:

  1. Основное определение машинного обучения
  2. Локальный оптимум и глобальный оптимум
  3. Взаимосвязь между машинным обучением, глубоким обучением, интеллектуальным анализом данных и большими данными
  4. Зачем использовать машинное обучение

1. Базовое определение машинного обучения

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

Для некоторого вида задачи T и показателя производительности P после улучшения компьютерной программы с помощью опыта E производительность, измеряемая показателем производительности P для задачи T, улучшается, что называется обучением.

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

Задача T, опыт E и производительность P здесь на самом деле относятся к большому количеству контента, вот краткое введение.

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

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

  • Регрессия: в этой задаче вам необходимо прогнозировать значения для заданных входных данных, например прогнозировать цены на жилье или будущие цены на ценные бумаги и т. д.;

  • Транскрипция: транскрипция некоторых относительно неструктурированных данных в дискретную текстовую форму. Например, OCR (оптическое распознавание символов), распознавание речи и т. д.;

  • Машинный перевод: преобразование последовательностей с одного языка на другой. Например, английский переводится на китайский;

  • Обнаружение аномалий: найти ненормальных или нетипичных людей;

  • устранение шума

  • и т.д

Для метрики производительности P в разных задачах используются разные метрики производительности, например:

  • Точность и частота ошибок
  • Напомним, Точность, F1
  • ОКР и АУК
  • Среднеквадратическая ошибка (MSE), среднеквадратическая ошибка (RMSE)
  • Пересечение и отношение IoU

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

2. Локальный оптимум и глобальный оптимум

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

  1. Локальный оптимум – этоНайдите минимальное значение в конечной области; а глобальный оптимум находится в пространстве значений функцииНайдите минимальное значение для всей областипроблема.
  2. Локальный минимум функции — это точка, значение функции которой меньше или равно ближайшей точке, но, возможно, больше удаленной точки.
  3. Глобальный минимум — это тот, значение функции которого меньше или равно всем допустимым точкам.

2.1 Как отличить точки локального минимума от седловых точек

Обратитесь к ответу Чжиху:

  • https://www.zhihu.com/question/358632429/answer/919562000

  • https://www.zhihu.com/question/68109802/answer/263503269

Обычно точка, в которой первая производная равна 0, называется стабильной точкой и может быть разделена на три категории:

  • локальный минимум
  • локальный максимум
  • точка перевала

Седловая точка выглядит так:

Общий способ различения седловых точек и локальной оптимальности состоит в том, чтобы использовать матрицу Гессе поверхности потерь нейронной сети и судить, вычисляя собственные значения матрицы Гессе:

  • Когда матрица ГессеСобственные значения бывают положительными и отрицательнымиПри , точка, в которой первая производная нейронной сети равна 0, естьточка перевала;
  • Когда матрица ГессеСобственные значения неотрицательныПри , точка, в которой первая производная нейронной сети равна 0, естьлокальные минимумы;
  • Когда матрица ГессеНаименьшее собственное значение меньше нуля, тогдастрогая седловая точка(включая локальные максимумы)

Согласно статье:Geometry of Neural Network Loss Surfaces via Random Matrix Theory, вы можете видеть, что распределение собственных значений матрицы Гессе нейронной сети выглядит следующим образом:

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

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

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

Разница между точкой оптимума и седловой точкой состоит в том, чтоЯвляется ли это самой низкой точкой во всех измерениях.

Пока точка с первой производной 0 является высшей точкой в ​​некотором измерении, а не самой низкой точкой, она является седловой точкой.И различие между самой высокой точкой и самой низкой точкой, конечно, с использованием второй производной, процесс изменения наклона от отрицательного к положительному, конечно, «выпуклый вниз», то есть производная наклона больше 0, то есть вторая производная больше 0. Наоборот, он «вогнут вверх», а вторая производная меньше 0.

2.2 Как не застрять в локальных минимумах или седловых точках

На самом деле нам не нужно бояться застрять в локальных минимумах по нескольким причинам:

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

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

Также, согласно ответу с https://www.zhihu.com/question/68109802:

На самом деле мы могли и не найти «локальный оптимум», не говоря уже о глобальном оптимуме;

«Локальная оптимизация - основная трудность в оптимизации нейронной сети», что на самом деле является интуитивным воображением из задачи одномерной оптимизации. В случае с одной переменной наиболее интуитивная сложность задачи оптимизации заключается в том, что существует множество локальных экстремальных ценности. Однако в случае нескольких переменных может оказаться невозможным найти локальный оптимум;

Для седловых точек существует несколько способов выхода из седловой точки:

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

3. Связь между машинным обучением, глубоким обучением, интеллектуальным анализом данных и большими данными.

Давайте сначала посмотрим на простые определения этих четырех:

  • Большие данныеЧасто определяемые как наборы данных, которые «выходят за рамки возможностей обычных программных инструментов для сбора, управления и обработки», они, как правило, велики по всем трем параметрам: объему данных, скорости передачи данных и категории данных.
  • машинное обучениеПроблема заключается в том, как создавать компьютерные программы, которые используют опыт для автоматического улучшения.
  • сбор данныхэто применение определенного алгоритма для извлечения шаблонов из данных.При интеллектуальном анализе данных акцент делается на применении алгоритма, а не на самом алгоритме.
  • глубокое обучениеЭто подкатегория машинного обучения и обычно относится к изучению сетевой структуры с большим количеством слоев, которая обычно сочетает в себе линейные и нелинейные отношения.

Отношения между этими четырьмя можно показать на следующем рисунке:

Машинное обучение и интеллектуальный анализ данныхОтношения между ними следующие:

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

Взаимосвязь между большими данными и глубоким обучением резюмируется следующим образом:

(1)Глубокое обучение — это поведение, которое имитирует мозг. Обучение может осуществляться на основе многих взаимосвязанных аспектов механизма и поведения изучаемого объекта, подражая типовому поведению и мышлению.

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

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

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

Связь между машинным обучением и глубоким обучением:

  • Глубокое обучение — это подкласс машинного обучения и класс алгоритмов машинного обучения.По сравнению с традиционными методами машинного обучения глубокое обучение имеет следующие характеристики:
    • Более высокие требования к оборудованию. Графический процессор часто требуется для быстрого выполнения задач, а простое использование ЦП для выполнения задач требует очень много времени;
    • Более высокие требования к объему данных. Для традиционного машинного обучения могут потребоваться только сотни тысяч объемов данных, но для задач глубокого обучения требуются как минимум десятки тысяч или даже миллионы объемов данных, в противном случае их легко переобучить;
    • Имеет более сильные возможности извлечения признаков. Глубокое обучение может изучать различные уровни функций из данных, от низкоуровневых граничных функций до высокоуровневых семантических функций, что является одной из причин, почему все больше и больше направлений машинного обучения используют алгоритмы глубокого обучения для решения проблем, а производительность выше. .;
    • плохая интерпретируемость. Из-за высокого уровня абстракции глубокое обучение также часто называют черным ящиком.
  • Ядром машинного обучения является математика, которая заключается в использовании математической модели и последующем вводе данных для настройки параметров математической модели, чтобы математическая модель могла решать задачи определенного типа. Проще говоря, вы хотите потренироваться, чтобы получить математическую функцию, способную решить конкретную задачу.

4. Зачем использовать машинное обучение

Причины следующие:

  • Проблемы, которые требуют много ручной настройки или имеют длинный список правил для решения: алгоритмы машинного обучения часто могутУпростите код, улучшите производительность.
  • Проблемы сложны и их трудно решить традиционными методами: лучшие методы машинного обучения могут найти решения.
  • Окружающая среда изменчива: алгоритмы машинного обучения могутАдаптироваться к новым данным.
  • Получите представление о сложных проблемах и больших объемах данных

Некоторые примеры приложений машинного обучения:

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

Ссылаться на

  1. «Глубокое обучение»
  2. Глубокое обучение 500 вопросов — https://github.com/scutan90/DeepLearning-500-questions
  3. "практический мл-со-sklearn-and-tf"
  4. https://www.zhihu.com/question/68109802
  5. https://www.zhihu.com/question/358632429/answer/919562000
  6. https://www.zhihu.com/question/68109802/answer/263503269

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