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