Дефиниција алгоритма средњег помака

Алгоритам средњег померања потпада под неконтролисано учење које је категорисано као алгоритам кластерирања. Идеологија алгоритма Средња промена је да итеративно додељује тачке података кластерима померајући се према тачки која има тачку највеће густине (Начин). Средња логика помака у основи заснива се на концепту процене густине кернела који се назива КДЕ.

Средње кластер алгоритма померања

Ненадзирана техника учења коју су открили Фукунага и Хостетлер да би пронашли кластере:

  • Средња промена је позната и као алгоритам тражења режима који додељује тачке података кластерима на неки начин померањем података података према области високе густине. Највећа густина података је названа као модел у региону. Алгоритам Меан Схифт има апликације које се широко користе у области рачунарског вида и сегментације слике.
  • КДЕ је метода за процену дистрибуције тачака података. Ради тако што поставља кернел на сваку тачку података. Кернел у математици је функција пондерирања која ће применити утеге за појединачне податке. Додавање свих појединачних кернела генерише вероватноћу.

Кернел функција је потребна да испуни следеће услове:

  • Први захтев је да се обезбеди нормализација процене густине језгре.
  • Други захтев је да се КДЕ добро повеже са симетријом простора.

Две популарне функције кернела

Испод су приказане две популарне функције кернела:

  1. Флат Кернел
  2. Гауссиан Кернел
  • На основу употребљене Кернел параме, резултирајућа функција густоће варира. Ако се не спомиње ниједан параметар кернела, подразумевано се позива Гауссиан Кернел. КДЕ користи концепт функције густоће вероватноће која помаже у проналажењу локалних максима дистрибуције података. Алгоритам дјелује тако што податковне тачке привлаче једна другу омогућавајући тачкама података према подручју велике густине.
  • Точке података које покушавају да се приближе локалним максимумима биће исте групе кластера. За разлику од алгоритма кластера К-Меанс, излаз алгоритма средње промене не зависи од претпоставки о облику тачке података и броју кластера. Број кластера биће одређен алгоритмом у односу на податке.
  • Да бисмо извели имплементацију алгоритма Средња промена, користимо питхон пакет СКлеарн.

Примена алгоритма средње промене

Испод је примена алгоритма:

Пример # 1

Заснован на Склеарн Туториал-у за алгоритам средње класе кластера. Први исјечак ће имплементирати средњи алгоритам помака како би пронашао кластере дводимензионалног скупа података. Пакети који се користе за примену алгоритма средње промене.

Шифра:

fromcluster importMeanShift, estimate_bandwidth
from sklearn.datasets.samples_generator import make_blobs as mb
importpyplot as plt
fromitertools import cycle as cy

Једна кључна ствар која се мора напоменути је да ћемо користити склеарнову библиотеку маке_блобс за генерисање тачака података усредсређених на 3 локације. Да бисмо примијенили алгоритам Средњег помака на генерисане тачке, морамо поставити ширину појаса која представља интеракцију између дужине. Склеарнова библиотека има уграђене функције за процену опсега.

Шифра:

#Sample data points
cen = ((1, .75), (-.75, -1), (1, -1)) x_train, _ = mb(n_samples=10000, centers= cen, cluster_std=0.6)
# Bandwidth estimation using in-built function
est_bandwidth = estimate_bandwidth(x_train, quantile=.1,
n_samples=500)
mean_shift = MeanShift(bandwidth= est_bandwidth, bin_seeding=True)
fit(x_train)
ms_labels = mean_shift.labels_
c_centers = ms_labels.cluster_centers_
n_clusters_ = ms_labels.max()+1
# Plot result
figure(1)
clf()
colors = cy('bgrcmykbgrcmykbgrcmykbgrcmyk')
fori, each inzip(range(n_clusters_), colors):
my_members = labels == i
cluster_center = c_centers(k) plot(x_train(my_members, 0), x_train(my_members, 1), each + '.')
plot(cluster_center(0), cluster_center(1),
'o', markerfacecolor=each,
markeredgecolor='k', markersize=14)
title('Estimated cluster numbers: %d'% n_clusters_)
show()

Горњи исјечак врши кластерирање, а алгоритам је пронашао кластере центриране на сваком блобу који смо генерисали. Можемо видети да са доње слике коју је исекао цртеж приказује алгоритам Средње померања који може да идентификује број кластера потребних у времену извођења и утврди одговарајућу ширину опсега који представља дужину интеракције.

Излаз:

Пример бр. 2

На основу сегментације слике у рачунарском виду. Други исјечак ће истражити како се алгоритам Средњег померања користи у Дееп Леарнинг-у за извођење сегментације обојене слике. Ми користимо алгоритам Средње померање да бисмо идентификовали просторне кластере. Ранији исјечак користили смо дводимензионални скуп података док ће у овом примјеру истражити 3-Д простор. Пиксел слике третираће се као тачке података (р, г, б). Морамо претворити слику у формат матрице тако да сваки пиксел представља тачку података на слици коју идемо на сегмент. Кластерирање вредности боја у простору враћа серију кластера, при чему ће пиксели у кластеру бити слични РГБ простору. Пакети који се користе за примену алгоритма Средње промене:

Шифра:

importnumpy as np
fromcluster importMeanShift, estimate_bandwidth
fromdatasets.samples_generator importmake_blobs
importpyplot as plt
fromitertools import cycle
fromPIL import Image

Испод исјечка да бисте извршили сегментацију оригиналне слике:

#Segmentation of Color Image
img = Image.open('Sample.jpg.webp')
img = np.array(img)
#Need to convert image into feature array based
flatten_img=np.reshape(img, (-1, 3))
#bandwidth estimation
est_bandwidth = estimate_bandwidth(flatten_img,
quantile=.2, n_samples=500)
mean_shift = MeanShift(est_bandwidth, bin_seeding=True)
fit(flatten_img)
labels= mean_shift.labels_
# Plot image vs segmented image
figure(2)
subplot(1, 1, 1)
imshow(img)
axis('off')
subplot(1, 1, 2)
imshow(np.reshape(labels, (854, 1224)))
axis('off')

Генерисана слика каже да овај приступ идентификовању облика слика и одређивању просторних кластера може бити ефикасан без било какве обраде слике.

Излаз:

Предности и апликације Алгоритам средњег померања

Испод су предности и примена средњег алгоритма:

  • Широко се користи за решавање рачунарског вида, где се користи за сегментацију слике.
  • Кластерирање података у реалном времену без спомињања броја кластера.
  • Има добар учинак у сегментацији слике и праћењу видео записа.
  • Отпорнији за одметнике.

Предности алгоритма средње промене

Испод је алгоритам промене проса:

  • Излаз алгоритма је независно од иницијализације.
  • Поступак је ефикасан јер има само један параметар - ширину појаса.
  • Нема претпоставки о броју кластера података и облику.
  • Има боље перформансе од К-Меанс Цлустеринг-а.

Слабости алгоритма средњег помака

Испод су недостаци средњег алгоритма помака:

  • Скупо за велике функције.
  • У поређењу са К-Меанс кластерирањем то је веома споро.
  • Излаз алгоритма овиси о опсегу параметара.
  • Излаз зависи од величине прозора.

Закључак

Иако је то израван приступ који се превасходно користио за решавање проблема повезаних са сегментацијом слике, кластерирањем. Он је релативно спорији од К-Меанс-а и рачунски је скуп.

Препоручени чланци

Ово је водич за алгоритам Средње промене. Овде смо расправљали о проблемима у вези са сегментацијом слике, кластерирањем, предностима и две функције кернела. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -

  1. К- значи алгоритам кластерирања
  2. КНН алгоритам у Р
  3. Шта је генетски алгоритам?
  4. Кернел Метходс
  5. Кернел Методе у машинском учењу
  6. Детаљно Објашњење алгоритма Ц ++