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

Так, несколько месяцев назад Inoxoft организовала курс Программирование, ориентированное на данные (с Python, AI/ML), куратором которого выступил наш технический директор Брэд Флаугер. 10-недельный курс охватывал весь набор технологий, доступных современному программисту, с особым акцентом на давно поддерживаемые и очень любимые технологии с открытым исходным кодом, такие как Python, C и UNIX.

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

Проекты машинного обучения Python

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

Модель обнаружения рентгеновского излучения Covid-19

Одним из наиболее актуальных и полезных проектов машинного обучения стала попытка создать модель обнаружения Covid-19. Но давайте начнем с основ: что такое обнаружение объектов? Как это работает? И зачем? Обнаружение объектов — это подраздел техники компьютерного зрения, который позволяет нам идентифицировать и находить объекты на изображении или видео. Приложение включает в себя:

  • Автономный и вспомогательный транспорт (автоматическая выписка штрафов)
  • Анализ медицинских изображений
  • Отслеживание и анализ спортивных результатов
  • Сельскохозяйственный мониторинг
  • Розничная и производственная поддержка
  • Контроль толпы и распознавание лиц
  • Военное использование

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

Существует три архетипа метаархитектур модели обнаружения объектов.

  • SSD — модель, основанная на классификации, поскольку она анализирует сразу все изображение, пытаясь указать, есть ли объект.
  • Быстрее RCNN — больше подходит для классификации из-за своей архитектуры: он сканирует изображение и классифицирует каждое из них.
  • R-FCN — смесь того и другого.

Сама модель

План состоял в том, чтобы создать модель, которая выявляет и локализует Covid-19, чтобы помочь врачам поставить быстрый и точный диагноз. Прежде всего, команда классифицировала и обнаружила разные категории изображений.

В настоящее время Covid-19 можно диагностировать с помощью ПЦР-теста, но проблема этого метода заключается в том, что для обнаружения генетического материала вируса и получения результатов требуется от нескольких часов до нескольких дней. С другой стороны, есть возможность использовать рентген, который потенциально может дать результат в течение нескольких минут. Существует множество руководств, которые помогают радиологам отличить Covid от других вирусов. Более того, другие врачи также могут воспользоваться рентгеном для локализации болезни.

Модель работает таким образом, что вы можете загрузить (рентгеновское) изображение, модель распознает класс изображения и выдает результаты на основе изображения (например, Отрицательно/38% типичная пневмония, 22% — неопределенная).

Проблемы, с которыми столкнулась команда:

  • Небольшой набор данных (6334 изображения)
  • Проблемные изображения в наборе данных (размытые, экспонированные, изображения с посторонними предметами)
  • Самый разыскиваемый (связанный с Covid) атипичный класс имел наименьший процент всех изображений в наборе данных.

Команда попробовала следующие подходы, чтобы увидеть, что они могут получить из такого набора данных:

  • TensorFlow Object Detection API (при всех преимуществах, которые он может предложить, конкретный подход не дает высокой точности)
  • Керас, CNN

Команда обучила модель на наборе данных и получила точность 47% (см., например) и использовала предварительно обученную модель (VGG19 — Visual Geometry Group).

Анализатор стихов

Среди других проектов по машинному обучению на питоне был проект по анализу стихов. Команда создала пару моделей.

Первый предсказывает одну или несколько тем, затронутых в стихотворении.

Вторая модель предсказывает год написания стихотворения. Тематическая модель дает около 50% точности. Годовая модель имеет среднюю абсолютную ошибку 26 лет. Как это работает?

Как выглядел процесс? Шаги включены

  • Источники данных
  • Этапы создания набора данных
  • Парсинг сайтов
  • Консолидация данных
  • Объединение данных

После очистки веб-сайтов команда объединила собранные данные, очистила данные от NaN и удалила повторяющиеся строки из набора данных. Все экземпляры стихов были удалены, а все одинаковые ярлыки объединены. Одни и те же ярлыки привели к унифицированным именам. Например.

Итак, среди ярлыков команда получила 153 ярлыка из 281 стихотворения.

Включен первоначальный поиск набора данных

Также команда учла конкретный текст: максимальная длина была установлена ​​на 150 слов, более короткие тексты были удалены, а более длинные — обрезаны.

Предварительная обработка

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

1. Токенизация — процесс преобразования текста в отдельные элементы (называемые токенами).

2. Удаление бесполезных слов («стоп-слов»), не имеющих значения и служащих только для соединения слов, имеющих смысл. Например.

3. Лемматизация означает обращение с разными формами слов как с одним словом. Например.

4. Деконтракция – процесс перехода от кратких форм к полным с целью их унификации. Например.

5. Текст в последовательности. Команда использовала метод токенизатора Tensorflow, чтобы создать словарь всех используемых слов и пометить их. напр.

6. Заполнение — это процесс замены пропущенных слов на 0.

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

Первая модель:

Во второй модели команда изменила кодировку, что привело к лучшему результату средней абсолютной ошибки.

Затем был добавлен слой внедрения категорийных данных, и средняя абсолютная ошибка снова была изменена.

Команда взяла средний результат встроенных текстовых данных и встроенных категориальных данных, поэтому результат составил 22 года.

В итоге конечная структура выглядела так:

https://inoxoft.com/app/uploads/2021/09/[email protected]

Предсказатель цен на автомобили

Это был один из самых инновационных проектов машинного обучения. Цель состояла в том, чтобы прогнозировать цены на автомобили на основе изображения и/или другой информации об автомобиле. Сам проект прошел через большинство основных этапов конвейера машинного обучения: сбор данных, очистка данных, анализ данных, выбор модели, обучение модели и подготовка модели к развертыванию.

Данные были собраны из источника путем веб-скрапинга с использованием библиотеки Beautiful Soup. Собранные данные включают изображение, марку, модель, цену, пробег, тип топлива, тип трансмиссии, год выпуска автомобиля. Всего было извлечено более 15 000 страниц и собрана информация примерно о 146 814 автомобилях.

Образец собранных данных

Очистка изображений включала в себя процесс фильтрации изображений из набора данных, которые не являются внешним видом автомобиля. Использовалась предварительно обученная модель VGG16, которая была настроена на подмножестве данных (64 изображения автомобилей и 64 изображения не автомобилей).

Для обучения модели нужны изображения с внешним (внешним) видом всей машины, изображения, где салон или отдельная часть названы «не изображения автомобиля». красный.

Пример изображений, которые были классифицированы как «не автомобиль» и удалены из набора данных.

Обучение модели

Наиболее популярные алгоритмы машинного обучения применялись для табличных данных. Используемая метрика — средняя абсолютная ошибка (MAPE) Базовая линия — однопараметрическая модель (медиана возврата для всех входных данных) Базовая карта — 74% (все, что дает более низкий результат, означает, что это полезно).

Наилучшие результаты прогнозирования цены автомобиля на основе изображения были достигнуты с использованием предварительно обученной модели VGG16 (MAPE = 35 %).

Предсказания модели

Прогнозируемая и реальная цена

Реальная цена против прогнозируемой цены

Вдохновляющие проекты машинного обучения

Inoxoft — компания по разработке программного обеспечения, предлагающая клиентам из США, Канады, Израиля, Норвегии и других стран наши услуги по аналитике больших данных, которые могут помочь получить ценную информацию из данных и применить эффективные решения на стратегическом и операционном уровнях или создать интересные проекты машинного обучения.
Наша команда имеет опыт в

  • Предиктивная аналитика
  • Прогноз продаж
  • Ценовая аналитика
  • Маркетинговая оптимизация
  • Обработка естественного языка

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

Заключение

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

Посетите наш веб-сайт, чтобы быть в курсе последних новостей о наших курсах и захватывающих проектах, над которыми мы работаем!

Первоначально опубликовано на https://inoxoft.com 9 сентября 2021 г.