Пример: цветное изображение | Ключевые слова: алгоритм машинного обучения без учителя, прикладной многомерный статистический анализ, сегментация изображений, интеллектуальный анализ данных | Метод: Кластеризация K-средних

Цитата дня: «Никогда не недооценивайте силу дуа».

Монгга: «(тук-тук) Assalamualaikum Warahmatullah Wabarakatuh, Всем. Как дела? Я надеюсь, все идет хорошо. Перейдем к основной теме о. Вот сегментация изображения по цвету. Хотите узнать больше о сегментации изображений по цвету с кластеризацией K-средних? В этой части я объясню:

Введение

  • Обнаружение знаний в базе данных (KDD)
  • Кластеризация K-средних
  • Алгоритм кластеризации K-средних
  • Машинное обучение
  • Алгоритмы работы машинного обучения
  • Сегментация изображения
  • Инструменты
  • Библиотеки

Вот так, читатели! Бисмиллахирахманирахим :)”

Обнаружение знаний в базе данных (KDD)

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

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

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

Интеллектуальный анализ данных стал общепринятым термином и очень быстро стал тенденцией, которая даже затмила более общие термины, такие как обнаружение знаний в базах данных (KDD), которые описывают более полный процесс. Другими подобными терминами, относящимися к интеллектуальному анализу данных, являются: углубление данных, извлечение знаний и обнаружение закономерностей (Osmar R. Zaïane, 1999).

Кластеризация K-средних

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

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

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

Процесс кластеризации алгоритма K-средних

ШАГИ

  1. Определите k как количество кластеров, которые необходимо сформировать, используя метод Критерий локтя по следующей формуле:

2. Определите начальную точку кластера k (центроид), начиная случайным образом. Определение начального центроида выполняется случайным образом или случайным образом из доступных объектов до k кластеров, чтобы вычислить следующий i кластер центроидов, используя эту формулу.

3. Рассчитайте расстояние каждого объекта до каждого центроида каждого кластера, используя евклидово расстояние по следующей формуле.

4. Расположите каждый объект в ближайшем центроиде.

5. Повторите и затем определите новое положение центроида, используя уравнение.

6. Повторите 3-й (третий) шаг, если новые положения центроидов не совпадают.

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

Машинный интеллект — это применение дисциплины искусственного интеллекта, которая использует аппликативный метод статистики для создания автоматической модели набора данных с целью дать компьютеру возможность «обучаться». Вернемся к истории машинного обучения. Машинное обучение было впервые представлено несколькими известными учеными-математиками, такими как Томас Байес, Адриан-Мари Лежандр и Андрей Марков, в 1920-х годах. Машинное обучение позволяет компьютерам изучать ряд данных (учиться на данных), чтобы они могли создать модель для выполнения процесса ввода-вывода без использования явного программного кода. В процессе обучения используются специальные алгоритмы, называемые алгоритмами машинного обучения.

Существует 4 (четыре) вида алгоритма машинного обучения: машинное обучение с учителем, алгоритм машинного обучения без учителя, алгоритм машинного обучения с полуучителем и алгоритм машинного обучения с подкреплением.

Рабочие алгоритмы машинного обучения

Алгоритм контролируемого машинного обучения

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

Тип контролируемых алгоритмов машинного обучения:

  • Регрессия
  • Классификация
  • Искусственная нейронная сеть
  • Машина опорных векторов
  • Дерево решений
  • Случайный лес

Алгоритм машинного обучения без учителя

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

Тип алгоритмов неконтролируемого машинного обучения:

  • Кластеризация K-средних
  • Иерархическая кластеризация
  • DBSCAN
  • Самоорганизующиеся карты (SOM)
  • C-нечеткие средние
  • Обнаружение аномалий

Полууправляемый алгоритм машинного обучения

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

Алгоритм машинного обучения с подкреплением

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

Вид алгоритмов машинного обучения с подкреплением:

  • SARSA(Состояние-действие-вознаграждение-состояние-действие) метод
  • Метод Q-обучения

Сегментация изображений

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

  • Процесс классификации изображений
  • Процесс идентификации объекта

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

Инструменты

  • Блокнот Jupyter (Julia, Python и R)
  • Anaconda Navigator (https://docs.anaconda.com/anaconda/install/) Доступен для Windows, MacOS, Linux. Подходит для вашей версии Python.
  • Питон
  • Анаконда Подсказка. Это уже есть в Anaconda Navigator.

Библиотеки

  • Открыть резюме

OpenCV (Библиотека компьютерного зрения с открытым исходным кодом) — это библиотека программного обеспечения для компьютерного зрения и машинного обучения с открытым исходным кодом. OpenCV был создан, чтобы обеспечить общую инфраструктуру для приложений компьютерного зрения и ускорить использование машинного восприятия в коммерческих продуктах. Библиотека содержит более 2500 оптимизированных алгоритмов, включая полный набор как классических, так и современных алгоритмов компьютерного зрения и машинного обучения. Эти алгоритмы можно использовать для обнаружения и распознавания лиц, идентификации объектов, классификации действий человека в видео, отслеживания движений камеры, отслеживания движущихся объектов, извлечения 3D-моделей объектов, создания 3D-облаков точек со стереокамер, объединения изображений для получения высокого разрешения. изображения всей сцены, находить похожие изображения в базе данных изображений, удалять эффект красных глаз на изображениях, снятых с использованием вспышки, следить за движениями глаз, распознавать пейзажи и устанавливать маркеры для наложения дополненной реальности (AR). (Источник: https://opencv.org/about/)

  • NumPy

NumPy — это проект с открытым исходным кодом, целью которого является обеспечение числовых вычислений с помощью Python. Он был создан в 2005 году на основе ранних разработок библиотек Numerical и Numarray. NumPy всегда будет программным обеспечением со 100% открытым исходным кодом, бесплатным для всех и выпущенным на либеральных условиях модифицированной лицензии BSD. NumPy разрабатывается открыто на GitHub благодаря консенсусу NumPy и более широкого научного сообщества Python. (Источник: https://numpy.org/about/)

  • Matplotlib.pyplot

Matplotlib — это библиотека двухмерных графиков Python, которая создает показатели качества публикации в различных форматах печатных копий и интерактивных средах на разных платформах. Matplotlib может использоваться в сценариях Python, оболочках Python и IPython, блокноте Jupyter, серверах веб-приложений и четырех инструментах графического пользовательского интерфейса. Matplotlib пытается сделать простые вещи простыми, а сложные возможными. Вы можете создавать графики, гистограммы, спектры мощности, гистограммы, диаграммы ошибок, диаграммы рассеивания и т. д., написав всего несколько строк кода. (Источник: https://matplotlib.org/3.1.1/index.html).

Здесь мы используем matplotlib.pyplot, matplotlib.pyplot — это интерфейс на основе состояния для matplotlib. Он обеспечивает способ построения графиков, подобный MATLAB. Pyplot в основном предназначен для интерактивных сюжетов и простых случаев программной генерации сюжетов (https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.html)

Вторая часть посвящена этапам и объяснению результатов.

Ссылки

  1. Осмар Р. Зайан. (1999). CMPUT690 Принципы обнаружения знаний в базах данных. Университет Альберты: факультет компьютерных наук.
  2. Ральф Хербрих и Тор Грэпель. 2018. ВВЕДЕНИЕ В МАШИННОЕ ОБУЧЕНИЕ с ПРИЛОЖЕНИЯМИ В ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ. Калифорния: CRC Press.
  3. Адия, М. Хасмил. (2019). Деснелита, Йенни. Gustientiedina, G. Penerapan Algoritma K-Means Untuk Clustering Data Obat-Obatan.
  4. Обучение машинному обучению и Cara Kerjanya. https://www.advernesia.com/blog/data-science/machine-learning-adalah/
  5. Машинное обучение Mengenal. https://medium.com/evolve-machine-learners/mengenal-machine-learning-6c4a48db48b0
  6. Кари Таху Апа Беданья Контролируемое и неконтролируемое обучение. https://www.jagoanhosting.com/blog/cari-tahu-apa-bedanya-supervised-vs-unsupervised-learning/
  7. Контролируемое, неконтролируемое, частично контролируемое обучение. http://arofiqimaulana.com/supervised-unsupervised-semi-supervised-learning/
  8. Семантика сегментации для классификации Citra. https://medium.com/@flavea/segmentasi-semantik-untuk-klasifikasi-citra-a004b3906250
  9. Открыть резюме. https://opencv.org/about/
  10. Matplotlib. https://matplotlib.org/3.1.1/index.html
  11. NumPy. https://numpy.org/about/

Закрытие

Спасибо, что посетили и прочитали эту статью. Пусть эта статья будет полезной. До встречи во второй части! :) Wassalamualaikum Warahmatullah Wabarakatuh. Хорошего дня и берегите себя! Не забывайте: «Соблюдайте физическую дистанцию, носите маску, учитесь дома».