Оглавление:
- Шаг 1. Исходные планы
- Шаг 2: Исследование
- Шаг 3: встретившиеся трудности и извлеченные уроки
- Шаг 4. Дальнейшие действия
Видео: Анализ главных компонентов: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Анализ главных компонентов - это статистический метод, который преобразует набор возможно коррелированных переменных в набор линейно некоррелированных значений с помощью ортогональных преобразований. Проще говоря, учитывая набор данных с несколькими измерениями, это помогает уменьшить количество измерений, что упрощает чтение данных.
Шаг 1. Исходные планы
Я пришел в этот класс с идеей, что я хочу понять и, надеюсь, написать алгоритм, который сможет выполнять распознавание лиц при наличии изображений. У меня не было предыдущего опыта или знаний в области распознавания лиц, и я понятия не имел, насколько сложно добиться чего-то подобного. После разговора с профессором Маллоком я понял, что мне нужно многому научиться, прежде чем я смогу полностью понять задачу, которую в конечном итоге планировал выполнить.
После небольшого исследования я, наконец, решил, что больше всего мне нужно изучить линейную алгебру и некоторые основы машинного обучения, и остановился на PCA (анализе главных компонентов), который станет моей целью для этого класса.
Шаг 2: Исследование
Первым делом я должен был посетить библиотеку и найти любую книгу, которая знакомит меня с машинным обучением и, в частности, с обработкой изображений. Это оказалось намного сложнее, чем я думал, и в итоге у меня ничего не вышло. Затем я решил спросить друга, который работал в Vision Lab, который попросил меня изучить линейную алгебру и, в частности, собственные векторы и собственные значения. У меня был некоторый опыт работы с линейной алгеброй из класса, который я посещал на втором курсе, но я не понимал, как собственные векторы или собственные значения могут быть полезны при работе с изображениями. По мере того, как я исследовал больше, я понял, что изображения - это не что иное, как огромные наборы данных и, следовательно, их можно рассматривать как матрицы, и мне стало немного яснее, почему собственные векторы имеют отношение к тому, что я делал. На этом этапе я решил, что мне следует научиться читать изображения с помощью python, поскольку я собирался использовать python для своего проекта. Изначально я начал с использования CV2.imread для чтения изображений, но это оказалось очень медленным процессом, поэтому я решил использовать glob и PIL.image.open для этого, поскольку это намного быстрее. Этот процесс на бумаге кажется относительно нетрудным, но на самом деле потребовал немало времени, так как мне пришлось научиться устанавливать и импортировать различные библиотеки в PyCharm (IDE), а затем читать онлайн-документацию для каждой библиотеки. В процессе этого я также узнал, как использовать операторы установки pip в командной строке.
После этого следующим шагом было выяснение того, что именно я хочу делать и чему научиться при обработке изображений, и изначально я планировал выполнить сопоставление шаблонов, но, исследуя его, я узнал о PCA и обнаружил, что это более интересно, поэтому я решил вместо этого используйте PCA. Первым постоянно всплывавшим термином был алгоритм K-NN (K-ближайший сосед). Это было мое первое знакомство с алгоритмом машинного обучения. Я узнал о данных обучения и тестирования и о том, что означает «обучение» алгоритма. Понимание алгоритма K-NN также было непростым, но было очень приятно наконец понять, как он работает. В настоящее время я работаю над тем, чтобы код для K-NN работал, и я очень близок к завершению.
Шаг 3: встретившиеся трудности и извлеченные уроки
Первой большой трудностью был масштаб самого проекта. Это было больше исследовательское, чем физическое. По прошествии нескольких недель я смотрел на прогресс, которого добивались мои сверстники, и чувствовал, что я делаю недостаточно или что я не добиваюсь достаточно быстрого прогресса, и это иногда очень демотивировало. Разговор с профессором Мэллоком и просто уверение себя в том, что я действительно изучаю вещи, которые были для меня очень новыми, помогли мне продолжить. Другая проблема заключалась в том, что знание теоретических материалов и их применение - это разные вещи. Хотя я знал, что мне нужно, на самом деле кодирование на python было другим делом. Именно здесь просто чтение документации в Интернете и расспросы друзей, которые знали об этом больше, очень помогли, наконец, придумать план действий.
Я лично считаю, что наличие в M5 более крупной библиотеки книг и документов могло бы помочь людям, которые работают над проектами. Также хорошая идея для M5 - иметь цифровую запись в реальном времени о проектах, выполняемых студентами, чтобы другие студенты и сотрудники могли посмотреть на нее и принять участие, если это им интересно.
По мере того, как проект подходит к концу, я многому научился за такой короткий промежуток времени. Я получил очень практические знания о машинном обучении и чувствую, что сделал первые шаги, чтобы более активно участвовать в нем. Я понял, что мне нравится компьютерное зрение, и что, возможно, я захочу заниматься этим даже в будущем. Самое главное, я узнал, что такое PCA, почему он так важен и как его использовать.
Шаг 4. Дальнейшие действия
Для меня это было всего лишь поверхностным прикосновением к чему-то гораздо более обширному и очень важному в современном мире, то есть к машинному обучению. В ближайшем будущем планирую пройти курсы, связанные с машинным обучением. Я также планирую проложить свой путь к распознаванию лиц, поскольку именно с этого и начался весь этот проект. У меня также есть идеи для системы безопасности, которая использует комбинированные функции (одна из них - лицо человека), чтобы сделать ее действительно безопасной, и это то, над чем я хочу работать в будущем, когда у меня будет более широкое понимание вещей..
Для всех, кто, как я, интересуется машинным обучением и обработкой изображений, но не имеет предыдущего опыта, я настоятельно рекомендую сначала изучить и понять линейную алгебру вместе со статистикой (особенно с распределениями). Во-вторых, я бы посоветовал прочитать Кристофера М. Бишопа «Распознавание образов и машинное обучение». Эта книга помогла мне понять основы того, чем я занимался, и очень хорошо структурирована.
Рекомендуемые:
Как правильно выбрать посадочное место для компонентов: 3 шага
Как выбрать правильную посадочную площадку для компонента: посадочная поверхность или контактная площадка - это расположение контактных площадок (в технологии поверхностного монтажа) или сквозных отверстий (в технологии сквозных отверстий), используемых для физического крепления и электрического подключения компонента к печатной плате . Рисунок земли на трассе
Анализ LTE Cat.M1 PSM (режим энергосбережения): 4 шага
Анализ LTE Cat.M1 PSM (режим энергосбережения): в предыдущей статье мы обсудили, как установить цикл «активный / спящий» с помощью PSM. Пожалуйста, обратитесь к предыдущей статье для объяснения настроек оборудования, PSM и AT-команды. (Ссылка: https://www.instructables.com/id/What-Is-a-PSMPow…Ac
Модуль тестера компонентов для макетной платы V2: 4 шага
Модуль тестера компонентов для комплекта макетной платы V2: это модуль тестера компонентов для моего комплекта макетной платы V2, который работает с моим другим инструктируемым модулем, который является «модульным комплектом макетной платы»; разработан для использования с футляром-органайзером Stanley 014725R (который вмещает 2 полных комплекта макетных плат)
Плата расширения тестера компонентов: 3 шага
Плата расширения тестера компонентов: этот проект представляет собой печатную плату платы расширения для дешевого тестера электронных компонентов. Вариантов этого устройства на Али Экспресс много. Я основал свою плату на этой: GM328A V1.11 Характеристики платы расширения: Li-PO батарея заменяет батарею 9V. 1 ячейка Li
Анализ настроений в Twitter с помощью Raspberry Pi: 3 шага (с изображениями)
Анализ настроений в Twitter с помощью Raspberry Pi: что такое анализ настроений и почему он должен вас волновать? Анализ настроений - это процесс определения эмоционального тона, стоящего за серией слов, который используется для понимания выражаемых настроений, мнений и эмоций. в пределах