Конспект лекций FAU по распознаванию образов

Распознавание образов — общая картина

Краткий обзор этого курса

Это конспект лекций FAU на YouTube Распознавание образов. Это полная стенограмма видео лекции и сопоставление слайдов. Исходники для слайдов доступны здесь. Мы надеемся, вам понравится это так же, как видео. Эта стенограмма была почти полностью сгенерирована машиной с использованием AutoBlog, и были внесены лишь незначительные изменения вручную. Если вы заметили ошибки, сообщите нам об этом!

Навигация

Предыдущая глава / Посмотреть это видео / Следующая глава / Верхний уровень

Добро пожаловать, все! Сегодня я хочу ответить на пару вопросов, которые вы задавали в течение последних двух недель. Конечно, все они касаются нашей лекции «Распознавание образов». У некоторых из вас возникли проблемы с просмотром коротких видео, потому что у нас есть одно доказательство или одна цепочка аргументов в видео, но иногда бывает трудно сохранить весь обзор всей лекции. По этим причинам я подготовил здесь короткое видео, где мы резюмируем все содержание лекции и даем краткий обзор всего, что произойдет в этом курсе.

Итак, распознавание образов — «общая картина». Конечно, вы хотите изучить Python, машинное обучение и распознавание образов — все эти вещи. Я думаю, это также одна из причин, почему вы смотрите это видео. Но опять же, некоторые из вас, возможно, не очень хотят изучать математику. Я думаю, что это все еще набор навыков, которые вы, возможно, захотите приобрести, потому что многие из вас проходят этот курс здесь, потому что они хотят позже работать специалистом по данным или исследователем в области искусственного интеллекта. Поэтому я думаю, что математика по-прежнему является чем-то, о чем вы должны знать. И поверьте мне, эта математика не так уж сложна.

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

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

Теперь, какова общая картина? Наш класс, конечно же, «Распознавание образов», так что вот наше облако распознавания образов, и это темы, которые мы обсуждаем. Начнем с введения, начнем с классификации и объясним, зачем нам это нужно. Таким образом, важно иметь возможность принять решение на основе некоторых входных данных. Мы делаем это с помощью конвейера распознавания образов. Конвейер начинается с датчика, который оцифровывается, а затем мы извлекаем признаки. Наконец, после того, как мы нашли подходящие функции, мы приступаем к обучению классификатора. Теперь этот класс в основном посвящен классификаторам, а не столько извлечению признаков. У нас есть еще один курс «Введение в распознавание образов», где мы больше рассказываем о датчиках и подходящих функциях для определенных задач. Затем мы также вводим оценочные меры, но очень мало о них говорим. Так что не бойтесь, это не слишком актуально, если вы хотите подготовиться, например, к нашему экзамену. Но, конечно, вам нужно знать о классификаторах и о том, как их оценивать, потому что это будет иметь ключевое значение для вашей карьеры. Таким образом, у нас есть только очень общий обзор различных мер оценки здесь.

Затем мы переходим к основам. Мы рассмотрим теорему об основании и приведем небольшой пример, поэтому я думаю, что это должно быть очень полезно. А затем мы продолжим и поговорим о байесовском классификаторе. Классификатор Байеса — это концепция, основанная на правиле Байеса. Байесовский классификатор является оптимальным классификатором, если мы следуем функции потерь с нулевой единицей и имеем принудительное решение. Итак, это два ключевых понятия для нашего класса. Помните, для базового классификатора мы не указывали, как получить распределение классов. Это также то, о чем мы подробно поговорим в оставшемся классе. Это идеализированная концепция, в которой все ваши предположения должны соответствовать исходным данным. тогда у нас также был краткий обзор линейной алгебры. Я могу сказать вам, если вы хотите пройти этот курс, я определенно рекомендую посмотреть еще одну лекцию от меня, где мы вводим матричное исчисление, разложение по сингулярным числам и другие фундаментальные понятия линейной алгебры, которые важны для этого класса. Если вам не нравится довольно старая запись, я мог бы сделать новую версию в этом новом стиле этого видео. Может быть, если вы отправите мне сообщение или если вы покажете, что есть интерес к этому, я, вероятно, сделаю это. Затем у нас также было несколько основ оптимизации, в частности, оптимизация ограничений — очень важная концепция для этого класса. Я уже решил, что сделаю еще одно видео о лагранжевых подходах и о том, как настроить лагранжевы функции и как работает эта оптимизация. Так что вы увидите это очень скоро.

Затем мы начали обсуждать логистическую регрессию. Итак, логистическая регрессия — это концепция, в которой мы по существу показываем, что можем преобразовать генеративный подход к моделированию в дискриминативный, а дискриминативный — в генеративный. Таким образом, генеративный подход будет моделировать класс за классом и их распределения вероятностей, а дискриминативный будет непосредственно включать моделирование границы решения. Мы видели, что если мы начнем с генеративных моделей, то сможем преобразовать их в границу решения, вычислив позицию, где вероятности, например, двух классов равны. Затем в этот момент находится граница решения, и здесь вы переключаетесь с одного класса на другой. Если вы используете логистическую функцию, сигмовидную функцию, вы также можете начать с границы решения и создать на ее основе распределение отдельных классов. Поэтому, если вы используете сигмовидную функцию, вы можете снова создать распределение для определенного класса, которое определяется только границей решения. Это довольно полезная концепция. Затем мы увидели, что, по существу, проблема классификации может быть выражена как проблема регрессии. Затем мы также рассмотрели экспоненциальное семейство. Теперь экспоненциальное семейство представляет собой очень хороший набор вероятностных функций массы и плотности. Мы видели, что они обладают тем свойством, что если параметр дисперсии равен, то граница решения моделируется в виде линии. Это очень полезно для случая распределения Гаусса. Мы видели, что если ковариация одинакова, то и границей решения будет линия. Кроме того, очень полезным инструментом является функция логарифмического правдоподобия. Мы видели, что если применить логарифмическую функцию, то положение максимума не изменится. Таким образом, мы можем использовать это, чтобы упростить наши задачи оценки. Мы видели, что для многих вероятностных функций массы и плотности, если мы применяем логарифм, экспоненциальная функция фактически исчезает, и мы возвращаемся к проблемам, которые мы можем решить с помощью линейной алгебры. Это на самом деле происходит довольно часто в этом классе.

Мы пошли дальше для наивного Байеса. Наивный байесовский метод — довольно простой, и он, по сути, предполагает, что все измерения независимы. При таком предположении вы можете очень быстро построить эффективные классификаторы.

Кроме того, мы обсудили линейный дискриминантный анализ. Итак, линейный дискриминантный анализ — это, по сути, преобразование признаков. Но здесь вы предполагаете, что знаете принадлежность к классам, а затем пытаетесь найти линейное преобразование, которое оптимально разделяет классы и минимизирует разброс внутри класса. Мы видели всю историю, пока не нашли это. Так, например, если бы мы смогли найти пространство, в котором все наши классы имеют однородную ковариационную матрицу, то все границы наших решений были бы линиями. И в этом пространстве мы могли бы использовать измерения k-1, чтобы иметь возможность отделить все классы друг от друга. Кроме того, тогда мы сможем моделировать векторы признаков очень высокой размерности в пространстве гораздо меньшей размерности. И мы не потеряем никакой информации при таком уменьшении размерности, учитывая, что классы имеют гауссово распределение и так далее. Таким образом, у этого есть несколько побочных ограничений, но в целом это очень полезное преобразование, и мы видели два разных его варианта: отбеливающее преобразование и данные сферы и ее свойства. Итак, это когда все классы имеют единую ковариационную матрицу. Мы также видели LDA с уменьшенным рангом и оригинальное преобразование Фишера. Кроме того, мы рассмотрели некоторые приложения. В основном это были adidas_1, кроссовки со встроенной системой классификации. Таким образом, подходы типа LDA и эти простые классификаторы настолько недороги в вычислительном отношении, что могут работать на встроенном оборудовании даже в кроссовках. Это была довольно крутая вещь, которую разработали мои коллеги Йоахим Хорнеггер и Бьорн Эскофир, и на самом деле она превратилась в продукт. Мы также рассмотрели основные компоненты и способы сегментации сложных структур с высокой степенью изменчивости. Там мы видели активные модели формы, которые довольно часто используются в медицинской визуализации для сегментации изображений.

Кроме того, мы приступили к регуляризации и нормам. Теперь регуляризация — очень важная концепция, которую мы также используем много раз в этом классе. А с помощью регуляризации мы можем по существу избежать численно нестабильных решений, а также можем заставить наши решения иметь желаемые свойства. В частности, мы видели пример регуляризации Тихонова для регрессии. Затем мы можем по существу продемонстрировать, что тихоновская регуляризация идентична статистическим предположениям, где мы предполагаем, что у нас есть дополнительный априор. Затем этот априор напрямую относится к дополнительной норме свойств нашей регрессии. Это было чрезвычайно полезно. Затем мы рассмотрели разные нормы, норму L1, норму L2 и их свойства. Затем это можно даже расширить, чтобы найти разреженные решения. И затем эти схемы поиска разреженных решений порождают целую область восприятия сжатия, которую мы не будем подробно обсуждать в этом классе. Если вас это интересует, вы можете посетить один из наших занятий по медицинской визуализации, где мы более подробно расскажем об этих вещах. Итак, регуляризованная регрессия, в которой у нас есть определенные свойства, затем встраиваются в решение. Мы обсудили нормы, как я уже сказал, а затем регрессию, зависимую от нормы. Там вы видели, что регрессия, зависящая от нормы, имеет определенные свойства, такие как разреженность. Кроме того, мы рассмотрели различные штрафные функции, и эти штрафные функции по сути являются разновидностью норм. Здесь вы можете увидеть, что мы можем спроектировать их таким образом, чтобы они также обладали определенными свойствами. В частности, существуют также такие функции, как функция Хубера, которая является аппроксимацией L1-нормы, которая полностью дифференцируема. Таким образом, у нас нет разрывов в градиенте, что очень полезно, если вы следуете процедуре градиентного спуска.

Кроме того, мы рассмотрели персептроны и многослойные персептроны. Итак, простой персептрон Розенблатта, доказательства сходимости и сколько итераций вы на самом деле видели. И очень важным моментом в этой лекции является то, что мы видим, что пространство между классами является ключевым фактором для количества итераций, которое вам действительно нужно, чтобы найти точку сходимости для персептрона Розенблатта. И вы увидите, что это разделение классов, маржа, снова появится и в других классификаторах. Затем мы сделали небольшой экскурс в многослойные персептроны, потому что, конечно, глубокое обучение сейчас является очень важной областью исследований, и вы должны были хотя бы увидеть классический подход многослойного персептрона. Но если вам интересны эти темы, я очень рекомендую посетить нашу лекцию «Глубокое обучение».

Затем мы приступили к дальнейшей оптимизации. И здесь, в частности, мы начали изучать выпуклую оптимизацию и некоторые из этих свойств. Выпуклая оптимизация также является ключевой концепцией в этом классе, которую мы увидим в следующей паре классификаторов. Затем мы увидели метод эффективного решения задач оптимизации, который представляет собой линейный поиск. И мы видели, что направление поиска, т. е. направление наискорейшего спуска, не обязательно всегда является направлением градиента. Если вы используете определенную норму, это может изменить направление градиента, и здесь мы говорим о нормальных зависимых градиентах. И мы видели, что если у вас есть норма L2, все в порядке, так что это просто направление градиента. Но если работать с L1 или другими нормами, то вдруг направление наискорейшего спуска меняется.

Затем это приводит к изучению машин опорных векторов. Теперь в машинах опорных векторов у нас был случай жесткой маржи, когда мы по существу максимизируем маржу, этот разрыв между двумя классами, и пытаемся найти границу решения, которая оптимальна для расстояния между двумя классами. Это найдет сходимость только в том случае, если классы разделимы. Вот почему они затем вводят случай мягкой маржи, когда у нас есть резервные переменные, которые позволяют нам снова переместить ошибочные классификации в правую часть границы решения. И тогда у нас также есть проблема, которую мы также можем решить, даже если она неразделима. Мы также рассмотрели двойственную функцию Лагранжа, и это привело к понятию опорных векторов. Итак, мы видели, что в дуэте Лагранжа мы можем выразить всю оптимизацию только для переменных Лагранжа. Таким образом, все первичные переменные, такие как нормаль границы решения и т. д., сокращаются в двойной функции. И если задана сильная двойственность, решение двойственного также даст нам решение первичного, что является своего рода очень интересным свойством. Затем мы можем использовать это в машинах опорных векторов. И мы видели, что по существу нам нужны только те векторы, которые лежат на краю границы решения, чтобы определить ее. А все остальные векторы из тренировочных данных нам больше не нужны. Эти векторы являются опорными векторами. И это все векторы, имеющие ненулевой множитель Лагранжа. Кроме того, мы видели, что ядра — важная концепция. Таким образом, с ядрами мы можем отображать внутренние продукты в пространство более высокого измерения. Нам даже не нужно определять фактическое отображение в пространство, если мы можем оценить внутренний продукт. Мы также видели, что если вы используете трюк с ядром, то даже определение границы решения для нового наблюдения даже не требует фактического преобразования в это пространство ядра. Но вы можете выразить все во внутренних продуктах этого ядра пространства. Тоже очень полезное свойство.

Далее мы переходим к алгоритму EM, алгоритму максимизации ожидания, который является ключевой концепцией, если у вас есть скрытые переменные. Затем мы показываем это в так называемых смешанных моделях Гаусса, где нам также необходимо оценивать параметры нескольких функций Гаусса и их смеси. Это может быть очень хорошо выражено с помощью алгоритма EM. И мы также видели, что эту концепцию можно распространить на множество других приложений.

Кроме того, мы рассмотрели анализ независимых компонентов. Теперь анализ независимых компонентов снова представляет собой преобразование признаков. Но это преобразование функции не требует членства в классе. Вместо этого нам нужно знать что-то о распределении признаков. Итак, мы предполагаем, что наблюдаемые нами признаки независимы. У нас есть несколько объектов, которые мы наблюдаем, и они могут быть отображены в пространстве, которое удовлетворяет свойству их независимости. И мы также увидели, что если у нас есть эти подходы, мы можем делать классные вещи, такие как слепое разделение разных источников. Таким образом, суперпозицию изображений или звуков можно разделить с помощью анализа независимых компонентов. Мы также видели, что наиболее случайное распределение с фиксированным стандартным отклонением на самом деле является распределением Гаусса. А если предположить негауссовость, то можно вычислить исходные компоненты, если они не распределены по Гауссу. Итак, если бы все было распределено по Гауссу, то мы не смогли бы идентифицировать независимые компоненты. Очень хорошо!

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

Последняя тема лекции – повышение. Теперь у бустинга есть идея объединения многих классификаторов, и это был очень популярный метод. В частности, он часто используется в так называемом алгоритме Adaboost. Таким образом, в алгоритме Adaboost вы, по сути, тренируете классификаторы друг за другом. Вы проводите первый раунд классификаторов, обучаете их, а затем начинаете заново взвешивать экземпляры, которые были неправильно классифицированы. Затем вы обучаете новый классификатор и выполняете итерацию, пока не получите фиксированное количество классификаторов. И затем, в конце концов, вы выбираете оптимальную конфигурацию их весов, чтобы определить окончательный результат классификации. И вы можете возразить, что у вас есть, скажем, 50 различных классификаторов, и они делают более или менее независимые оценки. Затем окончательный прогноз дается как оптимальная комбинация этих 50 классификаторов, поэтому мы пытаемся использовать мудрость толпы. Это можно сделать с помощью повышения. В частности, важным методом является Adaboost. Затем это привело к разработке так называемого алгоритма Виолы Джонса, очень популярного детектора лиц, который сегодня можно найти на многих смартфонах, камерах и так далее. Когда они автоматически определяют лица, они используют алгоритм Виолы Джонса, который мы показываем в этой части лекции. Итак, это уже общая картина! вы видите, что мы, по сути, проходим через разные виды классификаторов. Мы начинаем с более простых, но у нас всегда есть оптимизация и математика, чтобы понять более сложные методы. А потом в какой-то момент у нас заканчивается время, поэтому мы прекращаем прокачку. Были бы более интересные методы, которые мы могли бы рассмотреть. И, конечно же, эти методы являются традиционными классическими методами, и сегодня многие методы используют глубокое обучение. Но то, что вы обнаружите, если обсудите глубокое обучение, если мы рассмотрим детали, практически все концепции, с которыми мы имеем дело в этом классе, они появляются снова, просто в разных вариантах. Но мы используем оптимизацию с ограничениями, мы используем концепции выпуклости, мы используем невыпуклость или локальную выпуклость и, конечно же, мы также используем много линейной алгебры. Так что эти понятия очень важны. Теперь вы видите, как с годами развивались машинное обучение и распознавание образов, но эти концепции не устарели. Они по-прежнему нужны для многих современных методов.

Я знаю, что это много математики, поэтому, пожалуйста, взгляните на вещи. Если у вас возникли проблемы с пониманием того, о чем я говорю, присылайте свои вопросы, я на них отвечу. У нас есть различные функции комментариев, где вы можете взаимодействовать с нами. Есть много-много способов взаимодействовать с нами, поэтому, пожалуйста, используйте их и не позволяйте своей голове взорваться. Но давайте надеяться, что вы действительно вложите эти знания в свои головы, чтобы затем пойти дальше и стать экспертом по машинному обучению и, возможно, в какой-то момент специалистом по данным.

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

Спасибо за Ваше внимание! Надеюсь, вам понравилось это небольшое видео, и оно поможет вам понять основные идеи этого класса. И, конечно же, как я уже сказал, пожалуйста, задавайте свои вопросы. Если есть вопросы, которые появляются снова, и ответ на них занимает немного больше времени, я также очень рад сделать больше видео такого рода. И вы увидите, что мы уже собрали довольно много таких вопросов и попытаемся ответить на них соответствующим образом, чтобы вам было легче следить за содержанием лекции. Кроме того, в случаях, если вы не очень хорошо разбираетесь в математических понятиях. Я пытаюсь найти здесь несколько курсов повышения квалификации, чтобы вам было легче разбираться в математике. Надеюсь, вам понравилось это маленькое видео, и я очень жду новой встречи с вами в одном из моих других видео! Большое спасибо за просмотр и до свидания.

Если вам понравился этот пост, вы можете найти больше эссе здесь, больше учебных материалов по машинному обучению здесь или посмотреть нашу Лекцию Глубокое Обучение. Я также был бы признателен за подписку на YouTube, Twitter, Facebook или LinkedIn, если вы хотите получать информацию о новых эссе, видео и исследованиях в будущем. Эта статья выпущена на условиях Creative Commons 4.0 Attribution License и может быть перепечатана и изменена при ссылке. Если вы заинтересованы в создании расшифровок видеолекций, попробуйте Автоблог.